Bladeren bron

vip定制课

zouxuan 7 maanden geleden
bovenliggende
commit
50884f73b3

+ 2 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java

@@ -35,7 +35,6 @@ import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.string.MessageFormatter;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
-import com.yonge.toolset.utils.collection.MapUtil;
 import com.yonge.toolset.utils.json.JsonUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.slf4j.Logger;
@@ -673,8 +672,8 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         if (CollectionUtils.isNotEmpty(lessonGroupVos)) {
             //获取直播课关联的曲目数量
             List<Long> videoLessonGroupIds = lessonGroupVos.stream().map(LessonGroupVo::getId).collect(Collectors.toList());
-            List<Map<Long,Long>> musicNum = this.baseMapper.countMusicAlbum(videoLessonGroupIds);
-            Map<Long,Long> map = MapUtil.convertIntegerMap(musicNum);
+            List<Mapper> musicNum = this.baseMapper.countMusicAlbum(videoLessonGroupIds);
+            Map<Long,Long> map = musicNum.stream().collect(Collectors.toMap(e->Long.parseLong(e.getKey().toString()), e->Long.parseLong(e.getValue().toString())));
             for (LessonGroupVo videoLessonGroupVo : lessonGroupVos) {
                 if (videoLessonGroupVo.getLessonPrice().compareTo(BigDecimal.ZERO) == 0) {
                     videoLessonGroupVo.setCountStudent(videoLessonGroupVo.getCountStudent() + videoLessonGroupVo.getVirtualNumber());

+ 16 - 16
cooleshow-user/user-biz/src/main/resources/config/mybatis/VideoLessonGroupMapper.xml

@@ -601,23 +601,23 @@
 		ORDER BY payCount DESC
 		LIMIT 5
 	</select>
-	<select id="countMusicAlbum" resultType="java.util.Map">
+	<select id="countMusicAlbum" resultType="com.yonge.cooleshow.biz.dal.dto.Mapper">
 		select c.course_group_id_ as 'key',COUNT(distinct ms.id_) as 'value' from
-			(
-				select crma.course_group_id_, music_album_id_ music_sheet_id_ from course_relation_music_album crma
-				where crma.relation_type_ = 'MUSIC' AND crma.course_group_id_ IN
-				<foreach collection="videoLessonGroupIds" item="item" open="(" separator="," close=")">
-					#{item}
-				</foreach>
-				union
-				select crma.course_group_id_,amr.music_sheet_id_ from course_relation_music_album crma
-				left join album_music_relate amr ON amr.id_ = crma.music_album_id_
-				where crma.relation_type_ = 'ALBUM' AND course_group_id_ IN
-				<foreach collection="videoLessonGroupIds" item="item" open="(" separator="," close=")">
-					#{item}
-				</foreach>) c
-				LEFT JOIN music_sheet ms ON c.music_sheet_id_ = ms.id_
-				AND state_ = 1 AND client_state_ = 1 AND del_flag_ = 0
+		(
+		select crma.course_group_id_, music_album_id_ music_sheet_id_ from course_relation_music_album crma
+		where crma.relation_type_ = 'MUSIC' AND crma.course_group_id_ IN
+		<foreach collection="videoLessonGroupIds" item="item" open="(" separator="," close=")">
+			#{item}
+		</foreach>
+		union
+		select crma.course_group_id_,amr.music_sheet_id_ from course_relation_music_album crma
+		left join album_music_relate amr ON amr.id_ = crma.music_album_id_
+		where crma.relation_type_ = 'ALBUM' AND course_group_id_ IN
+		<foreach collection="videoLessonGroupIds" item="item" open="(" separator="," close=")">
+			#{item}
+		</foreach>) c
+		LEFT JOIN music_sheet ms ON c.music_sheet_id_ = ms.id_
+		AND state_ = 1 AND client_state_ = 1 AND del_flag_ = 0
 		GROUP BY c.course_group_id_
 	</select>
 </mapper>