liweifan 3 éve
szülő
commit
6f6d84b754

+ 0 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ActivityEvaluationDao.java

@@ -33,8 +33,6 @@ public interface ActivityEvaluationDao extends BaseMapper<ActivityEvaluation> {
 
 	List<ActivityEvaluationVo> selectAll(@Param("param") ActivityEvaluationSearch activityEvaluation);
 
-	List<Long> selectUnjoinMusicIds(@Param("activityId") Long activityId, @Param("musicSheetIds") List<Long> musicSheetIds);
-
     /**
      * 批量给活动添加曲目
      *

+ 15 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityEvaluationServiceImpl.java

@@ -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;
     }

+ 0 - 11
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityEvaluationMapper.xml

@@ -53,17 +53,6 @@
         <include refid="selectSql"/>
     </select>
 
-    <select id="selectUnjoinMusicIds" resultType="java.lang.Long">
-        select t.id_ from music_sheet t
-        where t.id_ IN
-        <foreach collection="musicSheetIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-        and not exists (
-            select 1 from activity_evaluation e where e.activity_id_ = #{activityId} and t.id_ = e.music_sheet_id_
-        )
-    </select>
-
     <insert id="addBatch">
         insert into activity_evaluation (activity_id_, music_sheet_id_) values
         <foreach collection="musicSheetIds" item="item" separator="," index="index">