Commit ea6e365097e4f3c00672a6c9a69e8982ff8a6340
1 parent
a808157a
【代码优化】商城: 满减送活动校验提示优化
Showing
2 changed files
with
8 additions
and
8 deletions
yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/enums/ErrorCodeConstants.java
| ... | ... | @@ -44,7 +44,7 @@ public interface ErrorCodeConstants { |
| 44 | 44 | ErrorCode REWARD_ACTIVITY_UPDATE_FAIL_STATUS_CLOSED = new ErrorCode(1_013_006_002, "满减送活动已关闭,不能修改"); |
| 45 | 45 | ErrorCode REWARD_ACTIVITY_DELETE_FAIL_STATUS_NOT_CLOSED = new ErrorCode(1_013_006_003, "满减送活动未关闭,不能删除"); |
| 46 | 46 | ErrorCode REWARD_ACTIVITY_CLOSE_FAIL_STATUS_CLOSED = new ErrorCode(1_013_006_004, "满减送活动已关闭,不能重复关闭"); |
| 47 | - ErrorCode REWARD_ACTIVITY_SCOPE_EXISTS = new ErrorCode(1_013_006_005, "与该时间段已存在的满减送活动商品范围冲突"); | |
| 47 | + ErrorCode REWARD_ACTIVITY_SCOPE_EXISTS = new ErrorCode(1_013_006_005, "与该时间段满减送活动【{}】商品范围冲突,原因:{}"); | |
| 48 | 48 | |
| 49 | 49 | // ========== TODO 空着 1-013-007-000 ============ |
| 50 | 50 | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/reward/RewardActivityServiceImpl.java
| ... | ... | @@ -135,16 +135,16 @@ public class RewardActivityServiceImpl implements RewardActivityService { |
| 135 | 135 | // 例如说,rewardActivity 是全部活动,结果有个 db 里的 activity 是某个分类,它也是冲突的。也就是说,当前时间段内,有且仅有只能有一个活动! |
| 136 | 136 | if (PromotionProductScopeEnum.isAll(item.getProductScope()) || |
| 137 | 137 | PromotionProductScopeEnum.isAll(rewardActivity.getProductScope())) { |
| 138 | - // TODO puhui999:需要提示出来与满减送活动“xxx 活动”存在商品范围冲突;这里可能要分情况,下面需要把 activityName 传入 | |
| 139 | - throw exception(REWARD_ACTIVITY_SCOPE_EXISTS); | |
| 138 | + throw exception(REWARD_ACTIVITY_SCOPE_EXISTS, item.getName(), | |
| 139 | + PromotionProductScopeEnum.isAll(item.getProductScope()) ? "该活动商品范围为全部已覆盖包含本活动范围" : | |
| 140 | + "本活动商品范围为全部已覆盖包含了该活动商品范围"); | |
| 140 | 141 | } |
| 141 | 142 | // 情况二:如果与该时间段内商品范围为类别的活动冲突 |
| 142 | 143 | if (PromotionProductScopeEnum.isCategory(item.getProductScope())) { |
| 143 | - // TODO puhui999:前端我们有限制,只允许子分类么?可能要限制下,不然基于分类查询不到对应的商品。因为商品目前必须在子分类下 | |
| 144 | 144 | // 校验分类是否冲突 |
| 145 | 145 | if (PromotionProductScopeEnum.isCategory(rewardActivity.getProductScope())) { |
| 146 | 146 | if (!intersectionDistinct(item.getProductScopeValues(), rewardActivity.getProductScopeValues()).isEmpty()) { |
| 147 | - throw exception(REWARD_ACTIVITY_SCOPE_EXISTS); | |
| 147 | + throw exception(REWARD_ACTIVITY_SCOPE_EXISTS, item.getName(), "商品分类范围重叠"); | |
| 148 | 148 | } |
| 149 | 149 | } |
| 150 | 150 | // 校验商品分类是否冲突 |
| ... | ... | @@ -152,7 +152,7 @@ public class RewardActivityServiceImpl implements RewardActivityService { |
| 152 | 152 | List<ProductSpuRespDTO> spuList = productSpuApi.getSpuList(rewardActivity.getProductScopeValues()); |
| 153 | 153 | if (!intersectionDistinct(item.getProductScopeValues(), |
| 154 | 154 | convertSet(spuList, ProductSpuRespDTO::getCategoryId)).isEmpty()) { |
| 155 | - throw exception(REWARD_ACTIVITY_SCOPE_EXISTS); | |
| 155 | + throw exception(REWARD_ACTIVITY_SCOPE_EXISTS, item.getName(), "该活动商品分类范围已包含本活动所选商品"); | |
| 156 | 156 | } |
| 157 | 157 | } |
| 158 | 158 | } |
| ... | ... | @@ -161,7 +161,7 @@ public class RewardActivityServiceImpl implements RewardActivityService { |
| 161 | 161 | // 校验商品是否冲突 |
| 162 | 162 | if (PromotionProductScopeEnum.isSpu(rewardActivity.getProductScope())) { |
| 163 | 163 | if (!intersectionDistinct(item.getProductScopeValues(), rewardActivity.getProductScopeValues()).isEmpty()) { |
| 164 | - throw exception(REWARD_ACTIVITY_SCOPE_EXISTS); | |
| 164 | + throw exception(REWARD_ACTIVITY_SCOPE_EXISTS, item.getName(), "活动商品范围所选商品重叠"); | |
| 165 | 165 | } |
| 166 | 166 | } |
| 167 | 167 | // 校验商品分类是否冲突 |
| ... | ... | @@ -169,7 +169,7 @@ public class RewardActivityServiceImpl implements RewardActivityService { |
| 169 | 169 | List<ProductSpuRespDTO> spuList = productSpuApi.getSpuList(item.getProductScopeValues()); |
| 170 | 170 | if (!intersectionDistinct(rewardActivity.getProductScopeValues(), |
| 171 | 171 | convertSet(spuList, ProductSpuRespDTO::getCategoryId)).isEmpty()) { |
| 172 | - throw exception(REWARD_ACTIVITY_SCOPE_EXISTS); | |
| 172 | + throw exception(REWARD_ACTIVITY_SCOPE_EXISTS, item.getName(), "本活动商品分类范围包含了该活动所选商品"); | |
| 173 | 173 | } |
| 174 | 174 | } |
| 175 | 175 | } | ... | ... |