|
@@ -1936,7 +1936,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (hasPaid && musicGroupSubjectPlan != null) {
|
|
|
musicGroupSubjectPlan.setUpdateTime(date);
|
|
|
//减去缴费人数(器乐收费,0元时不减缴费人数)
|
|
|
- if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) || musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE)) {
|
|
|
+ if (musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE) {
|
|
|
if (studentPaymentOrder != null && studentPaymentOrder.getPaymentAccountNo() != null && studentPaymentOrder.getPaymentAccountNo().equals("200")) {
|
|
|
musicGroupSubjectPlan.setPaidZeroNum(musicGroupSubjectPlan.getPaidZeroNum() - 1);
|
|
|
musicGroupSubjectPlan.setPaidStudentNum(musicGroupSubjectPlan.getPaidStudentNum() - 1);
|
|
@@ -1954,6 +1954,32 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ if(isRefundMemberFee){
|
|
|
+ //退云教练费用
|
|
|
+ if (cloudTeacherAmount != null) {
|
|
|
+ Date nowDate = new Date();
|
|
|
+ List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
+ BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
+ if(cloudTeacherOrders.size() > 0){
|
|
|
+ List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
+ for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
+ if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
+ DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
+ quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
+ orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
+ }
|
|
|
+ if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
+ throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
+ }
|
|
|
+ amount = amount.add(cloudTeacherAmount);
|
|
|
+ //清除学员云教练
|
|
|
+ studentService.cleanMember(userId);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
|
|
|
return true;
|
|
|
}
|
|
@@ -2015,32 +2041,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if(isRefundMemberFee){
|
|
|
- //退云教练费用
|
|
|
- if (cloudTeacherAmount != null) {
|
|
|
- Date nowDate = new Date();
|
|
|
- List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
- BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
- if(cloudTeacherOrders.size() > 0){
|
|
|
- List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
- for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
- if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
- DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
- quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
- orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
- }
|
|
|
- }
|
|
|
- cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
- }
|
|
|
- if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
- throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
- }
|
|
|
- amount = amount.add(cloudTeacherAmount);
|
|
|
- //清除学员云教练
|
|
|
- studentService.cleanMember(userId);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
if (amount.doubleValue() > 0) {
|
|
|
// 增加交易流水
|
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
@@ -2189,7 +2189,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (hasPaid && musicGroupSubjectPlan != null) {
|
|
|
musicGroupSubjectPlan.setUpdateTime(date);
|
|
|
//减去缴费人数(器乐收费,0元时不减缴费人数)
|
|
|
- if (musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE) || musicGroup.getCourseViewType().equals(CourseViewTypeEnum.MEMBER_FEE)) {
|
|
|
+ if (musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE) {
|
|
|
if (studentPaymentOrder != null && studentPaymentOrder.getPaymentAccountNo() != null && studentPaymentOrder.getPaymentAccountNo().equals("200")) {
|
|
|
musicGroupSubjectPlan.setPaidZeroNum(musicGroupSubjectPlan.getPaidZeroNum() - 1);
|
|
|
musicGroupSubjectPlan.setPaidStudentNum(musicGroupSubjectPlan.getPaidStudentNum() - 1);
|
|
@@ -2206,6 +2206,31 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
//统计变更学员数
|
|
|
groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
|
|
|
}
|
|
|
+ if (isRefundMemberFee){
|
|
|
+ //退云教练费用
|
|
|
+ if (cloudTeacherAmount != null) {
|
|
|
+ Date nowDate = new Date();
|
|
|
+ List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
+ BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
+ if(cloudTeacherOrders.size() > 0){
|
|
|
+ List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
+ for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
+ if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
+ DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
+ quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
+ orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
+ }
|
|
|
+ if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
+ throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
+ }
|
|
|
+ amount = amount.add(cloudTeacherAmount);
|
|
|
+ //清除学员云教练
|
|
|
+ studentService.cleanMember(userId);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
|
|
|
return true;
|
|
@@ -2268,32 +2293,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (isRefundMemberFee){
|
|
|
- //退云教练费用
|
|
|
- if (cloudTeacherAmount != null) {
|
|
|
- Date nowDate = new Date();
|
|
|
- List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId, musicGroupId);
|
|
|
- BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
- if(cloudTeacherOrders.size() > 0){
|
|
|
- List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
- for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
- if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
- DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
- quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
- orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
- }
|
|
|
- }
|
|
|
- cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
- }
|
|
|
- if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
- throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
- }
|
|
|
- amount = amount.add(cloudTeacherAmount);
|
|
|
- //清除学员云教练
|
|
|
- studentService.cleanMember(userId);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
if (amount.doubleValue() > 0) {
|
|
|
// 增加交易流水
|
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
@@ -2950,6 +2949,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
musicGroupPaymentCalenderCourseSettingsDao.deleteByMusicGroupPaymentCalenderId(calenderIds);
|
|
|
}
|
|
|
}
|
|
|
+ //课程团和amr可以互相修改,但不可以改为会员团
|
|
|
+ if(group.getCourseViewType() != musicGroup.getCourseViewType()){
|
|
|
+ if(group.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
|
|
|
+ throw new BizException("会员收费乐团不可更改收费模式");
|
|
|
+ }
|
|
|
+ if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
|
|
|
+ throw new BizException("当前乐团收费模式不可更改为会员收费");
|
|
|
+ }
|
|
|
+ }
|
|
|
musicGroup.setUpdateTime(date);
|
|
|
musicGroupDao.update(musicGroup);
|
|
|
// 删除乐团付费主体列表
|