MkActivitiesFullGiftServiceImpl.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.kmall.admin.service.impl;
  2. import com.google.common.collect.ImmutableBiMap;
  3. import com.kmall.admin.dao.GoodsDao;
  4. import com.kmall.admin.dto.FreeGoodsDto;
  5. import com.kmall.admin.entity.GoodsEntity;
  6. import com.kmall.common.utils.*;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Service;
  9. import java.math.BigDecimal;
  10. import java.text.SimpleDateFormat;
  11. import java.util.Date;
  12. import java.util.List;
  13. import java.util.Map;
  14. import com.kmall.admin.dao.MkActivitiesFullGiftDao;
  15. import com.kmall.admin.entity.MkActivitiesFullGiftEntity;
  16. import com.kmall.admin.service.MkActivitiesFullGiftService;
  17. import org.springframework.transaction.annotation.Transactional;
  18. /**
  19. * 营销活动-满赠Service实现类
  20. *
  21. * @author emato
  22. * @email admin@qhdswl.com
  23. * @date 2020-09-23 10:43:25
  24. */
  25. @Service("mkActivitiesFullGiftService")
  26. public class MkActivitiesFullGiftServiceImpl implements MkActivitiesFullGiftService {
  27. @Autowired
  28. private GoodsDao goodsDao;
  29. @Autowired
  30. private MkActivitiesFullGiftDao mkActivitiesFullGiftDao;
  31. @Override
  32. public MkActivitiesFullGiftEntity queryObject(Long mafrId) {
  33. return mkActivitiesFullGiftDao.queryObject(mafrId);
  34. }
  35. @Override
  36. public List<MkActivitiesFullGiftEntity> queryList(Map<String, Object> map) {
  37. return mkActivitiesFullGiftDao.queryList(map);
  38. }
  39. @Override
  40. public int queryTotal(Map<String, Object> map) {
  41. return mkActivitiesFullGiftDao.queryTotal(map);
  42. }
  43. @Override
  44. public int save(MkActivitiesFullGiftEntity mkActivitiesFullGift) {
  45. GoodsEntity goodsEntity = goodsDao.queryBySku(mkActivitiesFullGift.getGoodsSn());
  46. if(!StringUtils.isNullOrEmpty(goodsEntity)){
  47. mkActivitiesFullGift.setProductName(goodsEntity.getName()); //产品中文名
  48. }
  49. return mkActivitiesFullGiftDao.save(mkActivitiesFullGift);
  50. }
  51. @Override
  52. public int update(MkActivitiesFullGiftEntity mkActivitiesFullGift) {
  53. return mkActivitiesFullGiftDao.update(mkActivitiesFullGift);
  54. }
  55. @Override
  56. public int delete(Long mafrId) {
  57. return mkActivitiesFullGiftDao.delete(mafrId);
  58. }
  59. @Override
  60. public int deleteBatch(Long[]mafrIds) {
  61. return mkActivitiesFullGiftDao.deleteBatch(mafrIds);
  62. }
  63. /**
  64. * 上传活动商品
  65. *
  66. * @param freeGoodsDtoList
  67. * @param storeId
  68. * @param mkaId
  69. */
  70. @Override
  71. @Transactional
  72. public void uploadExcel(List<FreeGoodsDto> freeGoodsDtoList, String storeId, String mkaId) {
  73. // TODO 查询所有的品牌
  74. if (freeGoodsDtoList != null && freeGoodsDtoList.size() > 0) {
  75. for (int i = 0; i < freeGoodsDtoList.size(); i++) {
  76. FreeGoodsDto freeGoodsDto = freeGoodsDtoList.get(i);
  77. Map<String, Object> valideDate = MapBeanUtil.fromObject(freeGoodsDto);
  78. // 校验excel传入的数据
  79. ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
  80. builder.put("storeId", "门店编号");
  81. builder.put("fullReductionPrice", "满赠达到金额");
  82. builder.put("brand", "商品品牌");
  83. builder.put("goodsSn", "商品编码");
  84. builder.put("barCode", "商品条码");
  85. builder.put("sendGoodsSn", "赠送商品编号");
  86. builder.put("sendBarCode", "赠送商品条码");
  87. builder.put("deadline", "截止日期");
  88. R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
  89. if (Integer.valueOf(r.get("code").toString()) != 0) {
  90. throw new RRException(r.get("msg").toString());
  91. }
  92. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  93. String nowTime = format.format(new Date());
  94. // MkActivitiesFullGiftEntity old = mkActivitiesFullGiftDao.queryByCodeOrBrand(Long.parseLong(mkaId),freeGoodsDto.getBarCode(),freeGoodsDto.getBrand(),nowTime);
  95. // if(old != null){
  96. // throw new RRException("该商品或者该品牌已经参与本次活动,商品{"+freeGoodsDto.getBarCode()+"},品牌,{"+freeGoodsDto.getBrand()+"}",500);
  97. // }
  98. // 保存日常活动商品
  99. MkActivitiesFullGiftEntity mkActivitiesFullGiftEntity = new MkActivitiesFullGiftEntity();
  100. mkActivitiesFullGiftEntity.setQualifiedAmount(new BigDecimal(freeGoodsDto.getFullReductionPrice())); // 满赠达到金额
  101. mkActivitiesFullGiftEntity.setGiftBarcode(freeGoodsDto.getSendBarCode()); // 赠送商品条码
  102. mkActivitiesFullGiftEntity.setGiftGoodsSn(freeGoodsDto.getSendGoodsSn()); // 赠送商品编号
  103. mkActivitiesFullGiftEntity.setProductBrand(freeGoodsDto.getBrand()); // 商品品牌
  104. mkActivitiesFullGiftEntity.setGoodsSn(freeGoodsDto.getGoodsSn()); // 商品编号
  105. mkActivitiesFullGiftEntity.setBarcode(freeGoodsDto.getBarCode()); // 商品条码
  106. mkActivitiesFullGiftEntity.setDeadline(freeGoodsDto.getDeadline());
  107. mkActivitiesFullGiftEntity.setShopSn(storeId); // 门店编号
  108. mkActivitiesFullGiftEntity.setMkaId(Long.parseLong(mkaId)); // 商品截止日期
  109. GoodsEntity goodsEntity = goodsDao.queryBySku(freeGoodsDto.getGoodsSn());
  110. if(!StringUtils.isNullOrEmpty(goodsEntity)){
  111. mkActivitiesFullGiftEntity.setProductName(goodsEntity.getName()); //产品中文名
  112. }
  113. mkActivitiesFullGiftDao.save(mkActivitiesFullGiftEntity);
  114. }
  115. }
  116. }
  117. /**
  118. * 根据品牌、条形码、当前时间查询是否有满赠的商品条码
  119. *
  120. * @param mkaId
  121. * @param prodBarcode
  122. * @param brandName
  123. * @param nowTime
  124. * @return
  125. */
  126. @Override
  127. public MkActivitiesFullGiftEntity queryByCodeOrBrand(String mkaId, String prodBarcode, String brandName, String nowTime) {
  128. return mkActivitiesFullGiftDao.queryByCodeOrBrand(mkaId,prodBarcode,brandName,nowTime);
  129. }
  130. }