yonge 4 lat temu
rodzic
commit
2b57ea649d

+ 15 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2043,28 +2043,29 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     studentLastChange = subjectChangeDao.getStudentLastChange(userId, musicGroupId);
                 }
                 
-				for (StudentPaymentOrderDetail detail : orderDetailList) {
+				if (studentLastChange != null) {
+					if (isRefundInstrumentFee) {
+						amount = amount.add(studentLastChange.getChangeMusicalPrice());
+					}
+
+					if (isRefundTeachingAssistantsFee) {
+						amount = amount.add(studentLastChange.getChangeAccessoriesPrice());
+					}
+				} else {
+					for (StudentPaymentOrderDetail detail : orderDetailList) {
 
-					// 退乐器费用
-					if (isRefundInstrumentFee && detail.getType() == OrderDetailTypeEnum.MUSICAL) {
-						if (studentLastChange.getOriginalOrderId() != null && studentLastChange.getOriginalOrderId() == detail.getPaymentOrderId().intValue()) {
-							amount = amount.add(studentLastChange.getChangeMusicalPrice());
-						} else {
+						// 退乐器费用
+						if (isRefundInstrumentFee && detail.getType() == OrderDetailTypeEnum.MUSICAL) {
 							amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
 						}
-					}
 
-					// 退教辅费用
-					if (isRefundTeachingAssistantsFee
-							&& (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING)) {
-						if (studentLastChange.getOriginalOrderId() != null && studentLastChange.getOriginalOrderId() == detail.getPaymentOrderId().intValue()) {
-							amount = amount.add(studentLastChange.getChangeAccessoriesPrice());
-						} else {
+						// 退教辅费用
+						if (isRefundTeachingAssistantsFee
+								&& (detail.getType() == OrderDetailTypeEnum.ACCESSORIES || detail.getType() == OrderDetailTypeEnum.TEACHING)) {
 							amount = amount.add(detail.getPrice()).subtract(detail.getRemitFee());
 						}
 					}
 				}
-            
             }
 
             //退乐保费用