zouxuan пре 2 година
родитељ
комит
f3dff684f8

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -32,7 +32,9 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      */
     StudentPaymentOrder findByStudentVipGroup(@Param("vipGroupId") Long vipGroupId,
                                               @Param("userId") Integer userId,
-                                              @Param("status") String status);
+                                              @Param("status") String status,
+                                              @Param("orderType") String orderType
+    );
 
     /**
      * @param vipGroupId:

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

@@ -110,7 +110,8 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 
 		int giveClassTimes=0;
 
-		StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDaop.findByStudentVipGroup(vipGroupId, userId, DealStatusEnum.SUCCESS.getCode());
+		StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDaop.findByStudentVipGroup
+				(vipGroupId, userId, DealStatusEnum.SUCCESS.getCode(),"VIP".equals(vipGroup.getGroupType())?"SMALL_CLASS_TO_BUY":"LIVE_GROUP_BUY");
 		BigDecimal couponFee = new BigDecimal(0);
 		if(Objects.nonNull(studentPaymentOrder)){
 			couponFee = studentPaymentOrder.getCouponRemitFee().divide(new BigDecimal(vipGroupCourseSchedules.size()-giveClassTimes), CommonConstants.DECIMAL_PLACE);

+ 108 - 110
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -2355,7 +2355,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
         Date date = new Date();
 
-        if (classGroup.getStudentNum() >= classGroup.getExpectStudentNum()) {
+        if (groupType == VIP && classGroup.getStudentNum() >= classGroup.getExpectStudentNum()) {
             throw new BizException("该课程组人数已满,请联系教务老师!");
         }
 
@@ -2505,114 +2505,113 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 //增加用户余额
                 sysUserCashAccountService.updateBalance(order.getUserId(), order.getActualAmount().add(order.getBalancePaymentAmount()),
                         PlatformCashAccountDetailTypeEnum.REFUNDS, "课程组关闭退还课程余额,订单号:" + order.getOrderNo());
-
                 //退还优惠券
                 sysCouponCodeService.quit(order.getCouponCodeId());
             } else {
-                //活动赠送
-                studentPaymentOrderService.activityGive(vipGroup.getVipGroupActivityId(), order,
-                        vipGroup.getId().toString(), null);
-
-                //生成班级学员关联
-                ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
-                classGroupStudentMapper.setMusicGroupId(classGroup.getMusicGroupId());
-                classGroupStudentMapper.setClassGroupId(classGroup.getId());
-                classGroupStudentMapper.setUserId(userId);
-                classGroupStudentMapper.setCreateTime(date);
-                classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
-                classGroupStudentMapper.setGroupType(groupType);
-                classGroupStudentMapperDao.insert(classGroupStudentMapper);
-
-                //获取班级实际人数
-                Integer studentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(groupType, classGroup.getMusicGroupId());
-                //课程组人数已满,变更状态
-                if (studentNum.equals(classGroup.getExpectStudentNum())) {
-                    vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
-                    classGroup.setDelFlag(0);
-                    VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupCategoryId(),
-                            vipGroup.getOrganId(), vipGroup.getGroupType());
-
-                    //生成课表
-                    List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class);
-                    classGroup.setTotalClassTimes(courseSchedules.size());
-
-                    courseScheduleService.batchAddCourseSchedule1(courseSchedules);
-
-                    //考勤信息
-                    List<TeacherAttendance> teacherAttendances = new ArrayList<>();
-                    //创建课酬信息
-                    List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
-                    Map<String, BigDecimal> stringBigDecimalMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
-                    for (CourseSchedule courseSchedule : courseSchedules) {
-                        //创建教师课程薪水记录
-                        CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
-                        courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
-                        courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
-                        courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
-                        courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
-                        courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
-                        courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
-                        courseScheduleTeacherSalary.setExpectSalary(stringBigDecimalMap.get("offlineTeacherSalary"));
-                        courseScheduleTeacherSalary.setActualSalary(null);
-                        courseScheduleTeacherSalary.setTenantId(tenantId);
-                        courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
-
-                        TeacherAttendance teacherAttendance = new TeacherAttendance();
-                        teacherAttendance.setGroupType(courseSchedule.getGroupType());
-                        teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
-                        teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
-                        teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
-                        teacherAttendance.setCourseScheduleId(courseSchedule.getId());
-                        teacherAttendance.setTenantId(tenantId);
-                        teacherAttendances.add(teacherAttendance);
-                    }
-                    courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
-                    teacherAttendanceDao.batchInsert(teacherAttendances);
+                if(groupType == VIP){
+                    //活动赠送
+                    studentPaymentOrderService.activityGive(vipGroup.getVipGroupActivityId(), order,
+                            vipGroup.getId().toString(), null);
+                    //生成班级学员关联
+                    ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
+                    classGroupStudentMapper.setMusicGroupId(classGroup.getMusicGroupId());
+                    classGroupStudentMapper.setClassGroupId(classGroup.getId());
+                    classGroupStudentMapper.setUserId(userId);
+                    classGroupStudentMapper.setCreateTime(date);
+                    classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
+                    classGroupStudentMapper.setGroupType(groupType);
+                    classGroupStudentMapperDao.insert(classGroupStudentMapper);
+                    //获取班级实际人数
+                    Integer studentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(groupType, classGroup.getMusicGroupId());
+                    //课程组人数已满,变更状态
+                    if (studentNum.equals(classGroup.getExpectStudentNum())) {
+                        vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
+                        classGroup.setDelFlag(0);
+                        VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupCategoryId(),
+                                vipGroup.getOrganId(), vipGroup.getGroupType());
+
+                        //生成课表
+                        List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class);
+                        classGroup.setTotalClassTimes(courseSchedules.size());
+
+                        courseScheduleService.batchAddCourseSchedule1(courseSchedules);
+
+                        //考勤信息
+                        List<TeacherAttendance> teacherAttendances = new ArrayList<>();
+                        //创建课酬信息
+                        List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
+                        Map<String, BigDecimal> stringBigDecimalMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
+                        for (CourseSchedule courseSchedule : courseSchedules) {
+                            //创建教师课程薪水记录
+                            CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+                            courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
+                            courseScheduleTeacherSalary.setGroupType(courseSchedule.getGroupType());
+                            courseScheduleTeacherSalary.setMusicGroupId(courseSchedule.getMusicGroupId());
+                            courseScheduleTeacherSalary.setTeacherRole(TeachTypeEnum.BISHOP);
+                            courseScheduleTeacherSalary.setUserId(courseSchedule.getActualTeacherId().intValue());
+                            courseScheduleTeacherSalary.setClassGroupId(courseSchedule.getClassGroupId());
+                            courseScheduleTeacherSalary.setExpectSalary(stringBigDecimalMap.get("offlineTeacherSalary"));
+                            courseScheduleTeacherSalary.setActualSalary(null);
+                            courseScheduleTeacherSalary.setTenantId(tenantId);
+                            courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+
+                            TeacherAttendance teacherAttendance = new TeacherAttendance();
+                            teacherAttendance.setGroupType(courseSchedule.getGroupType());
+                            teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
+                            teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
+                            teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
+                            teacherAttendance.setCourseScheduleId(courseSchedule.getId());
+                            teacherAttendance.setTenantId(tenantId);
+                            teacherAttendances.add(teacherAttendance);
+                        }
+                        courseScheduleTeacherSalaryDao.batchInsert(courseScheduleTeacherSalaries);
+                        teacherAttendanceDao.batchInsert(teacherAttendances);
 
-                    //群聊数据
-                    Map<Integer, String> userRoleMap = new HashMap<Integer, String>(5);
-                    if (Objects.nonNull(vipGroup.getEducationalTeacherId())) {
-                        userRoleMap.put(vipGroup.getEducationalTeacherId(), "乐团主管");
-                    }
-                    userRoleMap.put(vipGroup.getUserId(), "指导老师");
-                    //生成课程学员关联
-                    List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
-                    List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
-
-                    List<Integer> studentIdList = classGroupStudents.stream().map(e -> e.getUserId()).collect(Collectors.toList());
-                    for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
-                        StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS");
-                        //实际支付金额,去除优惠券
-                        BigDecimal actualPrice = successOrder.getExpectAmount();
-                        BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
-                        BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
-                        for (int i = 0; i < courseSchedules.size(); i++) {
-                            CourseSchedule courseSchedule = courseSchedules.get(i);
-                            CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
-                            courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
-                            courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
-                            courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
-                            courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
-                            courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
-                            if (i == 0) {
-                                courseScheduleStudentPayment.setExpectPrice(firstAmount);
-                            } else {
-                                courseScheduleStudentPayment.setExpectPrice(divide);
+                        //群聊数据
+                        Map<Integer, String> userRoleMap = new HashMap<Integer, String>(5);
+                        if (Objects.nonNull(vipGroup.getEducationalTeacherId())) {
+                            userRoleMap.put(vipGroup.getEducationalTeacherId(), "乐团主管");
+                        }
+                        userRoleMap.put(vipGroup.getUserId(), "指导老师");
+                        //生成课程学员关联
+                        List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
+                        List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
+
+                        List<Integer> studentIdList = classGroupStudents.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+                        for (ClassGroupStudentMapper classGroupStudent : classGroupStudents) {
+                            StudentPaymentOrder successOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroup.getId(), classGroupStudent.getUserId(), "SUCCESS","VIP".equals(vipGroup.getGroupType())?"SMALL_CLASS_TO_BUY":"LIVE_GROUP_BUY");
+                            //实际支付金额,去除优惠券
+                            BigDecimal actualPrice = successOrder.getExpectAmount();
+                            BigDecimal divide = actualPrice.divide(new BigDecimal(courseSchedules.size()), ROUND_DOWN);
+                            BigDecimal firstAmount = actualPrice.subtract(divide.multiply(new BigDecimal(courseSchedules.size()))).add(divide);
+                            for (int i = 0; i < courseSchedules.size(); i++) {
+                                CourseSchedule courseSchedule = courseSchedules.get(i);
+                                CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
+                                courseScheduleStudentPayment.setUserId(classGroupStudent.getUserId());
+                                courseScheduleStudentPayment.setGroupType(courseSchedule.getGroupType());
+                                courseScheduleStudentPayment.setMusicGroupId(courseSchedule.getMusicGroupId());
+                                courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
+                                courseScheduleStudentPayment.setClassGroupId(courseSchedule.getClassGroupId());
+                                if (i == 0) {
+                                    courseScheduleStudentPayment.setExpectPrice(firstAmount);
+                                } else {
+                                    courseScheduleStudentPayment.setExpectPrice(divide);
+                                }
+                                courseScheduleStudentPayment.setOriginalPrice(TeachModeEnum.ONLINE.equals(courseSchedule.getTeachMode()) ? vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice() : vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
+                                courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
+                                courseScheduleStudentPayments.add(courseScheduleStudentPayment);
                             }
-                            courseScheduleStudentPayment.setOriginalPrice(TeachModeEnum.ONLINE.equals(courseSchedule.getTeachMode()) ? vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice() : vipGroupDefaultClassesUnitPrice.getOfflineClassesUnitPrice());
-                            courseScheduleStudentPayment.setActualPrice(courseScheduleStudentPayment.getExpectPrice());
-                            courseScheduleStudentPayments.add(courseScheduleStudentPayment);
+                            userRoleMap.put(classGroupStudent.getUserId(), null);
                         }
-                        userRoleMap.put(classGroupStudent.getUserId(), null);
-                    }
-                    studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
+                        studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
 
-                    courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
+                        courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 
-                    imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(),
-                            vipGroup.getName(), null, null, groupType.getCode(), ImGroup.GroupTypeEnum.valueOf(groupType.name()));
-                    imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
-                    imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
+                        imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(),
+                                vipGroup.getName(), null, null, groupType.getCode(), ImGroup.GroupTypeEnum.valueOf(groupType.name()));
+                        imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
+                        imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
+                    }
                 }
                 SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(userId);
                 //插入缴费明细
@@ -2684,12 +2683,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
         SysUser sysUser = sysUserService.getUser();
         Integer userId = sysUser.getId();
+        VipGroup vipGroup = vipGroupDao.get(vipGroupId);
         StudentApplyRefunds studentApplyRefunds = new StudentApplyRefunds();
-        StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, userId, DealStatusEnum.SUCCESS.getCode());
+        StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, userId, DealStatusEnum.SUCCESS.getCode(),"VIP".equals(vipGroup.getGroupType())?"SMALL_CLASS_TO_BUY":"LIVE_GROUP_BUY");
         if (null == studentPaymentOrder) {
             throw new BizException("未找到相关订单信息!");
         }
-        VipGroup vipGroup = vipGroupDao.get(vipGroupId);
         //剩余课时数
         int surplusCourses = studentPaymentOrderDao.countSurplusCourseByMusicGroupAndUser(vipGroup.getId().toString(), userId);
         if (surplusCourses <= 0) {
@@ -3360,7 +3359,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         List<StudentCourseInfoDto> userCourseInfos  = courseScheduleDao.findUserCourseInfos(GroupType.VIP, vipGroupId.toString(), studentId, null);
 
         if (CollectionUtils.isEmpty(userCourseInfos) && vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)) {
-            StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, studentId, DealStatusEnum.SUCCESS.getCode());
+            StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, studentId, DealStatusEnum.SUCCESS.getCode(),"VIP".equals(vipGroup.getGroupType())?"SMALL_CLASS_TO_BUY":"LIVE_GROUP_BUY");
             if (Objects.nonNull(studentPaymentOrder)) {
                 bigDecimal = studentPaymentOrder.getActualAmount().add(studentPaymentOrder.getBalancePaymentAmount());
             }
@@ -3392,7 +3391,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         result.put("suplusCourseFee", bigDecimal);
 
         if (VipGroupStatusEnum.APPLYING.equals(vipGroup.getStatus())) {
-            StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, studentId, DealStatusEnum.SUCCESS.getCode());
+            StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, studentId, DealStatusEnum.SUCCESS.getCode(),"VIP".equals(vipGroup.getGroupType())?"SMALL_CLASS_TO_BUY":"LIVE_GROUP_BUY");
             if (Objects.nonNull(studentPaymentOrder)) {
                 BigDecimal suplusCourseOriginalFee = studentPaymentOrder.getActualAmount().add(studentPaymentOrder.getBalancePaymentAmount());
                 result.put("suplusCourseOriginalFee", suplusCourseOriginalFee);
@@ -3592,7 +3591,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     @Transactional(rollbackFor = Exception.class)
     public void stopGroup(Long vipGroupId, String stopReason) {
         if (Objects.isNull(vipGroupId)) {
-            throw new BizException("请指定vip课");
+            throw new BizException("请指定课");
         }
         VipGroup vipGroup = vipGroupDao.get(vipGroupId);
         if (Objects.isNull(vipGroup)) {
@@ -3601,12 +3600,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if (vipGroup.getStatus() == VipGroupStatusEnum.CANCEL) {
             throw new BizException("该课程已结束或者已被停止,无法进行此操作");
         }
-        ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(vipGroupId.toString(), "VIP");
+        ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(vipGroupId.toString(), vipGroup.getGroupType());
         if (Objects.isNull(classGroup)) {
             throw new BizException("班级不存在");
         }
         vipGroup.setStopReason(stopReason);
-        List<Long> courseScheduleIds = courseScheduleDao.findVipGroupNotStartCourseScheduleIds(vipGroupId.toString(), GroupType.VIP.getCode());
+        List<Long> courseScheduleIds = courseScheduleDao.findVipGroupNotStartCourseScheduleIds(vipGroupId.toString(),vipGroup.getGroupType());
         if (vipGroup.getStatus() == VipGroupStatusEnum.NOT_START) {
             vipGroup.setStatus(VipGroupStatusEnum.CANCEL);
             vipGroupDao.update(vipGroup);
@@ -3617,7 +3616,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIds);
             }
             teacherPush(vipGroup);
-//			stopVipPush(vipGroup.getId(),vipGroup.getName());
             return;
         }
 
@@ -3642,7 +3640,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
         Map<Integer, BigDecimal> studentSurplusClassFees = MapUtil.convertIntegerMap(maps);
         for (Integer userId : studentSurplusClassFees.keySet()) {
-            StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, userId, DealStatusEnum.SUCCESS.getCode());
+            StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId, userId, DealStatusEnum.SUCCESS.getCode(),"VIP".equals(vipGroup.getGroupType())?"SMALL_CLASS_TO_BUY":"LIVE_GROUP_BUY");
             if (null == studentPaymentOrder) {
                 throw new BizException("无法停止课程,需要全部学员退学后,才能停止,请先操作学员退学。");
             }

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

@@ -505,12 +505,17 @@
         spo.*
         FROM
         student_payment_order spo
-        WHERE spo.user_id_=#{userId}
-        AND spo.music_group_id_=#{vipGroupId}
+        WHERE spo.user_id_ = #{userId}
+        AND spo.music_group_id_ = #{vipGroupId}
         <if test="status!=null and status!=''">
             AND spo.status_=#{status}
         </if>
-        AND spo.type_ = 'SMALL_CLASS_TO_BUY'
+        <if test="orderType != null and orderType != ''">
+            AND spo.type_ = #{orderType}
+        </if>
+        <if test="orderType == null or orderType == ''">
+            AND spo.type_ = 'SMALL_CLASS_TO_BUY'
+        </if>
     </select>
     <select id="sumSurplusCourseFee" resultType="java.math.BigDecimal">
         SELECT SUM(cssp.expect_price_)

+ 10 - 11
mec-student/src/main/java/com/ym/mec/student/controller/CourseController.java

@@ -1,9 +1,7 @@
 package com.ym.mec.student.controller;
 
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dto.CourseScheduleStudentDto;
-import com.ym.mec.biz.dal.dto.StudentCourseInfoDto;
-import com.ym.mec.biz.dal.dto.UserMusicGroupQueryInfo;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.page.CourseDetailQueryInfo;
 import com.ym.mec.biz.dal.page.ImGroupNoticeQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
@@ -12,6 +10,8 @@ import com.ym.mec.biz.service.ImGroupNoticeService;
 import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.entity.ImGroupModel;
+import com.ym.mec.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,19 +30,18 @@ public class CourseController extends BaseController {
     private SysUserService sysUserService;
     @Autowired
     private ImGroupNoticeService imGroupNoticeService;
-    
     @Autowired
     private CourseScheduleDao courseScheduleDao;
 
     @ApiOperation("获取学生所购买课程列表")
     @GetMapping(value = "/queryUserMusicGroups")
-    public Object queryCoursePage(UserMusicGroupQueryInfo queryInfo){
+    public HttpResponseResult<PageInfo<CourseListDto>> queryCoursePage(UserMusicGroupQueryInfo queryInfo){
         return succeed(classGroupService.queryCoursePage(queryInfo,sysUserService.getUserId()));
     }
 
     @ApiOperation("获取学生所购买课程列表")
     @GetMapping(value = "/queryRemainCourseNum")
-    public Object queryRemainCourseNum(){
+    public HttpResponseResult<Integer> queryRemainCourseNum(){
         List<StudentCourseInfoDto> list = courseScheduleDao.findUserSurplusCourseInfoByGroup(null, null, sysUserService.getUserId());
         if(list == null){
         	return succeed(0);
@@ -52,25 +51,25 @@ public class CourseController extends BaseController {
 
     @ApiOperation("获取学员所有聊天群组")
     @GetMapping(value = "/queryUserGroups")
-    public Object queryUserGroups(String search){
+    public HttpResponseResult<List<ImGroupModel>> queryUserGroups(String search){
         return succeed(classGroupService.queryUserGroups(sysUserService.getUserId(),search));
     }
 
     @ApiOperation(value = "获取最新一条群公告")
     @RequestMapping("/getNewNotice")
-    public Object getNewNotice(String groupId) {
+    public HttpResponseResult<ImGroupNoticeDto> getNewNotice(String groupId) {
         return succeed(imGroupNoticeService.queryLatestNotice(groupId));
     }
 
     @ApiOperation(value = "获取群公告列表")
     @RequestMapping("/queryNoticePage")
-    public Object queryPage(ImGroupNoticeQueryInfo queryInfo) {
+    public HttpResponseResult<PageInfo<ImGroupNoticeDto>> queryPage(ImGroupNoticeQueryInfo queryInfo) {
         return succeed(imGroupNoticeService.queryPage(queryInfo));
     }
 
     @ApiOperation(value = "根据群编号,获取群组基本信息")
     @GetMapping("/findGroupById")
-    public Object findGroupById(Integer groupId){
+    public HttpResponseResult<? extends Object> findGroupById(Integer groupId){
         if(null == groupId){
             return failed("参数校验错误");
         }
@@ -79,7 +78,7 @@ public class CourseController extends BaseController {
 
     @ApiOperation(value = "分页获取学员购买记录")
     @PostMapping("/queryStudentPayLog")
-    public Object queryStudentPayLog(StudentPayLogQueryInfo studentPayLogQueryInfo){
+    public HttpResponseResult<PageInfo<StudentPayInfoDto>> queryStudentPayLog(StudentPayLogQueryInfo studentPayLogQueryInfo){
         studentPayLogQueryInfo.setUserId(sysUserService.getUserId());
         return succeed(classGroupService.queryStudentPayLog(studentPayLogQueryInfo));
     }

+ 9 - 10
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -4,8 +4,7 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
 import com.ym.mec.biz.dal.dao.StudentPreRegistrationDao;
-import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
-import com.ym.mec.biz.dal.dto.RegisterPayDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
@@ -60,37 +59,37 @@ public class MusicGroupController extends BaseController {
 
     @ApiOperation("预报名")
     @PostMapping(value = "/preRegister")
-    public Object preRegister(@RequestBody StudentPreRegistration studentPreRegistration) {
+    public HttpResponseResult preRegister(@RequestBody StudentPreRegistration studentPreRegistration) {
         return musicGroupService.preRegister(studentPreRegistration) ? succeed() : failed();
     }
 
     @ApiOperation("预报名信息查询")
     @GetMapping(value = "/queryPreRegister")
-    public Object queryPreRegister(String musicGroupId) {
+    public HttpResponseResult<StudentPreRegistration> queryPreRegister(String musicGroupId) {
         return succeed(studentPreRegistrationDao.queryByMusicGroupIdAndUserId(sysUserService.getUserId(), musicGroupId));
     }
 
     @ApiOperation("获取学生所在乐团列表")
     @GetMapping(value = "/queryUserMusicGroups")
-    public Object queryUserMusicGroups() {
+    public HttpResponseResult<List<MusicCardDto>> queryUserMusicGroups() {
         return succeed(musicGroupService.queryUserMusicGroups(sysUserService.getUserId()));
     }
 
     @ApiOperation("获取学生所在乐团列表")
     @GetMapping(value = "/queryStudentMusicGroupInfo")
-    public Object queryStudentMusicGroupInfo(String musicGroupId) {
+    public HttpResponseResult<List<StudentMusicGroupDto>> queryStudentMusicGroupInfo(String musicGroupId) {
         return succeed(studentRegistrationService.queryStudentMusicGroupInfo(sysUserService.getUserId(),musicGroupId));
     }
 
     @ApiOperation("获取学生个人中心乐团信息")
     @GetMapping(value = "/queryPersonalMusicGroups")
-    public Object queryPersonalMusicGroups() {
+    public HttpResponseResult<MusicCardDto> queryPersonalMusicGroups() {
         return succeed(musicGroupService.queryPersonalMusicGroups(sysUserService.getUserId()));
     }
 
     @ApiOperation(value = "根据学员编号,获取有关联的老师列表,获取学员通讯录列表")
     @GetMapping("/findTeachersByStuId")
-    public Object findTeachersByStuId(String search) {
+    public HttpResponseResult<List<BasicUserDto>> findTeachersByStuId(String search) {
         return succeed(musicGroupService.findTeachersByStuId(sysUserService.getUserId(), search));
     }
 
@@ -202,7 +201,7 @@ public class MusicGroupController extends BaseController {
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String"),
             @ApiImplicitParam(name = "reason", value = "原因", required = true, dataType = "String"),
             @ApiImplicitParam(name = "reasonEnum", value = "原因", required = true, dataType = "String")})
-    public HttpResponseResult quitMusicGroup(String musicGroupId, String reason,MusicGroupQuit.ReasonEnum reasonEnum) throws Exception {
+    public HttpResponseResult<Boolean> quitMusicGroup(String musicGroupId, String reason, MusicGroupQuit.ReasonEnum reasonEnum) throws Exception {
         Integer userId = sysUserService.getUserId();
 		MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
 		musicGroupQuit.setUserId(userId);
@@ -218,7 +217,7 @@ public class MusicGroupController extends BaseController {
     @PostMapping("/cancelQuitMusicGroup")
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "String"),
             @ApiImplicitParam(name = "reason", value = "取消原因", required = true, dataType = "String")})
-    public HttpResponseResult cancelQuitMusicGroup(String musicGroupId, String reason) throws Exception {
+    public HttpResponseResult<Boolean> cancelQuitMusicGroup(String musicGroupId, String reason) throws Exception {
         return succeed(musicGroupService.cancelQuitMusicGroup(sysUserService.getUserId(), musicGroupId, reason));
     }