|
@@ -2180,29 +2180,41 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
studentLastChange = subjectChangeDao.getStudentLastChange(userId, musicGroupId);
|
|
|
}
|
|
|
|
|
|
- if (studentLastChange != null && minPaymentOrderId <= studentLastChange.getOriginalOrderId()) {
|
|
|
- if (isRefundInstrumentFee) {
|
|
|
- amount = amount.add(studentLastChange.getChangeMusicalPrice());
|
|
|
- }
|
|
|
+ if (studentLastChange != null && minPaymentOrderId <= studentLastChange.getOriginalOrderId()) {
|
|
|
+ if (isRefundInstrumentFee) {
|
|
|
+ amount = amount.add(studentLastChange.getChangeMusicalPrice());
|
|
|
+
|
|
|
+ StudentInstrument studentMaintenance = studentInstrumentDao.getByOrderId(studentLastChange.getOrderId().longValue());
|
|
|
+ if (studentMaintenance != null) {
|
|
|
+ studentMaintenance.setDelFlag(1);
|
|
|
+ studentInstrumentDao.update(studentMaintenance);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (isRefundTeachingAssistantsFee) {
|
|
|
- amount = amount.add(studentLastChange.getChangeAccessoriesPrice());
|
|
|
- }
|
|
|
- } else {
|
|
|
- for (StudentPaymentOrderDetail detail : orderDetailList) {
|
|
|
-
|
|
|
- // 退乐器费用
|
|
|
- if (isRefundInstrumentFee && detail.getType() == OrderDetailTypeEnum.MUSICAL) {
|
|
|
- amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
|
|
|
- }
|
|
|
-
|
|
|
- // 退教辅费用
|
|
|
- if (isRefundTeachingAssistantsFee
|
|
|
- && (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING)) {
|
|
|
- amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ if (isRefundTeachingAssistantsFee) {
|
|
|
+ amount = amount.add(studentLastChange.getChangeAccessoriesPrice());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ for (StudentPaymentOrderDetail detail : orderDetailList) {
|
|
|
+
|
|
|
+ // 退乐器费用
|
|
|
+ if (isRefundInstrumentFee && detail.getType() == OrderDetailTypeEnum.MUSICAL) {
|
|
|
+ amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
|
|
|
+
|
|
|
+ StudentInstrument studentMaintenance = studentInstrumentDao.getStudentMaintenance(userId, musicGroupId);
|
|
|
+ if (studentMaintenance != null) {
|
|
|
+ studentMaintenance.setDelFlag(1);
|
|
|
+ studentInstrumentDao.update(studentMaintenance);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 退教辅费用
|
|
|
+ if (isRefundTeachingAssistantsFee
|
|
|
+ && (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING)) {
|
|
|
+ amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//退乐保费用
|
|
@@ -2215,7 +2227,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
amount = amount.add(maintenanceFee);
|
|
|
if (maintenanceFee.compareTo(BigDecimal.ZERO) > 0 && studentMaintenance != null) {
|
|
|
- studentMaintenance.setDelFlag(1);
|
|
|
+ studentMaintenance.setStatus(0);
|
|
|
+ studentMaintenance.setStartTime(null);
|
|
|
+ studentMaintenance.setEndTime(null);
|
|
|
studentInstrumentDao.update(studentMaintenance);
|
|
|
}
|
|
|
}
|
|
@@ -2509,6 +2523,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
amount = amount.add(maintenanceFee);
|
|
|
if (maintenanceFee.compareTo(BigDecimal.ZERO) > 0 && studentMaintenance != null) {
|
|
|
studentMaintenance.setStatus(0);
|
|
|
+ studentMaintenance.setStartTime(null);
|
|
|
+ studentMaintenance.setEndTime(null);
|
|
|
studentInstrumentDao.update(studentMaintenance);
|
|
|
}
|
|
|
}
|
|
@@ -3719,12 +3735,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
List<StudentInstrument> updateList = new ArrayList<StudentInstrument>();
|
|
|
|
|
|
for (StudentInstrument si : studentInstrumentList) {
|
|
|
+ if (si.getDelFlag() == 1) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if (si.getStatus() == 0 && si.getStartTime() == null) {
|
|
|
si.setStatus(1);
|
|
|
si.setStartTime(date);
|
|
|
si.setEndTime(DateUtil.addYears(date, 1));
|
|
|
si.setUpdateTime(date);
|
|
|
-
|
|
|
+
|
|
|
updateList.add(si);
|
|
|
}
|
|
|
}
|