|
@@ -1694,53 +1694,52 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
musicGroupSubjectPlan.setUpdateTime(date);
|
|
musicGroupSubjectPlan.setUpdateTime(date);
|
|
musicGroupSubjectPlanDao.update(musicGroupSubjectPlan);
|
|
musicGroupSubjectPlanDao.update(musicGroupSubjectPlan);
|
|
}
|
|
}
|
|
-
|
|
|
|
- StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, SUCCESS);
|
|
|
|
-
|
|
|
|
- if (studentPaymentOrder == null) {
|
|
|
|
- //兼容历史数据
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
|
|
|
|
-
|
|
|
|
|
|
+
|
|
if (isRefundCourseFee) {
|
|
if (isRefundCourseFee) {
|
|
// 退课程费用
|
|
// 退课程费用
|
|
amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
}
|
|
}
|
|
|
|
|
|
- SubjectChange studentLastChange = null;
|
|
|
|
- if (isRefundInstrumentFee || isRefundTeachingAssistantsFee) {
|
|
|
|
- studentLastChange = subjectChangeDao.getStudentLastChange(userId, musicGroupId);
|
|
|
|
- }
|
|
|
|
|
|
+ StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, SUCCESS);
|
|
|
|
|
|
- BigDecimal remitFee = studentPaymentOrder.getRemitFee() == null ? BigDecimal.ZERO : studentPaymentOrder.getRemitFee();
|
|
|
|
- for (StudentPaymentOrderDetail detail : orderDetailList) {
|
|
|
|
- if (remitFee.compareTo(detail.getPrice()) >= 0) {
|
|
|
|
- remitFee = remitFee.subtract(detail.getPrice());
|
|
|
|
- detail.setPrice(BigDecimal.ZERO);
|
|
|
|
- } else {
|
|
|
|
- detail.setPrice(detail.getPrice().subtract(remitFee));
|
|
|
|
- remitFee = BigDecimal.ZERO;
|
|
|
|
|
|
+ if (studentPaymentOrder != null) {
|
|
|
|
+ List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
|
|
|
|
+
|
|
|
|
+ SubjectChange studentLastChange = null;
|
|
|
|
+ if (isRefundInstrumentFee || isRefundTeachingAssistantsFee) {
|
|
|
|
+ studentLastChange = subjectChangeDao.getStudentLastChange(userId, musicGroupId);
|
|
}
|
|
}
|
|
|
|
|
|
- if (isRefundInstrumentFee && studentLastChange == null) {
|
|
|
|
- // 退乐器费用
|
|
|
|
- if (detail.getType() == OrderDetailTypeEnum.MUSICAL) {
|
|
|
|
- amount = amount.add(detail.getPrice());
|
|
|
|
|
|
+ BigDecimal remitFee = studentPaymentOrder.getRemitFee() == null ? BigDecimal.ZERO : studentPaymentOrder.getRemitFee();
|
|
|
|
+ for (StudentPaymentOrderDetail detail : orderDetailList) {
|
|
|
|
+ if (remitFee.compareTo(detail.getPrice()) >= 0) {
|
|
|
|
+ remitFee = remitFee.subtract(detail.getPrice());
|
|
|
|
+ detail.setPrice(BigDecimal.ZERO);
|
|
|
|
+ } else {
|
|
|
|
+ detail.setPrice(detail.getPrice().subtract(remitFee));
|
|
|
|
+ remitFee = BigDecimal.ZERO;
|
|
}
|
|
}
|
|
|
|
|
|
- }
|
|
|
|
- if (isRefundTeachingAssistantsFee && studentLastChange == null) {
|
|
|
|
- // 退教辅费用
|
|
|
|
- if (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING) {
|
|
|
|
- amount = amount.add(detail.getPrice());
|
|
|
|
|
|
+ if (isRefundInstrumentFee && studentLastChange == null) {
|
|
|
|
+ // 退乐器费用
|
|
|
|
+ if (detail.getType() == OrderDetailTypeEnum.MUSICAL) {
|
|
|
|
+ amount = amount.add(detail.getPrice());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ if (isRefundTeachingAssistantsFee && studentLastChange == null) {
|
|
|
|
+ // 退教辅费用
|
|
|
|
+ if (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING) {
|
|
|
|
+ amount = amount.add(detail.getPrice());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (studentLastChange != null) {
|
|
|
|
+ amount = amount.add(studentLastChange.getChangeMusicalPrice()).add(studentLastChange.getChangeAccessoriesPrice());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- if (studentLastChange != null) {
|
|
|
|
- amount = amount.add(studentLastChange.getChangeMusicalPrice()).add(studentLastChange.getChangeAccessoriesPrice());
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+
|
|
if (amount.doubleValue() > 0) {
|
|
if (amount.doubleValue() > 0) {
|
|
// 增加交易流水
|
|
// 增加交易流水
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
@@ -1860,52 +1859,52 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
musicGroupSubjectPlan.setUpdateTime(date);
|
|
musicGroupSubjectPlan.setUpdateTime(date);
|
|
musicGroupSubjectPlanDao.update(musicGroupSubjectPlan);
|
|
musicGroupSubjectPlanDao.update(musicGroupSubjectPlan);
|
|
}
|
|
}
|
|
-
|
|
|
|
- StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, SUCCESS);
|
|
|
|
-
|
|
|
|
- if (studentPaymentOrder == null) {
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
|
|
|
|
-
|
|
|
|
|
|
+
|
|
if (isRefundCourseFee) {
|
|
if (isRefundCourseFee) {
|
|
// 退课程费用
|
|
// 退课程费用
|
|
amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
amount = amount.add(studentRegistration.getSurplusCourseFee());
|
|
}
|
|
}
|
|
|
|
|
|
- SubjectChange studentLastChange = null;
|
|
|
|
- if (isRefundInstrumentFee || isRefundTeachingAssistantsFee) {
|
|
|
|
- studentLastChange = subjectChangeDao.getStudentLastChange(userId, musicGroupId);
|
|
|
|
- }
|
|
|
|
|
|
+ StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, SUCCESS);
|
|
|
|
|
|
- BigDecimal remitFee = studentPaymentOrder.getRemitFee() == null ? BigDecimal.ZERO : studentPaymentOrder.getRemitFee();
|
|
|
|
|
|
+ if (studentPaymentOrder != null) {
|
|
|
|
+ List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
|
|
|
|
|
|
- for (StudentPaymentOrderDetail detail : orderDetailList) {
|
|
|
|
- if (remitFee.compareTo(detail.getPrice()) >= 0) {
|
|
|
|
- remitFee = remitFee.subtract(detail.getPrice());
|
|
|
|
- detail.setPrice(BigDecimal.ZERO);
|
|
|
|
- } else {
|
|
|
|
- detail.setPrice(detail.getPrice().subtract(remitFee));
|
|
|
|
- remitFee = BigDecimal.ZERO;
|
|
|
|
|
|
+ SubjectChange studentLastChange = null;
|
|
|
|
+ if (isRefundInstrumentFee || isRefundTeachingAssistantsFee) {
|
|
|
|
+ studentLastChange = subjectChangeDao.getStudentLastChange(userId, musicGroupId);
|
|
}
|
|
}
|
|
- if (isRefundInstrumentFee && studentLastChange == null) {
|
|
|
|
- // 退乐器费用
|
|
|
|
- if (detail.getType() == OrderDetailTypeEnum.MUSICAL) {
|
|
|
|
- amount = amount.add(detail.getPrice());
|
|
|
|
|
|
+
|
|
|
|
+ BigDecimal remitFee = studentPaymentOrder.getRemitFee() == null ? BigDecimal.ZERO : studentPaymentOrder.getRemitFee();
|
|
|
|
+
|
|
|
|
+ for (StudentPaymentOrderDetail detail : orderDetailList) {
|
|
|
|
+ if (remitFee.compareTo(detail.getPrice()) >= 0) {
|
|
|
|
+ remitFee = remitFee.subtract(detail.getPrice());
|
|
|
|
+ detail.setPrice(BigDecimal.ZERO);
|
|
|
|
+ } else {
|
|
|
|
+ detail.setPrice(detail.getPrice().subtract(remitFee));
|
|
|
|
+ remitFee = BigDecimal.ZERO;
|
|
}
|
|
}
|
|
|
|
+ if (isRefundInstrumentFee && studentLastChange == null) {
|
|
|
|
+ // 退乐器费用
|
|
|
|
+ if (detail.getType() == OrderDetailTypeEnum.MUSICAL) {
|
|
|
|
+ amount = amount.add(detail.getPrice());
|
|
|
|
+ }
|
|
|
|
|
|
- }
|
|
|
|
- if (isRefundTeachingAssistantsFee && studentLastChange == null) {
|
|
|
|
- // 退教辅费用
|
|
|
|
- if (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING) {
|
|
|
|
- amount = amount.add(detail.getPrice());
|
|
|
|
|
|
+ }
|
|
|
|
+ if (isRefundTeachingAssistantsFee && studentLastChange == null) {
|
|
|
|
+ // 退教辅费用
|
|
|
|
+ if (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING) {
|
|
|
|
+ amount = amount.add(detail.getPrice());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (studentLastChange != null) {
|
|
|
|
+ amount = amount.add(studentLastChange.getChangeMusicalPrice()).add(studentLastChange.getChangeAccessoriesPrice());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- if (studentLastChange != null) {
|
|
|
|
- amount = amount.add(studentLastChange.getChangeMusicalPrice()).add(studentLastChange.getChangeAccessoriesPrice());
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+
|
|
if (amount.doubleValue() > 0) {
|
|
if (amount.doubleValue() > 0) {
|
|
// 增加交易流水
|
|
// 增加交易流水
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|
|
sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
|