|
@@ -1,12 +1,14 @@
|
|
|
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.yonge.cooleshow.biz.dal.dto.ActivityEvaluationDto;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.ActivityMusicVo;
|
|
|
import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
|
|
|
+import com.yonge.toolset.base.exception.BizException;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.slf4j.Logger;
|
|
@@ -45,10 +47,19 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
|
|
|
@Override
|
|
|
public Boolean addBatch(ActivityEvaluationDto param) {
|
|
|
List<Long> musicSheetIds = WrapperUtil.toLongList(param.getMusicSheetIds());
|
|
|
- //过滤出未添加的曲子
|
|
|
- musicSheetIds = baseMapper.selectUnjoinMusicIds(param.getActivityId(), musicSheetIds);
|
|
|
- if (CollectionUtils.isNotEmpty(musicSheetIds)) {
|
|
|
- baseMapper.addBatch(param.getActivityId(), musicSheetIds);
|
|
|
+
|
|
|
+ List<ActivityEvaluation> activityEvaluations = baseMapper.selectList(Wrappers.<ActivityEvaluation>lambdaQuery()
|
|
|
+ .eq(ActivityEvaluation::getActivityId, param.getActivityId())
|
|
|
+ );
|
|
|
+
|
|
|
+ List<Long> oldMusicSheetIds = activityEvaluations.stream().map(o -> o.getMusicSheetId()).collect(Collectors.toList());
|
|
|
+ musicSheetIds.removeAll(oldMusicSheetIds);
|
|
|
+
|
|
|
+ if ((oldMusicSheetIds.size() + musicSheetIds.size()) > 10) {
|
|
|
+ throw new BizException("添加的曲目不能多余10首");
|
|
|
+ }
|
|
|
+ if(CollectionUtils.isNotEmpty(musicSheetIds)){
|
|
|
+ baseMapper.addBatch(param.getActivityId(),musicSheetIds);
|
|
|
}
|
|
|
return true;
|
|
|
}
|