MkActivitiesGetOneFreeGoodsServiceImpl.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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.BuyOneGetOneFreeDto;
  5. import com.kmall.admin.dto.FreeGoodsDto;
  6. import com.kmall.admin.entity.GoodsEntity;
  7. import com.kmall.admin.entity.MkActivitiesFullGiftEntity;
  8. import com.kmall.common.utils.*;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.math.BigDecimal;
  12. import java.util.List;
  13. import java.util.Map;
  14. import com.kmall.admin.dao.MkActivitiesGetOneFreeGoodsDao;
  15. import com.kmall.admin.entity.MkActivitiesGetOneFreeGoodsEntity;
  16. import com.kmall.admin.service.MkActivitiesGetOneFreeGoodsService;
  17. import org.springframework.transaction.annotation.Transactional;
  18. /**
  19. * 营销活动--买一送
  20. 说明:购买商品条码,购买商品品牌,购买商品系列三列不可以同是为空Service实现类
  21. *
  22. * @author emato
  23. * @email admin@qhdswl.com
  24. * @date 2020-09-23 10:43:25
  25. */
  26. @Service("mkActivitiesGetOneFreeGoodsService")
  27. public class MkActivitiesGetOneFreeGoodsServiceImpl implements MkActivitiesGetOneFreeGoodsService {
  28. @Autowired
  29. private GoodsDao goodsDao;
  30. @Autowired
  31. private MkActivitiesGetOneFreeGoodsDao mkActivitiesGetOneFreeGoodsDao;
  32. @Override
  33. public MkActivitiesGetOneFreeGoodsEntity queryObject(Long mkaFreeId) {
  34. return mkActivitiesGetOneFreeGoodsDao.queryObject(mkaFreeId);
  35. }
  36. @Override
  37. public List<MkActivitiesGetOneFreeGoodsEntity> queryList(Map<String, Object> map) {
  38. return mkActivitiesGetOneFreeGoodsDao.queryList(map);
  39. }
  40. @Override
  41. public int queryTotal(Map<String, Object> map) {
  42. return mkActivitiesGetOneFreeGoodsDao.queryTotal(map);
  43. }
  44. @Override
  45. public int save(MkActivitiesGetOneFreeGoodsEntity mkActivitiesGetOneFreeGoods) {
  46. GoodsEntity goodsEntity = goodsDao.queryBySku(mkActivitiesGetOneFreeGoods.getGoodsSn());
  47. if(!StringUtils.isNullOrEmpty(goodsEntity)){
  48. mkActivitiesGetOneFreeGoods.setProductName(goodsEntity.getName());
  49. }
  50. return mkActivitiesGetOneFreeGoodsDao.save(mkActivitiesGetOneFreeGoods);
  51. }
  52. @Override
  53. public int update(MkActivitiesGetOneFreeGoodsEntity mkActivitiesGetOneFreeGoods) {
  54. return mkActivitiesGetOneFreeGoodsDao.update(mkActivitiesGetOneFreeGoods);
  55. }
  56. @Override
  57. public int delete(Long mkaFreeId) {
  58. return mkActivitiesGetOneFreeGoodsDao.delete(mkaFreeId);
  59. }
  60. @Override
  61. public int deleteBatch(Long[]mkaFreeIds) {
  62. return mkActivitiesGetOneFreeGoodsDao.deleteBatch(mkaFreeIds);
  63. }
  64. /**
  65. * 上传活动商品
  66. *
  67. * @param buyOneGetOneFreeDtoList
  68. * @param storeId
  69. * @param mkaId
  70. */
  71. @Override
  72. @Transactional
  73. public void uploadExcel(List<BuyOneGetOneFreeDto> buyOneGetOneFreeDtoList, String storeId, String mkaId) {
  74. // TODO 查询所有的品牌
  75. if (buyOneGetOneFreeDtoList != null && buyOneGetOneFreeDtoList.size() > 0) {
  76. for (int i = 0; i < buyOneGetOneFreeDtoList.size(); i++) {
  77. BuyOneGetOneFreeDto buyOneGetOneFreeDto = buyOneGetOneFreeDtoList.get(i);
  78. Map<String, Object> valideDate = MapBeanUtil.fromObject(buyOneGetOneFreeDto);
  79. // 校验excel传入的数据
  80. ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
  81. builder.put("storeId", "门店编号");
  82. builder.put("buyGoodsSn", "商品编码");
  83. builder.put("buyBarCode", "商品条码");
  84. builder.put("buyNum", "购买数量");
  85. // builder.put("buyBrand", "商品品牌");
  86. builder.put("sendBarCode", "赠送商品条码");
  87. R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
  88. if (Integer.valueOf(r.get("code").toString()) != 0) {
  89. throw new RRException(r.get("msg").toString());
  90. }
  91. // MkActivitiesGetOneFreeGoodsEntity old = mkActivitiesGetOneFreeGoodsDao.queryByCodeOrBrand(Long.parseLong(mkaId), buyOneGetOneFreeDto.getBuyBarCode(), buyOneGetOneFreeDto.getBuyBrand());
  92. // if(old != null){
  93. // throw new RRException("该商品或者该品牌已经参与本次活动,商品{"+buyOneGetOneFreeDto.getBuyBarCode()+"},品牌,{"+buyOneGetOneFreeDto.getBuyBrand()+"}",500);
  94. // }
  95. // 保存日常活动商品
  96. MkActivitiesGetOneFreeGoodsEntity mkActivitiesGetOneFreeGoodsEntity = new MkActivitiesGetOneFreeGoodsEntity();
  97. mkActivitiesGetOneFreeGoodsEntity.setGoodsSn(buyOneGetOneFreeDto.getBuyGoodsSn()); // 商品编号
  98. mkActivitiesGetOneFreeGoodsEntity.setBarcode(buyOneGetOneFreeDto.getBuyBarCode()); // 商品条码
  99. mkActivitiesGetOneFreeGoodsEntity.setBuyNum(Integer.valueOf(buyOneGetOneFreeDto.getBuyNum())); // 购买数量
  100. mkActivitiesGetOneFreeGoodsEntity.setProductBrand(buyOneGetOneFreeDto.getBuyBrand()); // 商品品牌
  101. mkActivitiesGetOneFreeGoodsEntity.setGiftBarcode(buyOneGetOneFreeDto.getSendBarCode()); // 赠送商品条码
  102. mkActivitiesGetOneFreeGoodsEntity.setShopSn(storeId); // 门店编号
  103. mkActivitiesGetOneFreeGoodsEntity.setMkaId(Long.parseLong(mkaId));
  104. GoodsEntity goodsEntity = goodsDao.queryBySku(buyOneGetOneFreeDto.getBuyBarCode());
  105. if(!StringUtils.isNullOrEmpty(goodsEntity)){
  106. mkActivitiesGetOneFreeGoodsEntity.setProductName(goodsEntity.getName()); //产品中文名
  107. }
  108. mkActivitiesGetOneFreeGoodsDao.save(mkActivitiesGetOneFreeGoodsEntity);
  109. }
  110. }
  111. }
  112. /**
  113. * 根据条码跟品牌名称查询
  114. *
  115. * @param mkaId
  116. * @param prodBarcode
  117. * @param brandName
  118. * @return
  119. */
  120. @Override
  121. public MkActivitiesGetOneFreeGoodsEntity queryByCodeOrBrand(Long mkaId, String prodBarcode, String brandName) {
  122. return mkActivitiesGetOneFreeGoodsDao.queryByCodeOrBrand(mkaId,prodBarcode,brandName);
  123. }
  124. }