Quellcode durchsuchen

修复学生、老师练习统计

Eric vor 2 Jahren
Ursprung
Commit
581193ef42

+ 5 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMusicCompareRecordServiceImpl.java

@@ -130,7 +130,7 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 
 					MusicCompareWrapper.RecordQueryInfo queryInfo = MusicCompareWrapper.RecordQueryInfo.builder()
 							.clientId(record.getClientId())
-							//.musicSheetId(record.getMusicSheetId())
+							.musicSheetId(record.getMusicSheetId())
 							.feature(dataType)
 							.build();
 
@@ -139,10 +139,6 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 						queryInfo.setScoreData(true);
 					}
 
-					// 老师、学生统计汇总时长
-					List<StatGroupWrapper> wrappers = sysMusicCompareRecordDao.selectMusicCompareRecordStatInfo(queryInfo);
-
-					queryInfo.setMusicSheetId(record.getMusicSheetId());
 					// 曲目统计
 					List<StatGroupWrapper> musicWrappers = sysMusicCompareRecordDao.selectMusicCompareRecordStatInfo(queryInfo);
 
@@ -151,6 +147,10 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 
 					List<StatGroupWrapper> userMusicWrappers = sysMusicCompareRecordDao.selectMusicCompareRecordStatInfo(queryInfo);
 
+					// 老师、学生统计汇总时长, 删除按曲目统计限制
+					queryInfo.setMusicSheetId(null);
+					List<StatGroupWrapper> wrappers = sysMusicCompareRecordDao.selectMusicCompareRecordStatInfo(queryInfo);
+
 					switch (dataType) {
 						case CLOUD_STUDY_TRAIN: // 练习
 							{

+ 10 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

@@ -309,7 +309,11 @@
 	<select id="selectMusicCompareRecordStatInfo"
 			resultType="com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper">
 		SELECT
-		    t1.music_sheet_id_ AS id, SUM(t1.play_time_) AS number
+			<choose>
+				<when test="record.musicSheetId != null">t1.music_sheet_id_ AS id,</when>
+				<otherwise>t1.user_id_ AS id,</otherwise>
+			</choose>
+		    SUM(t1.play_time_) AS number
 			<choose>
 				<when test="record.feature.code == 'CLOUD_STUDY_TRAIN'">, COUNT(DISTINCT t1.behavior_id_) AS total</when>
 				<otherwise>, COUNT(t1.id_) AS total</otherwise>
@@ -332,7 +336,11 @@
 				AND t1.score_data_ != ''
 			</if>
 		</where>
-		GROUP BY t1.music_sheet_id_ <if test="record.userId != null">, t1.user_id_</if>
+		<choose>
+			<when test="record.musicSheetId != null"> GROUP BY t1.music_sheet_id_ <if test="record.userId != null">, t1.user_id_</if> </when>
+			<otherwise>GROUP BY t1.user_id_</otherwise>
+		</choose>
+
 	</select>
 	<!--曲目练习统计-->