|  | @@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.service.impl;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  | +import com.google.common.collect.Lists;
 | 
	
		
			
				|  |  |  import com.google.common.collect.Maps;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.yonge.cooleshow.biz.dal.dao.ActivityEvaluationDao;
 | 
	
	
		
			
				|  | @@ -65,7 +66,40 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public Boolean addBatch(ActivityEvaluationDto param, SysUser user) {
 | 
	
		
			
				|  |  | -        List<Long> musicSheetIds = WrapperUtil.toLongList(param.getMusicSheetIds());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 活动信息
 | 
	
		
			
				|  |  | +        ActivityPlan activity = activityPlanService.getBaseMapper().selectById(param.getActivityId());
 | 
	
		
			
				|  |  | +        if (Objects.isNull(activity)) {
 | 
	
		
			
				|  |  | +            throw new BizException("无效的活动ID");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        List<Long> activityContentIds = Lists.newArrayList();
 | 
	
		
			
				|  |  | +        switch (activity.getActivityType()) {
 | 
	
		
			
				|  |  | +            case EVALUATION: // 评测活动
 | 
	
		
			
				|  |  | +                if (StringUtils.isEmpty(param.getMusicSheetIds())) {
 | 
	
		
			
				|  |  | +                    throw new BizException("曲子id不能为空");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                // 活动曲目ID
 | 
	
		
			
				|  |  | +                activityContentIds = WrapperUtil.toLongList(param.getMusicSheetIds());
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case SHARE: // 分享活动
 | 
	
		
			
				|  |  | +                if (StringUtils.isEmpty(param.getTeacherIds())) {
 | 
	
		
			
				|  |  | +                    throw new BizException("老师ID不能为空");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                // 活动关联老师ID
 | 
	
		
			
				|  |  | +                activityContentIds = WrapperUtil.toLongList(param.getTeacherIds());
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case STANDARD_GIFT:
 | 
	
		
			
				|  |  | +            default:
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(activityContentIds)) {
 | 
	
		
			
				|  |  | +            // 活动内容请求ID为空,直接忽略后面业务逻辑流程
 | 
	
		
			
				|  |  | +            return true;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<ActivityEvaluation> activityEvaluations = baseMapper.selectList(Wrappers.<ActivityEvaluation>lambdaQuery()
 | 
	
		
			
				|  |  |                  .eq(ActivityEvaluation::getActivityId, param.getActivityId())
 | 
	
	
		
			
				|  | @@ -96,15 +130,15 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<Long> oldMusicSheetIds = activityEvaluations.stream().map(ActivityEvaluation::getMusicSheetId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | -        musicSheetIds.removeAll(oldMusicSheetIds);
 | 
	
		
			
				|  |  | +        activityContentIds.removeAll(oldMusicSheetIds);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if ((oldMusicSheetIds.size() + musicSheetIds.size()) > 10
 | 
	
		
			
				|  |  | +        if ((oldMusicSheetIds.size() + activityContentIds.size()) > 10
 | 
	
		
			
				|  |  |                  && activityType == ActivityTypeEnum.EVALUATION) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              throw new BizException("添加的曲目不能多余10首");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        if (CollectionUtils.isNotEmpty(musicSheetIds)) {
 | 
	
		
			
				|  |  | -            baseMapper.addBatch(param.getActivityId(), user.getId(), musicSheetIds, resourceType);
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isNotEmpty(activityContentIds)) {
 | 
	
		
			
				|  |  | +            baseMapper.addBatch(param.getActivityId(), user.getId(), activityContentIds, resourceType);
 | 
	
		
			
				|  |  |              //更新修改人和修改时间
 | 
	
		
			
				|  |  |              activityPlanService.update(Wrappers.<ActivityPlan>lambdaUpdate()
 | 
	
		
			
				|  |  |                      .set(ActivityPlan::getUpdateBy, user.getId())
 |