|
@@ -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("无法停止课程,需要全部学员退学后,才能停止,请先操作学员退学。");
|
|
|
}
|