Ver código fonte

feat:教务端学员云教练数据统计

Joburgess 3 anos atrás
pai
commit
39e5facb1c

+ 4 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -785,21 +785,21 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 			dataList = teacherDao.queryMemberStudentData(params);
 			List<Integer> teacherIds = dataList.stream().map(TeacherStudentDataDto::getTeacherId).collect(Collectors.toList());
 			List<Map<Integer, Integer>> teachersMemberStudentNumMapList = cloudTeacherDao.getTeachersMemberStudentNum(teacherIds);
-			Map<Integer, Integer> teachersMemberStudentNumMap = new HashMap<>();
+			Map<Integer, Long> teachersMemberStudentNumMap = new HashMap<>();
 			if(!CollectionUtils.isEmpty(teachersMemberStudentNumMapList)){
 				teachersMemberStudentNumMap = MapUtil.convertIntegerMap(teachersMemberStudentNumMapList);
 			}
 			List<Map<Integer, Integer>> teacherExperienceMemberStudentNumMapList = studentDao.getTeacherExperienceMemberStudentNum(teacherIds);
-			Map<Integer, Integer> teacherExperienceMemberStudentNumMap = new HashMap<>();
+			Map<Integer, Long> teacherExperienceMemberStudentNumMap = new HashMap<>();
 			if(!CollectionUtils.isEmpty(teacherExperienceMemberStudentNumMapList)){
 				teacherExperienceMemberStudentNumMap = MapUtil.convertIntegerMap(teacherExperienceMemberStudentNumMapList);
 			}
 			for (TeacherStudentDataDto teacherStudentDataDto : dataList) {
 				if(teachersMemberStudentNumMap.containsKey(teacherStudentDataDto.getTeacherId())){
-					teacherStudentDataDto.setVipStudentNum(teachersMemberStudentNumMap.get(teacherStudentDataDto.getTeacherId().toString()));
+					teacherStudentDataDto.setVipStudentNum(teachersMemberStudentNumMap.get(teacherStudentDataDto.getTeacherId()).intValue());
 				}
 				if(teacherExperienceMemberStudentNumMap.containsKey(teacherStudentDataDto.getTeacherId())){
-					teacherStudentDataDto.seteVipStudentNum(teacherExperienceMemberStudentNumMap.get(teacherStudentDataDto.getTeacherId().toString()));
+					teacherStudentDataDto.seteVipStudentNum(teacherExperienceMemberStudentNumMap.get(teacherStudentDataDto.getTeacherId()).intValue());
 				}
 				if(teacherStudentDataDto.getVipStudentNum()>0&&teacherStudentDataDto.getTotalStudentNum()>0){
 					teacherStudentDataDto.setVipStudentDuty(new BigDecimal(teacherStudentDataDto.getVipStudentNum()).divide(new BigDecimal(teacherStudentDataDto.getTotalStudentNum()), 4, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).floatValue());

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

@@ -121,9 +121,10 @@
         stu.teacher_id_ 'key',
         COUNT(DISTINCT cto.student_id_) 'value'
         FROM cloud_teacher_order cto
+        LEFT JOIN student stu ON cto.student_id_=stu.user_id_
         LEFT JOIN sys_user su ON cto.student_id_=su.id_
         WHERE su.del_flag_=0 AND cto.status_ IN (1,2)
-        <if test="organIds!=null and organIds.size()>0">
+        <if test="teacherIds!=null and teacherIds.size()>0">
             AND stu.teacher_id_ IN
             <foreach collection="teacherIds" item="teacherId" open="(" close=")" separator=",">
                 #{teacherId}

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -1055,10 +1055,10 @@
         LEFT JOIN cloud_teacher_order cto ON stu.user_id_=cto.student_id_
         LEFT JOIN sys_user su ON su.id_=stu.user_id_
         WHERE su.del_flag_=0 AND stu.experience_member_rank_setting_id_ IS NOT NULL AND (cto.id_ IS NULL OR cto.status_ NOT IN (1, 2))
-        <if test="organIds!=null and organIds.size()>0">
+        <if test="teacherIds!=null and teacherIds.size()>0">
             AND stu.teacher_id_ IN
             <foreach collection="teacherIds" item="teacherId" open="(" close=")" separator=",">
-                #{organId}
+                #{teacherId}
             </foreach>
         </if>
         GROUP BY stu.teacher_id_