浏览代码

教务端学员列表

zouxuan 4 年之前
父节点
当前提交
37d62f5b52

+ 16 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentManageDao.java

@@ -283,16 +283,28 @@ public interface StudentManageDao {
     /**
      * 获取教务老师关联vip的学员列表
      *
-     * @param groupType
      * @return
      */
-    List<BasicUserDto> queryVipGroupStudents(@Param("userId") Integer userId);
+    List<BasicUserDto> queryVipGroupStudents(Map<String, Object> params);
+
+    /**
+     * 获取教务老师关联vip的学员列表
+     *
+     * @return
+     */
+    int countVipGroupStudents(Map<String, Object> params);
+
+    /**
+     * 获取教务老师关联网管课的学员列表
+     *
+     * @return
+     */
+    List<BasicUserDto> queryPracticeGroupStudents(Map<String, Object> params);
 
     /**
      * 获取教务老师关联网管课的学员列表
      *
-     * @param groupType
      * @return
      */
-    List<BasicUserDto> queryPracticeGroupStudents(@Param("userId") Integer userId);
+    int countPracticeGroupStudents(Map<String, Object> params);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentQueryInfo.java

@@ -10,8 +10,28 @@ import java.util.List;
  */
 public class StudentQueryInfo extends QueryInfo {
 
+    private String groupType;
+
+    private Integer userId;
+
     private List<String> organIdList;
 
+    public String getGroupType() {
+        return groupType;
+    }
+
+    public void setGroupType(String groupType) {
+        this.groupType = groupType;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
     public List<String> getOrganIdList() {
         return organIdList;
     }

+ 2 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/StudentManageService.java

@@ -6,14 +6,7 @@ import java.util.Map;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.Student;
-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.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 
@@ -201,7 +194,7 @@ public interface StudentManageService {
      * @param groupType
      * @return
      */
-    List<BasicUserDto> queryGroupStudents(QueryInfo groupType);
+    PageInfo<BasicUserDto> queryGroupStudents(StudentQueryInfo groupType);
 
     /**
      * 乐团管理--乐团详情--学员列表--获取学员可排课时长

+ 22 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.SporadicChargeTypeEnum;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.SysConfigService;
 
 import com.ym.mec.common.page.QueryInfo;
@@ -41,14 +42,6 @@ import com.ym.mec.biz.dal.entity.SubjectChange;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.Teacher;
 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.service.StudentManageService;
 import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -673,16 +666,33 @@ public class StudentManageServiceImpl implements StudentManageService {
     }
 
     @Override
-    public List<BasicUserDto> queryGroupStudents(QueryInfo queryInfo) {
+    public PageInfo<BasicUserDto> queryGroupStudents(StudentQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(sysUser == null || sysUser.getId() == null){
             throw new BizException("用户信息获取失败");
         }
-        if("VIP".equals(queryInfo.getSearch())){
-            return studentManageDao.queryVipGroupStudents(sysUser.getId());
+        PageInfo<BasicUserDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        queryInfo.setUserId(sysUser.getId());
+        MapUtil.populateMap(params, queryInfo);
+        params.put("offset", pageInfo.getOffset());
+        Integer count = 0;
+        if("VIP".equals(queryInfo.getGroupType())){
+            count = studentManageDao.countVipGroupStudents(params);
         }else {
-            return studentManageDao.queryPracticeGroupStudents(sysUser.getId());
+            count = studentManageDao.countPracticeGroupStudents(params);
         }
+        List<BasicUserDto> dataList = new ArrayList<>();
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            if("VIP".equals(queryInfo.getGroupType())){
+                dataList = studentManageDao.queryVipGroupStudents(params);
+            }else {
+                dataList = studentManageDao.queryPracticeGroupStudents(params);
+            }
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
     }
 
     @Override

+ 18 - 0
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -836,4 +836,22 @@
         GROUP BY cgsm.user_id_
         <include refid="global.limit"/>
     </select>
+
+    <select id="countVipGroupStudents" resultType="int">
+        SELECT COUNT(DISTINCT cgsm.user_id_) FROM
+        vip_group vg
+        LEFT JOIN class_group_student_mapper cgsm ON vg.id_ = cgsm.music_group_id_
+        WHERE cgsm.group_type_ = 'VIP' AND cgsm.status_ != 'QUIT'
+        AND vg.educational_teacher_id_ = #{userId}
+        AND vg.group_status_ IN (0,1,2,5)
+    </select>
+
+    <select id="countPracticeGroupStudents" resultType="int">
+        SELECT COUNT(DISTINCT cgsm.user_id_) FROM
+        practice_group pg
+        LEFT JOIN class_group_student_mapper cgsm ON pg.id_ = cgsm.music_group_id_
+        WHERE cgsm.group_type_ = 'PRACTICE' AND cgsm.status_ != 'QUIT'
+        AND pg.educational_teacher_id_ = #{userId}
+        AND pg.group_status_ NOT IN ('FINISH','CANCEL')
+    </select>
 </mapper>

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EduStudentStudentController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller.education;
 
+import com.ym.mec.biz.dal.page.StudentQueryInfo;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiOperation;
@@ -42,7 +43,7 @@ public class EduStudentStudentController extends BaseController {
 
     @ApiOperation(value = "教务老师关联的学员列表")
     @GetMapping("studentManage/queryGroupStudents")
-    public Object queryGroupStudents(QueryInfo queryInfo){
+    public Object queryGroupStudents(StudentQueryInfo queryInfo){
         return succeed(studentManageService.queryGroupStudents(queryInfo));
     }