zouxuan 5 년 전
부모
커밋
2801b2d985

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentManageDao.java

@@ -288,4 +288,11 @@ public interface StudentManageDao {
      * @return
      */
     List<BasicUserDto> queryCanAddStudent(@Param("musicGroupId") String musicGroupId, @Param("musicGroupPaymentCalenderId") Long musicGroupPaymentCalenderId);
+
+    /**
+     * 学员是否有课
+     * @param userIds
+     * @return
+     */
+    List<Map<Integer,Integer>> queryHasCourseMap(@Param("userIds") Set<Integer> userIds);
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java

@@ -56,7 +56,7 @@ public class StudentManageListDto {
 
     private Integer organId;
 
-    private Integer serviceTag;
+    private YesOrNoEnum serviceTag;
 
     private YesOrNoEnum operatingTag;
 
@@ -74,11 +74,11 @@ public class StudentManageListDto {
     
     private Integer teacherId;
 
-    public Integer getServiceTag() {
+    public YesOrNoEnum getServiceTag() {
         return serviceTag;
     }
 
-    public void setServiceTag(Integer serviceTag) {
+    public void setServiceTag(YesOrNoEnum serviceTag) {
         this.serviceTag = serviceTag;
     }
 

+ 15 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -1,33 +1,14 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.*;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.page.MusicGroupStudentQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageCourseQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageQueryInfo;
-import com.ym.mec.biz.dal.page.StudentManageVipClassQueryInfo;
-import com.ym.mec.biz.dal.page.StudentOperatingQueryInfo;
-import com.ym.mec.biz.dal.page.StudentSignQueryInfo;
-import com.ym.mec.biz.dal.page.TeacherPaymentRecordInfo;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.common.entity.ImResult;
@@ -36,6 +17,13 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author Joburgess
@@ -140,6 +128,8 @@ public class StudentManageServiceImpl implements StudentManageService {
             Map<Integer,String> vipGroupStatus = MapUtil.convertMybatisMap(vipGroupDao.queryUserVipStatus(userIds));
             //获取所在声部
             Map<Integer,String> subjectNames = MapUtil.convertMybatisMap(studentManageDao.querySubjectNames(userIds));
+            //学员是否有课
+            Map<Integer,Integer> hasCourseMap = MapUtil.convertMybatisMap(studentManageDao.queryHasCourseMap(userIds));
             dataList.forEach(e -> {
                 e.setOrganName(organNames.get(e.getOrganId()));
                 e.setMusicGroupName(musicGroupNames.get(e.getUserId().longValue()));
@@ -147,7 +137,8 @@ public class StudentManageServiceImpl implements StudentManageService {
                 e.setSubjectName(subjectNames.get(e.getUserId().longValue()));
                 e.setMusicGroupStatus(musicGroupStatus.get(e.getUserId().longValue()));
                 e.setVipGroupStatus(vipGroupStatus.get(e.getUserId()));
-                if(hasCourse == null){
+                e.setHasCourse(hasCourseMap.get(e.getUserId())==null?YesOrNoEnum.NO:YesOrNoEnum.YES);
+                /*if(hasCourse == null){
                     Integer course = studentManageDao.getHasCourse(e.getUserId());
                     e.setHasCourse(course==null?YesOrNoEnum.NO:course==0?YesOrNoEnum.NO:YesOrNoEnum.YES);
                 }else {
@@ -156,7 +147,7 @@ public class StudentManageServiceImpl implements StudentManageService {
                     }else {
                         e.setHasCourse(YesOrNoEnum.NO);
                     }
-                }
+                }*/
                 e.setHasPracticeCourse(hasPracticeCourseMap.get(e.getUserId()) == null?YesOrNoEnum.NO:YesOrNoEnum.YES);
                 if(collect.get(e.getUserId()) != null){
                     e.setCourseBalance(collect.get(e.getUserId()).getCourseBalance());

+ 11 - 1
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -746,7 +746,7 @@
         <result property="organId" column="organ_id_"/>
         <result property="subjectName" column="music_group_subject_"/>
         <result property="courseBalance" column="course_balance_"/>
-        <result property="serviceTag" column="service_tag_" />
+        <result property="serviceTag" column="service_tag_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result property="operatingTag" column="operating_tag_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result property="teacherName" column="teacher_name_"/>
         <result property="teacherId" column="teacher_id_"/>
@@ -901,5 +901,15 @@
         WHERE mgpc.id_ = #{musicGroupPaymentCalenderId}
         ) AND mgsf.music_group_id_ = #{musicGroupId}
     </select>
+    <select id="queryHasCourseMap" resultType="java.util.Map">
+        SELECT su.id_ 'key',COUNT(DISTINCT su.id_) 'value' FROM sys_user su
+        LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = su.id_
+        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+        WHERE cs.status_ != 'OVER' AND su.id_ IN
+        <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
+            #{userId}
+        </foreach>
+        GROUP BY su.id_
+    </select>
 
 </mapper>