|
@@ -6,10 +6,7 @@ import com.google.common.collect.Lists;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.SysMusicCompareRecordDao;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.IndexBaseDto;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.IndexBaseMonthData;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.StudentTrainChartDto;
|
|
|
-import com.yonge.cooleshow.biz.dal.dto.StudentTrainOverviewDto;
|
|
|
+import com.yonge.cooleshow.biz.dal.dto.*;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.FeatureType;
|
|
@@ -452,9 +449,8 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
|
|
|
@Override
|
|
|
public SysMusicCompareRecordQueryInfo.StatDto rankingList(SysMusicCompareRecordQueryInfo.StudentCompareRecordQueryInfo queryInfo) {
|
|
|
SysMusicCompareRecordQueryInfo.StatDto result = new SysMusicCompareRecordQueryInfo.StatDto();
|
|
|
- SysMusicCompareRecordQueryInfo.MusicCompareRankingDto head = new SysMusicCompareRecordQueryInfo.MusicCompareRankingDto();
|
|
|
- head.setUserId(queryInfo.getUserId());
|
|
|
- List<SysMusicCompareRecordQueryInfo.MusicCompareRankingDto> userTrainStat = sysMusicCompareWeekDataService.getDao().getUserTrainStat(queryInfo.getStartTime(),
|
|
|
+ SysMusicCompareRecordQueryInfo.MusicCompareRankingDto head = null;
|
|
|
+ List<SysMusicCompareRecordQueryInfo.MusicCompareRankingDto> userTrainStat = sysMusicCompareWeekDataService.getDao().queryUserTrainStat(queryInfo.getStartTime(),
|
|
|
queryInfo.getOrderType(),
|
|
|
Objects.isNull(queryInfo.getHeardLevel())?null:queryInfo.getHeardLevel().getCode(),
|
|
|
queryInfo.getTenantId());
|
|
@@ -487,13 +483,18 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
|
|
|
}
|
|
|
Map<String,Object> params = new HashMap<String, Object>(1);
|
|
|
params.put("tenantId", queryInfo.getTenantId());
|
|
|
- head.setStudentNum(studentService.getDao().countStudentsWithTenant(params));
|
|
|
- if(StringUtils.isBlank(head.getAvatar())){
|
|
|
- SysUser user = sysUserService.findUserById(queryInfo.getUserId());
|
|
|
- if(user != null){
|
|
|
- head.setAvatar(user.getAvatar());
|
|
|
+ if(Objects.nonNull(head)){
|
|
|
+ head = new SysMusicCompareRecordQueryInfo.MusicCompareRankingDto();
|
|
|
+ BasicUserInfo basicUserInfo = teacherService.getDao().getBasicUserInfo(queryInfo.getUserId());
|
|
|
+ head.setUserId(basicUserInfo.getUserId());
|
|
|
+ head.setAvatar(basicUserInfo.getAvatar());
|
|
|
+ head.setStudentName(basicUserInfo.getUsername());
|
|
|
+ List<Subject> subjects = teacherService.getDao().querySubject(basicUserInfo.getUserId());
|
|
|
+ if(CollectionUtils.isNotEmpty(subjects)){
|
|
|
+ head.setSubjectName(subjects.stream().map(e->e.getName()).collect(Collectors.joining()));
|
|
|
}
|
|
|
}
|
|
|
+ head.setStudentNum(studentService.getDao().countStudentsWithTenant(params));
|
|
|
result.setHead(head);
|
|
|
detail.sort(Comparator.comparing(SysMusicCompareRecordQueryInfo.MusicCompareRankingDto::getRankNum).
|
|
|
thenComparing(SysMusicCompareRecordQueryInfo.MusicCompareRankingDto::getUserId));
|