فهرست منبع

Merge remote-tracking branch 'origin/music_score' into music_score

zouxuan 3 سال پیش
والد
کامیت
c98e980b5d

+ 13 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicCompareRecordServiceImpl.java

@@ -121,22 +121,24 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 				break;
 		}
 
-		detail = userTrainStat.stream().limit(10).collect(Collectors.toList());
-		List<Integer> studentIds = detail.stream().map(MusicCompareRankingDto::getUserId).collect(Collectors.toList());
+		List<Integer> studentIds = userTrainStat.stream().limit(10).map(MusicCompareRankingDto::getUserId).collect(Collectors.toList());
 		Map<Integer, String> studentSubjectMap = new HashMap<>();
 		if(!CollectionUtils.isEmpty(studentIds)){
 			List<Map<Integer, String>> studentSubjectMapList = studentDao.getStudentSubjectMapList(studentIds);
 			studentSubjectMap = MapUtil.convertIntegerMap(studentSubjectMapList);
 		}
 
-		for (int i = 0; i < detail.size(); i++) {
-			detail.get(i).setRankNum(i+1);
-			detail.get(i).setTrainTime(detail.get(i).getTrainTime()/60);
-			if(detail.get(i).getUserId().equals(queryInfo.getUserId())){
-				head = detail.get(i);
+		for (int i = 0; i < userTrainStat.size(); i++) {
+			userTrainStat.get(i).setRankNum(i+1);
+			userTrainStat.get(i).setTrainTime(userTrainStat.get(i).getTrainTime()/60);
+			if(studentSubjectMap.containsKey(userTrainStat.get(i).getUserId())){
+				userTrainStat.get(i).setSubjectName(studentSubjectMap.get(userTrainStat.get(i).getUserId()));
 			}
-			if(studentSubjectMap.containsKey(detail.get(i).getUserId())){
-				detail.get(i).setSubjectName(studentSubjectMap.get(detail.get(i).getUserId()));
+			if(detail.size()<10){
+				detail.add(userTrainStat.get(i));
+			}
+			if(userTrainStat.get(i).getUserId().equals(queryInfo.getUserId())){
+				head = userTrainStat.get(i);
 			}
 		}
 		result.setHead(head);
@@ -183,6 +185,7 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		}
 		pageInfo.setRows(dataList);
 		Map<String, Object> result = new HashMap<>();
+		userTrainOverView.setTrainTime(userTrainOverView.getTrainTime()/60);
 		result.put("userTrainOverView",userTrainOverView);
 
 		List<IndexBaseDto> userTrainChartResult = new ArrayList<>();
@@ -191,7 +194,7 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 
 		for (StudentTrainChartDto data : userTrainChartData) {
 			Date trainDate = Date.from(data.getTrainDate().atStartOfDay(DateUtil.zoneId).toInstant());
-			trainTimeData.add(new IndexBaseMonthData(trainDate, null, new BigDecimal(data.getTrainTime())));
+			trainTimeData.add(new IndexBaseMonthData(trainDate, null, new BigDecimal(data.getTrainTime()/60)));
 			trainNumData.add(new IndexBaseMonthData(trainDate, null, new BigDecimal(data.getTrainNum())));
 		}
 

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

@@ -160,7 +160,7 @@
 
 	<select id="getUserTrainOverView" resultType="com.ym.mec.biz.dal.dto.StudentTrainOverviewDto">
 		SELECT
-			COUNT(smcr.id_) trainNum,
+			COUNT(DISTINCT smcr.behavior_id_) trainNum,
 			COUNT(DISTINCT DAY(smcr.create_time_)) trainDays,
 			SUM(smcr.play_time_) trainTime
 		FROM sys_music_compare_record smcr