Commit fdaf5e50ca39367377c9225924ac47606d951598

Authored by puhui999
1 parent 81e38666

【代码优化】商城: 满减送活动

yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/RewardActivityController.java
... ... @@ -2,23 +2,22 @@ package cn.iocoder.yudao.module.promotion.controller.admin.reward;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
5 6 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityCreateReqVO;
6 7 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityPageReqVO;
7 8 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityRespVO;
8 9 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityUpdateReqVO;
9   -import cn.iocoder.yudao.module.promotion.convert.reward.RewardActivityConvert;
10 10 import cn.iocoder.yudao.module.promotion.dal.dataobject.reward.RewardActivityDO;
11 11 import cn.iocoder.yudao.module.promotion.service.reward.RewardActivityService;
12 12 import io.swagger.v3.oas.annotations.Operation;
13 13 import io.swagger.v3.oas.annotations.Parameter;
14 14 import io.swagger.v3.oas.annotations.tags.Tag;
  15 +import jakarta.annotation.Resource;
  16 +import jakarta.validation.Valid;
15 17 import org.springframework.security.access.prepost.PreAuthorize;
16 18 import org.springframework.validation.annotation.Validated;
17 19 import org.springframework.web.bind.annotation.*;
18 20  
19   -import jakarta.annotation.Resource;
20   -import jakarta.validation.Valid;
21   -
22 21 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
23 22  
24 23 @Tag(name = "管理后台 - 满减送活动")
... ... @@ -69,7 +68,7 @@ public class RewardActivityController {
69 68 @PreAuthorize("@ss.hasPermission('promotion:reward-activity:query')")
70 69 public CommonResult<RewardActivityRespVO> getRewardActivity(@RequestParam("id") Long id) {
71 70 RewardActivityDO rewardActivity = rewardActivityService.getRewardActivity(id);
72   - return success(RewardActivityConvert.INSTANCE.convert(rewardActivity));
  71 + return success(BeanUtils.toBean(rewardActivity, RewardActivityRespVO.class));
73 72 }
74 73  
75 74 @GetMapping("/page")
... ... @@ -77,7 +76,7 @@ public class RewardActivityController {
77 76 @PreAuthorize("@ss.hasPermission('promotion:reward-activity:query')")
78 77 public CommonResult<PageResult<RewardActivityRespVO>> getRewardActivityPage(@Valid RewardActivityPageReqVO pageVO) {
79 78 PageResult<RewardActivityDO> pageResult = rewardActivityService.getRewardActivityPage(pageVO);
80   - return success(RewardActivityConvert.INSTANCE.convertPage(pageResult));
  79 + return success(BeanUtils.toBean(pageResult, RewardActivityRespVO.class));
81 80 }
82 81  
83 82 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/reward/vo/RewardActivityBaseVO.java
... ... @@ -79,13 +79,13 @@ public class RewardActivityBaseVO {
79 79 @Schema(description = "赠送的积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
80 80 private Integer point;
81 81  
82   - @Schema(description = "赠送的优惠劵编号的数组", example = "1,2,3")
83   - private Map<Long, Integer> giveCouponsMap;
  82 + @Schema(description = "赠送的优惠劵编号的数组")
  83 + private Map<Long, Integer> giveCoupons;
84 84  
85   - @AssertTrue(message = "赠送的积分不能小于 1")
  85 + @AssertTrue(message = "赠送的积分不能小于 0")
86 86 @JsonIgnore
87 87 public boolean isPointValid() {
88   - return point == null || point >= 1;
  88 + return point == null || point >= 0;
89 89 }
90 90  
91 91 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/reward/RewardActivityConvert.java
1 1 package cn.iocoder.yudao.module.promotion.convert.reward;
2 2  
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityCreateReqVO;
5   -import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityRespVO;
6   -import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityUpdateReqVO;
7   -import cn.iocoder.yudao.module.promotion.dal.dataobject.reward.RewardActivityDO;
8 3 import org.mapstruct.Mapper;
9 4 import org.mapstruct.factory.Mappers;
10 5  
... ... @@ -18,12 +13,4 @@ public interface RewardActivityConvert {
18 13  
19 14 RewardActivityConvert INSTANCE = Mappers.getMapper(RewardActivityConvert.class);
20 15  
21   - RewardActivityDO convert(RewardActivityCreateReqVO bean);
22   -
23   - RewardActivityDO convert(RewardActivityUpdateReqVO bean);
24   -
25   - RewardActivityRespVO convert(RewardActivityDO bean);
26   -
27   - PageResult<RewardActivityRespVO> convertPage(PageResult<RewardActivityDO> page);
28   -
29 16 }
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/reward/RewardActivityDO.java
... ... @@ -107,9 +107,9 @@ public class RewardActivityDO extends BaseDO {
107 107 /**
108 108 * 赠送的优惠劵
109 109 *
110   - * key: 优惠劵编号,value:对应的优惠券数量
  110 + * key: 优惠劵模版编号,value:对应的数量
111 111 */
112   - private Map<Long, Integer> giveCouponsMap;
  112 + private Map<Long, Integer> giveCoupons;
113 113  
114 114 }
115 115  
... ...
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/reward/RewardActivityServiceImpl.java
... ... @@ -10,7 +10,6 @@ import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivi
10 10 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityCreateReqVO;
11 11 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityPageReqVO;
12 12 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityUpdateReqVO;
13   -import cn.iocoder.yudao.module.promotion.convert.reward.RewardActivityConvert;
14 13 import cn.iocoder.yudao.module.promotion.dal.dataobject.reward.RewardActivityDO;
15 14 import cn.iocoder.yudao.module.promotion.dal.mysql.reward.RewardActivityMapper;
16 15 import cn.iocoder.yudao.module.promotion.enums.common.PromotionProductScopeEnum;
... ... @@ -54,7 +53,7 @@ public class RewardActivityServiceImpl implements RewardActivityService {
54 53 validateRewardActivitySpuConflicts(null, createReqVO);
55 54  
56 55 // 2. 插入
57   - RewardActivityDO rewardActivity = RewardActivityConvert.INSTANCE.convert(createReqVO)
  56 + RewardActivityDO rewardActivity = BeanUtils.toBean(createReqVO, RewardActivityDO.class)
58 57 .setStatus(PromotionUtils.calculateActivityStatus(createReqVO.getEndTime()));
59 58 rewardActivityMapper.insert(rewardActivity);
60 59 // 返回
... ... @@ -74,7 +73,7 @@ public class RewardActivityServiceImpl implements RewardActivityService {
74 73 validateRewardActivitySpuConflicts(updateReqVO.getId(), updateReqVO);
75 74  
76 75 // 2. 更新
77   - RewardActivityDO updateObj = RewardActivityConvert.INSTANCE.convert(updateReqVO)
  76 + RewardActivityDO updateObj = BeanUtils.toBean(updateReqVO, RewardActivityDO.class)
78 77 .setStatus(PromotionUtils.calculateActivityStatus(updateReqVO.getEndTime()));
79 78 rewardActivityMapper.updateById(updateObj);
80 79 }
... ...