Joburgess 5 tahun lalu
induk
melakukan
bb1cf94033

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

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

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/UserMusicGroupQueryInfo.java

@@ -0,0 +1,20 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.common.page.QueryInfo;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/12/2
+ */
+public class UserMusicGroupQueryInfo extends QueryInfo {
+
+    private boolean hideOverGroup;
+
+    public boolean isHideOverGroup() {
+        return hideOverGroup;
+    }
+
+    public void setHideOverGroup(boolean hideOverGroup) {
+        this.hideOverGroup = hideOverGroup;
+    }
+}

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

@@ -14,7 +14,6 @@ import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -139,7 +138,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param queryInfo
      * @return
      */
-    PageInfo<CourseListDto> queryCoursePage(QueryInfo queryInfo,Integer userId);
+    PageInfo<CourseListDto> queryCoursePage(UserMusicGroupQueryInfo queryInfo,Integer userId);
 
     /**
      * 获取学员所在群组信息

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

@@ -514,7 +514,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-    public PageInfo<CourseListDto> queryCoursePage(QueryInfo queryInfo, Integer userId) {
+    public PageInfo<CourseListDto> queryCoursePage(UserMusicGroupQueryInfo queryInfo, Integer userId) {
         queryInfo.setSearch(userId.toString());
         PageInfo<CourseListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>();
@@ -524,6 +524,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //获取分页前的所有的乐团编号和vip编号
         params.put("offset", pageInfo.getOffset());
         List<String> musicGroupIds = courseScheduleDao.queryMusicGroupIds(params);
+        if(queryInfo.isHideOverGroup()){
+            musicGroupIds = courseScheduleDao.queryMusicGroupIdsWithoutOverGroup(params);
+        }
         courseListDtos = new ArrayList<>();
         //获取学员所购买的vip课列表详情
         List<CourseListDto> vipCourses = classGroupDao.queryStudentVipCourses(StringUtils.join(musicGroupIds, ","), userId);

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

@@ -326,7 +326,9 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             }
 
         });
-        sysUserCashAccountDetailDao.batchInsert(userCashAccountDetails);
+        if(!CollectionUtils.isEmpty(userCashAccountDetails)){
+            sysUserCashAccountDetailDao.batchInsert(userCashAccountDetails);
+        }
     }
 
     @Override

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1157,6 +1157,15 @@
         AND spo.user_id_ = #{userId} AND spo.status_='SUCCESS' AND cgsm.status_ != 'QUIT'
         <include refid="global.limit"/>
     </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'
+        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
+        <include refid="global.limit"/>
+    </select>
     <select id="countExistRepeatInDateZone" resultType="int">
         SELECT
           COUNT(csts.course_schedule_id_)

+ 2 - 3
mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java

@@ -2,13 +2,12 @@ package com.ym.mec.student.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.UserMusicGroupQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -27,7 +26,7 @@ public class CourseController extends BaseController {
 
     @ApiOperation("获取学生所购买课程列表")
     @GetMapping(value = "/queryUserMusicGroups")
-    public Object queryCoursePage(QueryInfo queryInfo){
+    public Object queryCoursePage(UserMusicGroupQueryInfo queryInfo){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(sysUser == null){
             return failed("获取用户信息失败");