|
@@ -13,6 +13,7 @@ import com.ym.mec.biz.dal.page.SysMusicCompareRecordQueryInfo;
|
|
|
import com.ym.mec.biz.service.SysConfigService;
|
|
|
import com.ym.mec.biz.service.SysMessageService;
|
|
|
import com.ym.mec.biz.service.SysMusicCompareRecordService;
|
|
|
+import com.ym.mec.biz.service.SysMusicCompareWeekDataService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
import com.ym.mec.common.page.PageInfo;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
@@ -37,6 +38,10 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
|
|
|
@Autowired
|
|
|
private SysMusicCompareRecordDao sysMusicCompareRecordDao;
|
|
|
@Autowired
|
|
|
+ private SysMusicCompareWeekDataService sysMusicCompareWeekDataService;
|
|
|
+ @Autowired
|
|
|
+ private SysMusicCompareWeekDataDao sysMusicCompareWeekDataDao;
|
|
|
+ @Autowired
|
|
|
private SysMusicScoreDao sysMusicScoreDao;
|
|
|
@Autowired
|
|
|
private TeacherDao teacherDao;
|
|
@@ -95,6 +100,7 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
|
|
|
sysMusicCompareRecord.setFeature(FeatureType.CLOUD_STUDY_EVALUATION);
|
|
|
sysMusicCompareRecordDao.insert(sysMusicCompareRecord);
|
|
|
studentDao.addStudentCloudStudySequenceDays(user.getId());
|
|
|
+ sysMusicCompareWeekDataService.updateUserWeekTrainData(user.getId(), LocalDate.now().with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue()));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -132,19 +138,8 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
|
|
|
StatDto result = new StatDto();
|
|
|
MusicCompareRankingDto head = new MusicCompareRankingDto();
|
|
|
head.setUserId(queryInfo.getUserId());
|
|
|
- List<MusicCompareRankingDto> userTrainStat = sysMusicCompareRecordDao.getUserTrainStat(queryInfo.getStartTime(), queryInfo.getEndTime(), queryInfo.getHeardLevel());
|
|
|
+ List<MusicCompareRankingDto> userTrainStat = sysMusicCompareWeekDataDao.getUserTrainStat(queryInfo.getStartTime(), queryInfo.getOrderType(), Objects.isNull(queryInfo.getHeardLevel())?null:queryInfo.getHeardLevel().getCode());
|
|
|
List<MusicCompareRankingDto> detail = new ArrayList<>();
|
|
|
- switch (queryInfo.getOrderType()){
|
|
|
- case 1:
|
|
|
- userTrainStat.sort(Comparator.comparing(MusicCompareRankingDto::getScore, Comparator.reverseOrder()).thenComparing(MusicCompareRankingDto::getUserId));
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- userTrainStat.sort(Comparator.comparing(MusicCompareRankingDto::getTrainDays, Comparator.reverseOrder()).thenComparing(MusicCompareRankingDto::getUserId));
|
|
|
- break;
|
|
|
- default:
|
|
|
- userTrainStat.sort(Comparator.comparing(MusicCompareRankingDto::getTrainTime, Comparator.reverseOrder()).thenComparing(MusicCompareRankingDto::getUserId));
|
|
|
- break;
|
|
|
- }
|
|
|
|
|
|
List<Integer> studentIds = userTrainStat.stream().limit(10).map(MusicCompareRankingDto::getUserId).collect(Collectors.toList());
|
|
|
Map<Integer, String> studentSubjectMap = new HashMap<>();
|