Procházet zdrojové kódy

Merge branch 'dev_v1.3.4_20220909'

# Conflicts:
#	cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityRewardServiceImpl.java
Eric před 3 roky
rodič
revize
dca4830d00

+ 13 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityRewardServiceImpl.java

@@ -35,6 +35,7 @@ import com.yonge.cooleshow.biz.dal.vo.ActivityRewardChangeStockVo;
 import com.yonge.cooleshow.biz.dal.vo.ActivityRewardVo;
 import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
+import com.yonge.cooleshow.common.enums.EStatus;
 import com.yonge.cooleshow.common.enums.RewardTypeEnum;
 import com.yonge.cooleshow.common.enums.UnitEnum;
 import com.yonge.toolset.base.exception.BizException;
@@ -190,13 +191,24 @@ public class ActivityRewardServiceImpl extends ServiceImpl<ActivityRewardDao, Ac
 
     @Override
     public Boolean updateStatus(Long id, Integer status, Long userId) {
+
+        if (EStatus.ENABLE.match(status)) {
+            // 更新奖品状态为禁用时,需要判断是否已经关联活动;若存在关联数据,提示用户先解除绑定关系
+
+            int rewardNum = activityPlanRewardService.count(Wrappers.<ActivityPlanReward>lambdaQuery()
+                    .eq(ActivityPlanReward::getRewardId, id));
+
+            if (rewardNum > 0) {
+                throw new BizException("奖品已被活动关联");
+            }
+        }
+
         ActivityReward activityReward = new ActivityReward();
         activityReward.setId(id);
         //更改活动状态
         activityReward.setStatus(status);
         activityReward.setUpdateBy(userId);
         updateById(activityReward);
-        
         return true;
     }