zouxuan 1 år sedan
förälder
incheckning
bef1ff3d47

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/SysMusicCompareWeekDataDao.java

@@ -12,7 +12,7 @@ public interface SysMusicCompareWeekDataDao extends BaseDAO<Integer, SysMusicCom
     SysMusicCompareWeekData getWithUserAndMonday(@Param("userId") Long userId,
                                                  @Param("monday") String monday);
 
-    List<SysMusicCompareRecordQueryInfo.MusicCompareRankingDto> getUserTrainStat(@Param("monday") String monday,
+    List<SysMusicCompareRecordQueryInfo.MusicCompareRankingDto> queryUserTrainStat(@Param("monday") String monday,
                                                                                  @Param("orderType") Integer orderType,
                                                                                  @Param("heardLevel") String heardLevel,
                                                                                  @Param("tenantId") Long tenantId);

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherService.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
 import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherSubmitReq;
 import com.yonge.cooleshow.biz.dal.dto.search.TeacherSearch;
@@ -23,6 +24,8 @@ import java.util.List;
  * @date 2022-03-18
  */
 public interface TeacherService extends IService<Teacher> {
+    TeacherDao getDao();
+
     /***
      * 查询老师详情
      * @author liweifan

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

@@ -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));

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

@@ -203,6 +203,11 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 
 
     @Override
+    public TeacherDao getDao() {
+        return baseMapper;
+    }
+
+    @Override
     public TeacherVo detail(Long userId) {
         TeacherVo detail = baseMapper.detail(userId);
         if (null == detail) {

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareWeekDataMapper.xml

@@ -83,7 +83,7 @@
 		SELECT * FROM sys_music_compare_week_data WHERE user_id_=#{userId} AND monday_=#{monday}
 	</select>
 
-	<select id="getUserTrainStat" resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$MusicCompareRankingDto">
+	<select id="queryUserTrainStat" resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$MusicCompareRankingDto">
 		SELECT
 		smcwd.user_id_ userId,
 			su.avatar_ avatar,