zouxuan 5 年之前
父节点
当前提交
146b8ba2b9

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -533,6 +533,14 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<String> queryMusicGroupIds(Map<String, Object> params);
 
     /**
+     * count学员购买的所有乐团和vip编号分页列表
+     *
+     * @param params
+     * @return
+     */
+    Integer countMusicGroupIds(Map<String, Object> params);
+
+    /**
      * @describe 获取学员购买的所有乐团和vip编号分页列表,排除已结束的乐团
      * @author Joburgess
      * @date 2019/12/2
@@ -542,6 +550,15 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<String> queryMusicGroupIdsWithoutOverGroup(Map<String, Object> params);
 
     /**
+     * @describe count学员购买的所有乐团和vip编号分页列表,排除已结束的乐团
+     * @author Joburgess
+     * @date 2019/12/2
+     * @param params: 参数
+     * @return java.util.List<java.lang.String>
+     */
+    Integer countMusicGroupIdsWithoutOverGroup(Map<String, Object> params);
+
+    /**
      * @param startTime: 开始时间
      * @param endTime:   结束时间
      * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -559,6 +559,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<String> musicGroupIds = courseScheduleDao.queryMusicGroupIds(params);
         if (queryInfo.isHideOverGroup()) {
             musicGroupIds = courseScheduleDao.queryMusicGroupIdsWithoutOverGroup(params);
+            pageInfo.setTotal(courseScheduleDao.countMusicGroupIdsWithoutOverGroup(params));
+        }else {
+            pageInfo.setTotal(courseScheduleDao.countMusicGroupIds(params));
         }
         courseListDtos = new ArrayList<>();
         //获取学员所购买的vip课列表详情
@@ -597,7 +600,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 }
             }
         });
-        pageInfo.setTotal(courseListDtos.size());
         pageInfo.setRows(courseListDtos);
         return pageInfo;
     }

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

@@ -579,7 +579,7 @@
         LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
         <include refid="queryMusicGroupCourseScheduleSql"/>
-        ORDER BY cs.class_date_,cs.start_class_time_
+        ORDER BY cs.class_date_ DESC,cs.start_class_time_ DESC
         <include refid="global.limit"/>
     </select>
 
@@ -633,7 +633,7 @@
         FROM vip_group vg
         LEFT JOIN class_group cg ON cg.music_group_id_ = vg.id_
         LEFT JOIN sys_user su ON vg.user_id_ = su.id_
-        WHERE cg.group_type_ = 'VIP' AND FIND_IN_SET(vg.id_,#{musicGroupIds}) AND vg.status_!=3
+        WHERE cg.group_type_ = 'VIP' AND FIND_IN_SET(vg.id_,#{musicGroupIds})
     </select>
     <select id="queryStudentMusicGroupCourses" resultMap="CourseListDto">
         SELECT mg.id_ music_group_id_,mg.name_ music_group_name_,mgsf.payment_status_,
@@ -643,7 +643,7 @@
         LEFT JOIN class_group cg ON cg.music_group_id_ = mg.id_
         LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_
         LEFT JOIN class_group_student_mapper cgsm ON cgsm.class_group_id_ = cg.id_
-        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.group_type_ = 'MUSIC' AND cg.del_flag_ = 0 AND mgsf.user_id_ =
+        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.group_type_ = 'MUSIC' AND mgsf.user_id_ =
         #{userId} AND cgsm.user_id_ = #{userId}
         GROUP BY mg.id_,mgsf.payment_status_
     </select>

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

@@ -1168,19 +1168,39 @@
     <select id="queryMusicGroupIds" resultType="java.lang.String">
         SELECT DISTINCT spo.music_group_id_ FROM student_payment_order spo
         LEFT JOIN class_group_student_mapper cgsm ON spo.music_group_id_ = cgsm.music_group_id_
+        LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
         WHERE spo.type_ != 'OTHER' AND spo.music_group_id_ IS NOT NULL
-        AND spo.user_id_ = #{userId} AND spo.status_='SUCCESS' AND cgsm.status_ != 'QUIT'
+        AND spo.user_id_ = #{userId} AND spo.status_='SUCCESS' AND cgsm.status_ != 'QUIT' AND cg.del_flag_ = 0
+        ORDER BY spo.music_group_id_
         <include refid="global.limit"/>
     </select>
+    <select id="countMusicGroupIds" resultType="int">
+        SELECT COUNT(DISTINCT spo.music_group_id_) FROM student_payment_order spo
+        LEFT JOIN class_group_student_mapper cgsm ON spo.music_group_id_ = cgsm.music_group_id_
+        LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
+        WHERE spo.type_ != 'OTHER' AND spo.music_group_id_ IS NOT NULL
+        AND spo.user_id_ = #{userId} AND spo.status_='SUCCESS' AND cgsm.status_ != 'QUIT' AND cg.del_flag_ = 0
+    </select>
     <select id="queryMusicGroupIdsWithoutOverGroup" resultType="java.lang.String">
         SELECT DISTINCT spo.music_group_id_ FROM student_payment_order spo
         LEFT JOIN class_group_student_mapper cgsm ON spo.music_group_id_ = cgsm.music_group_id_
         LEFT JOIN vip_group vg ON vg.id_=spo.music_group_id_ AND spo.group_type_='VIP'
+        LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
         WHERE spo.type_ != 'OTHER' AND spo.music_group_id_ IS NOT NULL
         AND spo.user_id_ = #{userId} AND spo.status_='SUCCESS' AND cgsm.status_ != 'QUIT'
-        AND IF(spo.group_type_ = 'VIP', (vg.status_ = 4 OR vg.status_ = 3),0)=0
+        AND IF(spo.group_type_ = 'VIP', (vg.status_ = 4 OR vg.status_ = 3),0)=0 AND cg.del_flag_ = 0
         <include refid="global.limit"/>
     </select>
+
+    <select id="countMusicGroupIdsWithoutOverGroup" resultType="int">
+        SELECT COUNT(DISTINCT spo.music_group_id_) FROM student_payment_order spo
+        LEFT JOIN class_group_student_mapper cgsm ON spo.music_group_id_ = cgsm.music_group_id_
+        LEFT JOIN vip_group vg ON vg.id_=spo.music_group_id_ AND spo.group_type_='VIP'
+        LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
+        WHERE spo.type_ != 'OTHER' AND spo.music_group_id_ IS NOT NULL
+        AND spo.user_id_ = #{userId} AND spo.status_='SUCCESS' AND cgsm.status_ != 'QUIT'
+        AND IF(spo.group_type_ = 'VIP', (vg.status_ = 4 OR vg.status_ = 3),0)=0 AND cg.del_flag_ = 0
+    </select>
     <select id="countExistRepeatInDateZone" resultType="int">
         SELECT
           COUNT(csts.course_schedule_id_)

+ 1 - 0
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -161,6 +161,7 @@ public class MusicGroupController extends BaseController {
         ModelMap model = new ModelMap();
         model.put("musicGroup", musicGroup);
         model.put("amount", amount);
+        model.put("nextPaymentDate", musicGroupStudentFee.getNextPaymentDate());
         model.put("musicGroupSubjectPlan", musicGroupSubjectPlan);
 
         return succeed(model);