|
@@ -15,7 +15,6 @@ import java.util.HashMap;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -1875,6 +1874,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
//删除续费周期
|
|
|
musicGroupStudentFeeDao.deleteByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
// 退团
|
|
|
+ BigDecimal surplusCourseFee = studentRegistration.getSurplusCourseFee();
|
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.QUIT);
|
|
|
studentRegistration.setSurplusCourseFee(BigDecimal.ZERO);
|
|
|
studentRegistration.setUpdateTime(date);
|
|
@@ -1921,19 +1921,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
//删除用户购买的课程记录
|
|
|
musicGroupPaymentStudentCourseDetailDao.deleteByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
|
|
|
- //操作人
|
|
|
- SysUser operator = sysUserFeignService.queryUserInfo();
|
|
|
-
|
|
|
- BigDecimal price = courseScheduleStudentPaymentDao.countFinishCoursePriceWithMusicGroup(musicGroupId, GroupType.MUSIC, userId);
|
|
|
- BigDecimal subtractAmount = studentRegistration.getSurplusCourseFee();
|
|
|
- if (Objects.isNull(price)) {
|
|
|
- price = new BigDecimal(0);
|
|
|
- }
|
|
|
- subtractAmount = subtractAmount.subtract(price);
|
|
|
- if (BigDecimal.ZERO.compareTo(subtractAmount) < 0) {
|
|
|
- studentRegistrationService.updateUserSurplusCourseFee(userId, musicGroupId, subtractAmount.negate(), reason, operator.getId());
|
|
|
- }
|
|
|
-
|
|
|
BigDecimal amount = new BigDecimal(0);
|
|
|
|
|
|
// 判断乐器是否是租赁
|
|
@@ -1946,7 +1933,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
if (isRefundCourseFee) {
|
|
|
// 退课程费用
|
|
|
- amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
|
+ amount = amount.add(surplusCourseFee);
|
|
|
}
|
|
|
|
|
|
StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, SUCCESS);
|
|
@@ -2015,12 +2002,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
throw new BizException("退团失败,乐团状态[已取消]或[已暂停]");
|
|
|
}
|
|
|
|
|
|
- // 判断乐器是否是租赁
|
|
|
- StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
- if (studentRegistration == null) {
|
|
|
- throw new BizException("用户注册信息不存在");
|
|
|
- }
|
|
|
-
|
|
|
// 有进行中的课程不能退团
|
|
|
List<CourseSchedule> courseScheduleList = courseScheduleDao.findMusicGroupCourseSchedulesWithStudent(musicGroupId, GroupType.MUSIC.getCode(),
|
|
|
"UNDERWAY", userId);
|
|
@@ -2030,6 +2011,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
courseScheduleStudentPaymentService.updateCourseActualPrice(Arrays.asList(musicGroupId), Arrays.asList(userId), GroupType.MUSIC);
|
|
|
|
|
|
+ // 判断乐器是否是租赁
|
|
|
+ StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
+ if (studentRegistration == null) {
|
|
|
+ throw new BizException("用户注册信息不存在");
|
|
|
+ }
|
|
|
+
|
|
|
Date date = new Date();
|
|
|
|
|
|
MusicGroupQuit musicGroupQuit = new MusicGroupQuit();
|
|
@@ -2056,6 +2043,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
//删除续费周期
|
|
|
musicGroupStudentFeeDao.deleteByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
|
|
|
+ BigDecimal surplusCourseFee = studentRegistration.getSurplusCourseFee();
|
|
|
// 退团
|
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.QUIT);
|
|
|
studentRegistration.setSurplusCourseFee(BigDecimal.ZERO);
|
|
@@ -2103,20 +2091,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
//删除用户购买的课程记录
|
|
|
musicGroupPaymentStudentCourseDetailDao.deleteByUserIdAndMusicGroupId(userId, musicGroupId);
|
|
|
|
|
|
-
|
|
|
- //操作人
|
|
|
- SysUser operator = sysUserFeignService.queryUserInfo();
|
|
|
-
|
|
|
- BigDecimal price = courseScheduleStudentPaymentDao.countFinishCoursePriceWithMusicGroup(musicGroupId, GroupType.MUSIC, userId);
|
|
|
- BigDecimal subtractAmount = studentRegistration.getSurplusCourseFee();
|
|
|
- if (Objects.isNull(price)) {
|
|
|
- price = new BigDecimal(0);
|
|
|
- }
|
|
|
- subtractAmount = subtractAmount.subtract(price);
|
|
|
- if (BigDecimal.ZERO.compareTo(subtractAmount) < 0) {
|
|
|
- studentRegistrationService.updateUserSurplusCourseFee(userId, musicGroupId, subtractAmount.negate(), reason, operator.getId());
|
|
|
- }
|
|
|
-
|
|
|
BigDecimal amount = new BigDecimal(0);
|
|
|
|
|
|
// 判断乐器是否是租赁
|
|
@@ -2129,7 +2103,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
if (isRefundCourseFee) {
|
|
|
// 退课程费用
|
|
|
- amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
|
+ amount = amount.add(surplusCourseFee);
|
|
|
}
|
|
|
|
|
|
StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, SUCCESS);
|