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,23 +2,22 @@ package cn.iocoder.yudao.module.promotion.controller.admin.reward;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
5 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityCreateReqVO; 6 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityCreateReqVO;
6 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityPageReqVO; 7 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityPageReqVO;
7 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityRespVO; 8 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityRespVO;
8 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityUpdateReqVO; 9 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityUpdateReqVO;
9 -import cn.iocoder.yudao.module.promotion.convert.reward.RewardActivityConvert;  
10 import cn.iocoder.yudao.module.promotion.dal.dataobject.reward.RewardActivityDO; 10 import cn.iocoder.yudao.module.promotion.dal.dataobject.reward.RewardActivityDO;
11 import cn.iocoder.yudao.module.promotion.service.reward.RewardActivityService; 11 import cn.iocoder.yudao.module.promotion.service.reward.RewardActivityService;
12 import io.swagger.v3.oas.annotations.Operation; 12 import io.swagger.v3.oas.annotations.Operation;
13 import io.swagger.v3.oas.annotations.Parameter; 13 import io.swagger.v3.oas.annotations.Parameter;
14 import io.swagger.v3.oas.annotations.tags.Tag; 14 import io.swagger.v3.oas.annotations.tags.Tag;
  15 +import jakarta.annotation.Resource;
  16 +import jakarta.validation.Valid;
15 import org.springframework.security.access.prepost.PreAuthorize; 17 import org.springframework.security.access.prepost.PreAuthorize;
16 import org.springframework.validation.annotation.Validated; 18 import org.springframework.validation.annotation.Validated;
17 import org.springframework.web.bind.annotation.*; 19 import org.springframework.web.bind.annotation.*;
18 20
19 -import jakarta.annotation.Resource;  
20 -import jakarta.validation.Valid;  
21 -  
22 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 21 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
23 22
24 @Tag(name = "管理后台 - 满减送活动") 23 @Tag(name = "管理后台 - 满减送活动")
@@ -69,7 +68,7 @@ public class RewardActivityController { @@ -69,7 +68,7 @@ public class RewardActivityController {
69 @PreAuthorize("@ss.hasPermission('promotion:reward-activity:query')") 68 @PreAuthorize("@ss.hasPermission('promotion:reward-activity:query')")
70 public CommonResult<RewardActivityRespVO> getRewardActivity(@RequestParam("id") Long id) { 69 public CommonResult<RewardActivityRespVO> getRewardActivity(@RequestParam("id") Long id) {
71 RewardActivityDO rewardActivity = rewardActivityService.getRewardActivity(id); 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 @GetMapping("/page") 74 @GetMapping("/page")
@@ -77,7 +76,7 @@ public class RewardActivityController { @@ -77,7 +76,7 @@ public class RewardActivityController {
77 @PreAuthorize("@ss.hasPermission('promotion:reward-activity:query')") 76 @PreAuthorize("@ss.hasPermission('promotion:reward-activity:query')")
78 public CommonResult<PageResult<RewardActivityRespVO>> getRewardActivityPage(@Valid RewardActivityPageReqVO pageVO) { 77 public CommonResult<PageResult<RewardActivityRespVO>> getRewardActivityPage(@Valid RewardActivityPageReqVO pageVO) {
79 PageResult<RewardActivityDO> pageResult = rewardActivityService.getRewardActivityPage(pageVO); 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,13 +79,13 @@ public class RewardActivityBaseVO {
79 @Schema(description = "赠送的积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") 79 @Schema(description = "赠送的积分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
80 private Integer point; 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 @JsonIgnore 86 @JsonIgnore
87 public boolean isPointValid() { 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 package cn.iocoder.yudao.module.promotion.convert.reward; 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 import org.mapstruct.Mapper; 3 import org.mapstruct.Mapper;
9 import org.mapstruct.factory.Mappers; 4 import org.mapstruct.factory.Mappers;
10 5
@@ -18,12 +13,4 @@ public interface RewardActivityConvert { @@ -18,12 +13,4 @@ public interface RewardActivityConvert {
18 13
19 RewardActivityConvert INSTANCE = Mappers.getMapper(RewardActivityConvert.class); 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,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,7 +10,6 @@ import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivi
10 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityCreateReqVO; 10 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityCreateReqVO;
11 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityPageReqVO; 11 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityPageReqVO;
12 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityUpdateReqVO; 12 import cn.iocoder.yudao.module.promotion.controller.admin.reward.vo.RewardActivityUpdateReqVO;
13 -import cn.iocoder.yudao.module.promotion.convert.reward.RewardActivityConvert;  
14 import cn.iocoder.yudao.module.promotion.dal.dataobject.reward.RewardActivityDO; 13 import cn.iocoder.yudao.module.promotion.dal.dataobject.reward.RewardActivityDO;
15 import cn.iocoder.yudao.module.promotion.dal.mysql.reward.RewardActivityMapper; 14 import cn.iocoder.yudao.module.promotion.dal.mysql.reward.RewardActivityMapper;
16 import cn.iocoder.yudao.module.promotion.enums.common.PromotionProductScopeEnum; 15 import cn.iocoder.yudao.module.promotion.enums.common.PromotionProductScopeEnum;
@@ -54,7 +53,7 @@ public class RewardActivityServiceImpl implements RewardActivityService { @@ -54,7 +53,7 @@ public class RewardActivityServiceImpl implements RewardActivityService {
54 validateRewardActivitySpuConflicts(null, createReqVO); 53 validateRewardActivitySpuConflicts(null, createReqVO);
55 54
56 // 2. 插入 55 // 2. 插入
57 - RewardActivityDO rewardActivity = RewardActivityConvert.INSTANCE.convert(createReqVO) 56 + RewardActivityDO rewardActivity = BeanUtils.toBean(createReqVO, RewardActivityDO.class)
58 .setStatus(PromotionUtils.calculateActivityStatus(createReqVO.getEndTime())); 57 .setStatus(PromotionUtils.calculateActivityStatus(createReqVO.getEndTime()));
59 rewardActivityMapper.insert(rewardActivity); 58 rewardActivityMapper.insert(rewardActivity);
60 // 返回 59 // 返回
@@ -74,7 +73,7 @@ public class RewardActivityServiceImpl implements RewardActivityService { @@ -74,7 +73,7 @@ public class RewardActivityServiceImpl implements RewardActivityService {
74 validateRewardActivitySpuConflicts(updateReqVO.getId(), updateReqVO); 73 validateRewardActivitySpuConflicts(updateReqVO.getId(), updateReqVO);
75 74
76 // 2. 更新 75 // 2. 更新
77 - RewardActivityDO updateObj = RewardActivityConvert.INSTANCE.convert(updateReqVO) 76 + RewardActivityDO updateObj = BeanUtils.toBean(updateReqVO, RewardActivityDO.class)
78 .setStatus(PromotionUtils.calculateActivityStatus(updateReqVO.getEndTime())); 77 .setStatus(PromotionUtils.calculateActivityStatus(updateReqVO.getEndTime()));
79 rewardActivityMapper.updateById(updateObj); 78 rewardActivityMapper.updateById(updateObj);
80 } 79 }