zouxuan 2 年之前
父节点
当前提交
372972f377

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -540,6 +540,16 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
                                                   @Param("musicGroupStatus") StudentMusicGroupStatusEnum musicGroupStatus);
 
     /**
+     * @param groupIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.StudentRegistration>
+     * @describe 获取指定乐团中的注册学员
+     * @author Joburgess
+     * @date 2021/5/24 0024
+     */
+    List<StudentRegistration> findByMusicGroupIds1(@Param("groupIds") List<String> groupIds,
+                                                  @Param("musicGroupStatus") StudentMusicGroupStatusEnum musicGroupStatus);
+
+    /**
      * 获取支付中的缴费和审核的人数
      *
      * @param musicGroupId

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -527,6 +527,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 				// 添加用户现金账户
 				sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
 			}else {
+				student.setCurrentClass(si.getCurrentClass());
 				student.setCurrentGradeNum(SixPlusGradeEnum.get(si.getGrade()).getCode());
 				studentDao.update(student);
 			}

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

@@ -34,6 +34,8 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
     @Resource
     private LessonExaminationDao lessonExaminationDao;
 
+    private static final Map<String, String> gradeMap = createGradeMap();
+
     @Override
     public SchoolIndexStatDto stat(SchoolIndexStatWrapper.QueryDto queryDto) {
         List<String> musicGroupIds = new ArrayList<>();
@@ -46,7 +48,7 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
         if(CollectionUtils.isEmpty(musicGroupIds)){
             return result;
         }
-        List<StudentRegistration> studentRegistrations = studentRegistrationDao.findByMusicGroupIds(musicGroupIds, StudentMusicGroupStatusEnum.NORMAL);
+        List<StudentRegistration> studentRegistrations = studentRegistrationDao.findByMusicGroupIds1(musicGroupIds, StudentMusicGroupStatusEnum.NORMAL);
         if(CollectionUtils.isEmpty(studentRegistrations)){
             return result;
         }
@@ -57,9 +59,8 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
         //年级分布
         List<SchoolIndexStatWrapper.GradeDistribution> gradeDistributions = studentRegistrations.stream()
                 .map(e -> {
-                    if (e.getCurrentGrade() == null) {
-                        e.setCurrentGrade("一年级");
-                    }
+                    String gradeName = createGradeMap().getOrDefault(e.getCurrentGrade(), "一年级");
+                    e.setCurrentGrade(gradeName);
                     return e;
                 })
                 .collect(Collectors.groupingBy(
@@ -229,6 +230,23 @@ public class SchoolIndexStatServiceImpl implements SchoolIndexStatService {
             }
         }
     }
+    // 辅助方法:创建年级映射
+    private static Map<String, String> createGradeMap() {
+        Map<String, String> gradeMap = new HashMap<>();
+        gradeMap.put("1", "一年级");
+        gradeMap.put("2", "二年级");
+        gradeMap.put("3", "三年级");
+        gradeMap.put("4", "四年级");
+        gradeMap.put("5", "五年级");
+        gradeMap.put("6", "六年级");
+        gradeMap.put("7", "七年级");
+        gradeMap.put("8", "八年级");
+        gradeMap.put("9", "九年级");
+        gradeMap.put("10", "高一");
+        gradeMap.put("11", "高二");
+        gradeMap.put("12", "高三");
+        return gradeMap;
+    }
 
     // 定义自定义顺序的列表
     List<String> gradeOrder = Arrays.asList(

+ 16 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -1347,6 +1347,22 @@
             AND music_group_status_ = #{musicGroupStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         </if>
     </select>
+    <select id="findByMusicGroupIds1" resultMap="StudentRegistration">
+        select sr.id_, sr.user_id_, sr.name_, sr.music_group_id_,s.current_grade_num_ current_grade_, sr.current_grade_num_, sr.current_grade_date_,
+        sr.current_class_, sr.subject_id_, sr.actual_subject_id_, sr.is_allow_adjust_, sr.kit_purchase_method_, sr.remark_,
+        sr.parents_name_, sr.parents_phone_, sr.parents_company_, sr.payment_status_, sr.class_group_id_, sr.temporary_course_fee_,
+        sr.music_group_status_, sr.surplus_course_fee_, sr.is_merge_, sr.paying_status_, sr.has_cloud_teacher_, sr.none_need_cloud_teacher_, sr.music_group_payment_calender_id_,
+        sr.membership_end_time_, sr.create_time_, sr.update_time_, sr.tenant_id_, sr.original_flag_, sr.expect_surplus_course_fee_
+        from student_registration sr
+        left join student s ON s.user_id_ = sr.user_id_
+        WHERE sr.music_group_id_ IN
+        <foreach collection="groupIds" item="groupId" open="(" close=")" separator=",">
+            #{groupId}
+        </foreach>
+        <if test="musicGroupStatus != null">
+            AND sr.music_group_status_ = #{musicGroupStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        </if>
+    </select>
 
     <update id="quitAllStudent">
         UPDATE student_registration