zhangchen 2 месяцев назад
Родитель
Сommit
79e2d75324

+ 13 - 0
alien-store/src/main/java/shop/alien/store/service/impl/StoreOperationalActivityAchievementServiceImpl.java

@@ -10,13 +10,16 @@ import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
+import shop.alien.entity.storePlatform.StoreOperationalActivity;
 import shop.alien.entity.storePlatform.StoreOperationalActivityAchievement;
 import shop.alien.entity.storePlatform.vo.StoreOperationalActivityAchievementCaseDetailVo;
 import shop.alien.entity.storePlatform.vo.StoreOperationalActivityAchievementCaseItemVo;
 import shop.alien.entity.storePlatform.vo.StoreOperationalActivityAchievementCaseVo;
 import shop.alien.entity.storePlatform.vo.StoreOperationalActivityAchievementVo;
 import shop.alien.mapper.storePlantform.StoreOperationalActivityAchievementMapper;
+import shop.alien.mapper.storePlantform.StoreOperationalActivityMapper;
 import shop.alien.store.dto.StoreOperationalActivityAchievementDto;
 import shop.alien.store.service.StoreOperationalActivityAchievementService;
 
@@ -32,6 +35,7 @@ import shop.alien.store.service.StoreOperationalActivityAchievementService;
 public class StoreOperationalActivityAchievementServiceImpl implements StoreOperationalActivityAchievementService {
 
     private final StoreOperationalActivityAchievementMapper achievementMapper;
+    private final StoreOperationalActivityMapper activityMapper;
 
     @Override
     public boolean addAchievement(StoreOperationalActivityAchievementDto dto) {
@@ -48,6 +52,15 @@ public class StoreOperationalActivityAchievementServiceImpl implements StoreOper
             throw new IllegalArgumentException("报名ID不能为空");
         }
 
+        StoreOperationalActivity activity = activityMapper.selectById(dto.getActivityId());
+        if (activity == null) {
+            throw new IllegalArgumentException("活动不存在");
+        }
+        Date now = new Date();
+        if (activity.getStartTime() != null && now.before(activity.getStartTime())) {
+            throw new IllegalArgumentException("活动未开始,不允许新增成果");
+        }
+
         StoreOperationalActivityAchievement achievement = new StoreOperationalActivityAchievement();
         achievement.setActivityId(dto.getActivityId());
         achievement.setUserId(dto.getUserId());