MkActivitiesCouponServiceImpl.java 5.1 KB

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