MkActivitiesGetOneFreeGoodsServiceImpl.java 5.9 KB

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