|
@@ -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())
|