zouxuan 5 年之前
父節點
當前提交
195d33a055

+ 7 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java

@@ -99,7 +99,7 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	 * @return java.util.List<com.ym.mec.biz.dal.dto.StudentManageVipGroupDto>
 	 * @describe 获取对应学生vip课
 	 */
-	List<StudentManageVipGroupDto> findStudentVipGroups(Integer userId);
+	List<StudentManageVipGroupDto> findStudentVipGroups(Map<String, Object> params);
 
 	/**
 	 * @Author: Joburgess
@@ -274,5 +274,10 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	List<VipGroup> findNoCreateSuccessVipGroup();
 
 
-
+	/**
+	 * count学员vip课程列表
+	 * @param params
+	 * @return
+	 */
+	int countStudentVipGroups(Map<String, Object> params);
 }

+ 76 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageVipGroupDto.java

@@ -8,16 +8,85 @@ import com.ym.mec.biz.dal.entity.VipGroup;
  * @Author Joburgess
  * @Date 2019/9/20
  */
-public class StudentManageVipGroupDto extends VipGroup {
+public class StudentManageVipGroupDto {
 
-    @ApiModelProperty(value = "课程类型",required = false)
-    private String vipGroupCategory;
+    private String teachMode;
 
-    public String getVipGroupCategory() {
-        return vipGroupCategory;
+    private String realName;
+
+    private Integer studentNum;
+
+    private Integer totalClassTimes;
+
+    private Integer currentClassTimes;
+
+    private String courseDate;
+
+    private String classGroupName;
+
+    private String courseStatus;
+
+    public String getTeachMode() {
+        return teachMode;
+    }
+
+    public void setTeachMode(String teachMode) {
+        this.teachMode = teachMode;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public Integer getStudentNum() {
+        return studentNum;
+    }
+
+    public void setStudentNum(Integer studentNum) {
+        this.studentNum = studentNum;
+    }
+
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
+    public Integer getCurrentClassTimes() {
+        return currentClassTimes;
+    }
+
+    public void setCurrentClassTimes(Integer currentClassTimes) {
+        this.currentClassTimes = currentClassTimes;
+    }
+
+    public String getCourseDate() {
+        return courseDate;
+    }
+
+    public void setCourseDate(String courseDate) {
+        this.courseDate = courseDate;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public String getCourseStatus() {
+        return courseStatus;
     }
 
-    public void setVipGroupCategory(String vipGroupCategory) {
-        this.vipGroupCategory = vipGroupCategory;
+    public void setCourseStatus(String courseStatus) {
+        this.courseStatus = courseStatus;
     }
 }

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

@@ -56,7 +56,7 @@ public interface StudentManageService {
      * @Date: 2019/9/20
      * 获取学生vip课
      */
-    List<StudentManageVipGroupDto> findStudentVipGroups(Integer userID);
+    PageInfo<StudentManageVipGroupDto> findStudentVipGroups(StudentManageCourseQueryInfo queryInfo);
 
     /**
      * @Author: Joburgess

+ 17 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -125,8 +125,23 @@ public class StudentManageServiceImpl implements StudentManageService {
     }
 
     @Override
-    public List<StudentManageVipGroupDto> findStudentVipGroups(Integer userId) {
-        return vipGroupDao.findStudentVipGroups(userId);
+    public PageInfo<StudentManageVipGroupDto> findStudentVipGroups(StudentManageCourseQueryInfo queryInfo) {
+        PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List dataList = null;
+        int count = vipGroupDao.countStudentVipGroups(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = vipGroupDao.findStudentVipGroups(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
     }
 
     @Override

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

@@ -270,7 +270,7 @@
             LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
             LEFT JOIN sys_user su ON sa.teacher_id_=su.id_
         <include refid="studentManageAttendanceQueryCondition"/>
-        ORDER BY sa.id_
+        ORDER BY sa.id_ DESC
         <include refid="global.limit"/>
     </select>
 
@@ -316,7 +316,7 @@
         cg.total_class_times_,sa.current_class_times_,sa.status_,cssp.expect_price_,cssp.actual_price_
         FROM course_schedule_student_payment cssp
         LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
-        LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_
+        LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND sa.user_id_ = cssp.user_id_
         LEFT JOIN class_group cg ON cg.id_ = sa.class_group_id_
         <include refid="studentPaymentSql"/>
         <include refid="global.limit"/>
@@ -341,7 +341,7 @@
         SELECT COUNT(cssp.id_)
         FROM course_schedule_student_payment cssp
         LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
-        LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_
+        LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND sa.user_id_ = cssp.user_id_
         <include refid="studentPaymentSql"/>
     </select>
 

+ 44 - 10
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -56,8 +56,15 @@
         <result column="remark_" property="remark"/>
     </resultMap>
 
-    <resultMap id="studentManageVipGroup" type="com.ym.mec.biz.dal.dto.StudentManageVipGroupDto" extends="VipGroup">
-        <result property="vipGroupCategory" column="vip_group_category_"/>
+    <resultMap id="studentManageVipGroup" type="com.ym.mec.biz.dal.dto.StudentManageVipGroupDto">
+        <result property="teachMode" column="teach_mode_"/>
+        <result property="realName" column="real_name_"/>
+        <result property="studentNum" column="student_num_"/>
+        <result property="totalClassTimes" column="total_class_times_"/>
+        <result property="currentClassTimes" column="current_class_times_"/>
+        <result property="courseDate" column="course_date_"/>
+        <result property="classGroupName" column="class_group_name_"/>
+        <result property="courseStatus" column="course_status_"/>
     </resultMap>
 
     <resultMap id="vipGroupManageDetailDto" type="com.ym.mec.biz.dal.dto.VipGroupManageDetailDto" extends="VipGroup">
@@ -103,14 +110,41 @@
 	</select>
 
     <select id="findStudentVipGroups" resultMap="studentManageVipGroup">
-        SELECT
-            vg.*,
-            vgc.name_ vip_group_category_
-        FROM
-            class_group_student_mapper cgsm
-            LEFT JOIN vip_group vg ON cgsm.music_group_id_=vg.id_
-            LEFT JOIN vip_group_category vgc ON vg.vip_group_category_id_=vgc.id_
-        WHERE cgsm.music_group_id_=vg.id_ AND cgsm.user_id_=#{userId} AND cgsm.group_type_ = 'VIP'
+        SELECT cs.teach_mode_,su.real_name_,cg.student_num_,cg.total_class_times_,cg.current_class_times_,
+        CONCAT(cs.class_date_," ",cs.start_class_time_) course_date_,cg.id_ class_group_id_,cg.name_ class_group_name_,cs.status_ course_status_
+        FROM vip_group vg
+        LEFT JOIN class_group cg ON cg.music_group_id_ = vg.id_
+        LEFT JOIN course_schedule cs ON cs.music_group_id_ = vg.id_
+        LEFT JOIN sys_user su ON su.id_ = cs.actual_teacher_id_
+        LEFT JOIN class_group_student_mapper cgsm ON cgsm.music_group_id_ = vg.id_
+        <where>
+            vg.audit_status_ = 'PASS' AND cs.id_ IS NOT NULL
+            <if test="studentId != null">
+                AND cgsm.user_id_ = #{studentId}
+            </if>
+            <if test="classGroupName != null">
+                AND cg.name_ LIKE CONCAT('%',#{classGroupName},'%')
+            </if>
+        </where>
+        ORDER BY cs.class_date_,cs.start_class_time_
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="countStudentVipGroups" resultType="java.lang.Integer">
+        SELECT COUNT(cs.id_)
+        FROM vip_group vg
+        LEFT JOIN class_group cg ON cg.music_group_id_ = vg.id_
+        LEFT JOIN course_schedule cs ON cs.music_group_id_ = vg.id_
+        LEFT JOIN class_group_student_mapper cgsm ON cgsm.music_group_id_ = vg.id_
+        <where>
+            vg.audit_status_ = 'PASS' AND cs.id_ IS NOT NULL
+            <if test="studentId != null">
+                AND cgsm.user_id_ = #{studentId}
+            </if>
+            <if test="classGroupName != null">
+                AND cg.name_ LIKE CONCAT('%',#{classGroupName},'%')
+            </if>
+        </where>
     </select>
 
     <!-- 全查询 -->

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -109,8 +109,8 @@ public class StudentManageController extends BaseController {
     @ApiOperation(value = "获取学生vip课")
     @GetMapping("/findStudentVipGroups")
     @PreAuthorize("@pcs.hasPermissions('studentManage/findStudentVipGroups')")
-    public Object findStudentVipGroups(Integer userId){
-        return succeed(studentManageService.findStudentVipGroups(userId));
+    public Object findStudentVipGroups(StudentManageCourseQueryInfo queryInfo){
+        return succeed(studentManageService.findStudentVipGroups(queryInfo));
     }
 
     @ApiOperation(value = "获取用户默认账户基本信息")