Browse Source

添加活动奖品客户端匹配校验

Eric 2 years ago
parent
commit
bd94f86bb4

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityPlanServiceImpl.java

@@ -631,6 +631,17 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
             throw new BizException("无效的活动ID");
         }
 
+        // 校验添加奖品与当前客户端是否匹配
+        List<Long> collect = saveOrUpdateRewardDto.getUpdateRewardDtoList().stream()
+                .map(ActivityPlanReward::getRewardId).distinct().collect(Collectors.toList());
+
+        long validRewardNums = activityRewardService.listByIds(collect).stream()
+                .map(x -> x.getRewardClient().equals(activityPlan.getActivityClient().getCode()))
+                .count();
+        if (saveOrUpdateRewardDto.getUpdateRewardDtoList().size() != validRewardNums) {
+            throw new BizException("添加奖品与活动客户端不匹配");
+        }
+
         int ret = 0;
         if (ActivityTypeEnum.EVALUATION == activityPlan.getActivityType()) {