1
0

MkActivitiesPromotionServiceImpl.java 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package com.kmall.admin.service.impl;
  2. import com.google.common.collect.ImmutableBiMap;
  3. import com.kmall.admin.dto.TemporaryPromotionalItemsDto;
  4. import com.kmall.common.utils.MapBeanUtil;
  5. import com.kmall.common.utils.R;
  6. import com.kmall.common.utils.RRException;
  7. import com.kmall.common.utils.ValidatorUtil;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import java.math.BigDecimal;
  11. import java.util.List;
  12. import java.util.Map;
  13. import com.kmall.admin.dao.MkActivitiesPromotionDao;
  14. import com.kmall.admin.entity.MkActivitiesPromotionEntity;
  15. import com.kmall.admin.service.MkActivitiesPromotionService;
  16. import org.springframework.transaction.annotation.Transactional;
  17. /**
  18. * 营销活动-临时促销Service实现类
  19. *
  20. * @author emato
  21. * @email admin@qhdswl.com
  22. * @date 2020-09-23 10:43:25
  23. */
  24. @Service("mkActivitiesPromotionService")
  25. public class MkActivitiesPromotionServiceImpl implements MkActivitiesPromotionService {
  26. @Autowired
  27. private MkActivitiesPromotionDao mkActivitiesPromotionDao;
  28. @Override
  29. public MkActivitiesPromotionEntity queryObject(Long mapId) {
  30. return mkActivitiesPromotionDao.queryObject(mapId);
  31. }
  32. @Override
  33. public List<MkActivitiesPromotionEntity> queryList(Map<String, Object> map) {
  34. return mkActivitiesPromotionDao.queryList(map);
  35. }
  36. @Override
  37. public int queryTotal(Map<String, Object> map) {
  38. return mkActivitiesPromotionDao.queryTotal(map);
  39. }
  40. @Override
  41. public int save(MkActivitiesPromotionEntity mkActivitiesPromotion) {
  42. return mkActivitiesPromotionDao.save(mkActivitiesPromotion);
  43. }
  44. @Override
  45. public int update(MkActivitiesPromotionEntity mkActivitiesPromotion) {
  46. return mkActivitiesPromotionDao.update(mkActivitiesPromotion);
  47. }
  48. @Override
  49. public int delete(Long mapId) {
  50. return mkActivitiesPromotionDao.delete(mapId);
  51. }
  52. @Override
  53. public int deleteBatch(Long[]mapIds) {
  54. return mkActivitiesPromotionDao.deleteBatch(mapIds);
  55. }
  56. /**
  57. * 上传活动商品
  58. * @param temporaryPromotionalItemsDtoList
  59. * @param storeId
  60. * @param mkaId
  61. */
  62. @Override
  63. @Transactional
  64. public void uploadExcel(List<TemporaryPromotionalItemsDto> temporaryPromotionalItemsDtoList, String storeId, String mkaId) {
  65. if (temporaryPromotionalItemsDtoList != null && temporaryPromotionalItemsDtoList.size() > 0) {
  66. for (int i = 0; i < temporaryPromotionalItemsDtoList.size(); i++) {
  67. TemporaryPromotionalItemsDto temporaryPromotionalItemsDto = temporaryPromotionalItemsDtoList.get(i);
  68. Map<String, Object> valideDate = MapBeanUtil.fromObject(temporaryPromotionalItemsDto);
  69. // 校验excel传入的数据
  70. ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
  71. builder.put("storeId", "门店编号");
  72. builder.put("sku", "商品SKU");
  73. builder.put("barCode", "商品条码");
  74. builder.put("goodsName", "产品名称");
  75. builder.put("goodsEnglishName", "产品英文名称");
  76. builder.put("rejectScore", "是否参与积分抵扣");
  77. builder.put("activitiesPrice", "活动价格");
  78. builder.put("deadline", "截止日期");
  79. R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
  80. if (Integer.valueOf(r.get("code").toString()) != 0) {
  81. throw new RRException(r.get("msg").toString());
  82. }
  83. // MkActivitiesPromotionEntity old = mkActivitiesPromotionDao.queryByBarCode(mkaId, temporaryPromotionalItemsDto.getBarCode());
  84. // if(old != null){
  85. // throw new RRException("该商品已经参与本次活动,商品{"+temporaryPromotionalItemsDto.getBarCode()+"}",500);
  86. // }
  87. // 保存日常活动商品
  88. MkActivitiesPromotionEntity mkActivitiesPromotionEntity = new MkActivitiesPromotionEntity();
  89. mkActivitiesPromotionEntity.setProductName(temporaryPromotionalItemsDto.getGoodsName()); // 商品名称
  90. mkActivitiesPromotionEntity.setActivityPrice(new BigDecimal(temporaryPromotionalItemsDto.getActivitiesPrice())); // 活动价
  91. mkActivitiesPromotionEntity.setShopSn(storeId); // 门店编号
  92. mkActivitiesPromotionEntity.setSku(temporaryPromotionalItemsDto.getSku()); // 商品编号
  93. mkActivitiesPromotionEntity.setBarcode(temporaryPromotionalItemsDto.getBarCode()); // 商品条码
  94. mkActivitiesPromotionEntity.setRejectScore(temporaryPromotionalItemsDto.getRejectScore());
  95. mkActivitiesPromotionEntity.setDeadline(temporaryPromotionalItemsDto.getDeadline());// 商品截止日期
  96. mkActivitiesPromotionEntity.setMkaId(Long.parseLong(mkaId));
  97. mkActivitiesPromotionDao.save(mkActivitiesPromotionEntity);
  98. }
  99. }
  100. }
  101. /**
  102. * 根据条码查询日常活动价格
  103. *
  104. * @param mkaId
  105. * @param prodBarcode
  106. * @return
  107. */
  108. @Override
  109. public MkActivitiesPromotionEntity queryByBarCode(String mkaId, String prodBarcode) {
  110. return mkActivitiesPromotionDao.queryByBarCode(mkaId,prodBarcode);
  111. }
  112. /**
  113. * 根据条码,门店,当前时间查询
  114. *
  115. * @param storeId
  116. * @param format
  117. * @param lscx
  118. * @param prodBarcode
  119. * @return
  120. */
  121. @Override
  122. public MkActivitiesPromotionEntity queryByDateAndBarcode(String storeId, String format, String lscx, String prodBarcode) {
  123. return mkActivitiesPromotionDao.queryByDateAndBarcode(storeId,format,lscx,prodBarcode);
  124. }
  125. /**
  126. * 根据sku和活动id批量修改价格
  127. *
  128. * @param updatePrice
  129. * @param sku
  130. * @param mkaId
  131. */
  132. @Override
  133. public void updatePriceBySku(String updatePrice, String sku, Long mkaId) {
  134. mkActivitiesPromotionDao.updatePriceBySku(updatePrice,sku,mkaId);
  135. }
  136. /**
  137. * 查询活动id对应的限时特价活动规则
  138. *
  139. * @param mkaId 活动id
  140. * @param storeId 门店id
  141. * @return 限时特价活动规则
  142. */
  143. @Override
  144. public List<MkActivitiesPromotionEntity> queryListByMkaIdAndStoreId(int mkaId, String storeId) {
  145. return mkActivitiesPromotionDao.queryListByMkaIdAndStoreId(mkaId, storeId);
  146. }
  147. }