Explorar o código

Merge branch 'dev_v1.3.8_20221107' into ponline

Eric %!s(int64=2) %!d(string=hai) anos
pai
achega
1387948ff2

+ 7 - 7
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: // 练习
 							{
@@ -158,7 +158,7 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 								if (CollectionUtils.isNotEmpty(wrappers)) {
 									StatGroupWrapper wrapper = wrappers.get(0);
 
-									compareRecord.setTrainTime(wrapper.getNumber().longValue());
+									compareRecord.setTrainTime(wrapper.getNumber().longValue() / 60);
 								}
 								// 先统计练习曲目
 								if (CollectionUtils.isNotEmpty(musicWrappers)) {
@@ -184,7 +184,7 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 								if (CollectionUtils.isNotEmpty(wrappers)) {
 									StatGroupWrapper wrapper = wrappers.get(0);
 
-									compareRecord.setEvaluateTime(wrapper.getNumber().longValue());
+									compareRecord.setEvaluateTime(wrapper.getNumber().longValue() / 60);
 								}
 								// 先统计评测曲目
 								if (CollectionUtils.isNotEmpty(musicWrappers)) {

+ 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>
 	<!--曲目练习统计-->