1
0

MkActivitiesDiscountServiceImpl.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package com.kmall.admin.service.impl;
  2. import com.google.common.collect.ImmutableBiMap;
  3. import com.kmall.admin.dto.DiscountedProductsDto;
  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.MkActivitiesDiscountDao;
  14. import com.kmall.admin.entity.MkActivitiesDiscountEntity;
  15. import com.kmall.admin.service.MkActivitiesDiscountService;
  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("mkActivitiesDiscountService")
  25. public class MkActivitiesDiscountServiceImpl implements MkActivitiesDiscountService {
  26. @Autowired
  27. private MkActivitiesDiscountDao mkActivitiesDiscountDao;
  28. @Override
  29. public MkActivitiesDiscountEntity queryObject(Long madId) {
  30. return mkActivitiesDiscountDao.queryObject(madId);
  31. }
  32. @Override
  33. public List<MkActivitiesDiscountEntity> queryList(Map<String, Object> map) {
  34. return mkActivitiesDiscountDao.queryList(map);
  35. }
  36. @Override
  37. public int queryTotal(Map<String, Object> map) {
  38. return mkActivitiesDiscountDao.queryTotal(map);
  39. }
  40. @Override
  41. public int save(MkActivitiesDiscountEntity mkActivitiesDiscount) {
  42. return mkActivitiesDiscountDao.save(mkActivitiesDiscount);
  43. }
  44. @Override
  45. public int update(MkActivitiesDiscountEntity mkActivitiesDiscount) {
  46. return mkActivitiesDiscountDao.update(mkActivitiesDiscount);
  47. }
  48. @Override
  49. public int delete(Long madId) {
  50. return mkActivitiesDiscountDao.delete(madId);
  51. }
  52. @Override
  53. public int deleteBatch(Long[]madIds) {
  54. return mkActivitiesDiscountDao.deleteBatch(madIds);
  55. }
  56. /**
  57. * 上传活动商品
  58. *
  59. * @param discountedProductsDtoList
  60. * @param storeId
  61. * @param mkaId
  62. */
  63. @Override
  64. @Transactional
  65. public void uploadExcel(List<DiscountedProductsDto> discountedProductsDtoList, String storeId, String mkaId) {
  66. if (discountedProductsDtoList != null && discountedProductsDtoList.size() > 0) {
  67. for (int i = 0; i < discountedProductsDtoList.size(); i++) {
  68. DiscountedProductsDto discountedProductsDto = discountedProductsDtoList.get(i);
  69. Map<String, Object> valideDate = MapBeanUtil.fromObject(discountedProductsDto);
  70. // 校验excel传入的数据
  71. ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
  72. builder.put("storeId", "门店编号");
  73. builder.put("goodsSn", "商品编码");
  74. builder.put("barCode", "商品条码");
  75. builder.put("goodsName", "产品名称");
  76. builder.put("goodsEnglishName", "产品英文名称");
  77. builder.put("discountPrice", "折扣价格");
  78. R r = ValidatorUtil.isEmpty(builder.build(), valideDate);
  79. if (Integer.valueOf(r.get("code").toString()) != 0) {
  80. throw new RRException(r.get("msg").toString());
  81. }
  82. MkActivitiesDiscountEntity old = mkActivitiesDiscountDao.queryByBarCode(mkaId, discountedProductsDto.getBarCode());
  83. if(old != null){
  84. throw new RRException("该商品已经参与本次活动,商品{"+discountedProductsDto.getBarCode()+"}",500);
  85. }
  86. // 保存日常活动商品
  87. MkActivitiesDiscountEntity mkActivitiesDiscountEntity = new MkActivitiesDiscountEntity();
  88. mkActivitiesDiscountEntity.setProductName(discountedProductsDto.getGoodsName()); // 商品名称
  89. mkActivitiesDiscountEntity.setActivityPrice(new BigDecimal(discountedProductsDto.getDiscountPrice())); // 活动价
  90. mkActivitiesDiscountEntity.setShopSn(storeId); // 门店编号
  91. mkActivitiesDiscountEntity.setGoodsSn(discountedProductsDto.getGoodsSn()); // 商品编号
  92. mkActivitiesDiscountEntity.setBarcode(discountedProductsDto.getBarCode()); // 商品条码
  93. mkActivitiesDiscountEntity.setMkaId(Long.parseLong(mkaId));
  94. mkActivitiesDiscountDao.save(mkActivitiesDiscountEntity);
  95. }
  96. }
  97. }
  98. /**
  99. * 根据条形码与营销活动id查询
  100. *
  101. * @param mkaId
  102. * @param prodBarcode
  103. * @return
  104. */
  105. @Override
  106. public MkActivitiesDiscountEntity queryByBarCode(String mkaId, String prodBarcode) {
  107. return mkActivitiesDiscountDao.queryByBarCode(mkaId,prodBarcode);
  108. }
  109. }