MkDailyActivitiesServiceImpl.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package com.kmall.admin.service.impl;
  2. import com.google.common.collect.ImmutableBiMap;
  3. import com.kmall.admin.dto.DailyPriceGoodsDto;
  4. import com.kmall.admin.entity.MkActivitiesPromotionEntity;
  5. import com.kmall.common.utils.MapBeanUtil;
  6. import com.kmall.common.utils.R;
  7. import com.kmall.common.utils.RRException;
  8. import com.kmall.common.utils.ValidatorUtil;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.math.BigDecimal;
  12. import java.text.DecimalFormat;
  13. import java.text.ParseException;
  14. import java.text.SimpleDateFormat;
  15. import java.util.List;
  16. import java.util.Map;
  17. import com.kmall.admin.dao.MkDailyActivitiesDao;
  18. import com.kmall.admin.entity.MkDailyActivitiesEntity;
  19. import com.kmall.admin.service.MkDailyActivitiesService;
  20. import org.springframework.transaction.annotation.Transactional;
  21. /**
  22. * 营销活动-日常活动Service实现类
  23. *
  24. * @author emato
  25. * @email admin@qhdswl.com
  26. * @date 2020-09-23 10:43:26
  27. */
  28. @Service("mkDailyActivitiesService")
  29. public class MkDailyActivitiesServiceImpl implements MkDailyActivitiesService {
  30. @Autowired
  31. private MkDailyActivitiesDao mkDailyActivitiesDao;
  32. @Override
  33. public MkDailyActivitiesEntity queryObject(Long mdaId) {
  34. return mkDailyActivitiesDao.queryObject(mdaId);
  35. }
  36. @Override
  37. public List<MkDailyActivitiesEntity> queryList(Map<String, Object> map) {
  38. return mkDailyActivitiesDao.queryList(map);
  39. }
  40. @Override
  41. public int queryTotal(Map<String, Object> map) {
  42. return mkDailyActivitiesDao.queryTotal(map);
  43. }
  44. @Override
  45. public int save(MkDailyActivitiesEntity mkDailyActivities) {
  46. return mkDailyActivitiesDao.save(mkDailyActivities);
  47. }
  48. @Override
  49. public int update(MkDailyActivitiesEntity mkDailyActivities) {
  50. return mkDailyActivitiesDao.update(mkDailyActivities);
  51. }
  52. @Override
  53. public int delete(Long mdaId) {
  54. return mkDailyActivitiesDao.delete(mdaId);
  55. }
  56. @Override
  57. public int deleteBatch(Long[]mdaIds) {
  58. return mkDailyActivitiesDao.deleteBatch(mdaIds);
  59. }
  60. /**
  61. * 上传活动商品
  62. * @param dailyPriceGoodsDtoList
  63. * @param storeId
  64. * @param mkaId
  65. */
  66. @Override
  67. @Transactional
  68. public void uploadExcel(List<DailyPriceGoodsDto> dailyPriceGoodsDtoList, String storeId, String mkaId) throws ParseException {
  69. if (dailyPriceGoodsDtoList != null && dailyPriceGoodsDtoList.size() > 0) {
  70. for (int i = 0; i < dailyPriceGoodsDtoList.size(); i++) {
  71. DailyPriceGoodsDto dailyPriceGoodsDto = dailyPriceGoodsDtoList.get(i);
  72. Map<String, Object> valideDate = MapBeanUtil.fromObject(dailyPriceGoodsDto);
  73. // 校验excel传入的数据
  74. ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
  75. builder.put("storeId", "门店编号");
  76. builder.put("goodsSn", "商品编码");
  77. builder.put("barCode", "商品条码");
  78. builder.put("goodsName", "产品名称");
  79. builder.put("goodsEnglishName", "产品英文名称");
  80. builder.put("daliyPrice", "日常价格");
  81. builder.put("activitiesPrice", "活动价格");
  82. builder.put("deadline", "截止日期");
  83. R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
  84. if (Integer.valueOf(r.get("code").toString()) != 0) {
  85. throw new RRException(r.get("msg").toString());
  86. }
  87. MkDailyActivitiesEntity old = mkDailyActivitiesDao.queryByBarCode(Long.parseLong(mkaId), dailyPriceGoodsDto.getBarCode());
  88. if(old != null){
  89. throw new RRException("该商品已经参与本次活动,商品{"+dailyPriceGoodsDto.getBarCode()+"}",500);
  90. }
  91. // 保存日常活动商品
  92. MkDailyActivitiesEntity mkDailyActivitiesEntity = new MkDailyActivitiesEntity();
  93. mkDailyActivitiesEntity.setProductName(dailyPriceGoodsDto.getGoodsName()); // 商品名称
  94. mkDailyActivitiesEntity.setDailyPrice(new BigDecimal(dailyPriceGoodsDto.getDaliyPrice())); // 日常价
  95. mkDailyActivitiesEntity.setActivityPrice(new BigDecimal(dailyPriceGoodsDto.getActivitiesPrice())); // 活动价
  96. mkDailyActivitiesEntity.setGoodsSn(dailyPriceGoodsDto.getGoodsSn()); // 商品编号
  97. mkDailyActivitiesEntity.setBarcode(dailyPriceGoodsDto.getBarCode()); // 商品条码
  98. mkDailyActivitiesEntity.setDeadline(dailyPriceGoodsDto.getDeadline());// 商品截止日期
  99. mkDailyActivitiesEntity.setShopSn(storeId); // 门店编号
  100. mkDailyActivitiesEntity.setMkaId(Long.parseLong(mkaId));
  101. mkDailyActivitiesDao.save(mkDailyActivitiesEntity);
  102. }
  103. }
  104. }
  105. /**
  106. * 根据条码查询日常活动价格
  107. *
  108. * @param mkaId
  109. * @param prodBarcode
  110. * @return
  111. */
  112. @Override
  113. public MkDailyActivitiesEntity queryByBarCode(Long mkaId, String prodBarcode) {
  114. return mkDailyActivitiesDao.queryByBarCode(mkaId,prodBarcode);
  115. }
  116. }