yonge 3 년 전
부모
커밋
732d2599e9

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -331,6 +331,8 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
 			StringBuffer accessoriesId = new StringBuffer();
 			BigDecimal orderTotalAmount = BigDecimal.ZERO;
 			
+			boolean isCalculatedOfAccessories = false;
+			
 			subjectChange = subjectChangeMap.get(studentRegistration.getUserId());
 			
 			for(StudentPaymentOrderDetail spod : orderDetailList){
@@ -359,9 +361,10 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
 		        	}
 				}else if(spod.getType() == OrderDetailTypeEnum.ACCESSORIES){
 					if(subjectChange != null && spod.getPaymentOrderId() <= subjectChange.getOriginalOrderId()) {
-						if(StringUtils.isBlank(subjectChange.getChangeAccessories())){
+						if(StringUtils.isBlank(subjectChange.getChangeAccessories()) || isCalculatedOfAccessories == true){
 							continue;
 						}
+						isCalculatedOfAccessories = true;
 						accessoriesId = accessoriesId.append(subjectChange.getChangeAccessories()).append(",");
 						//accessoriesAmount = accessoriesAmount.add(subjectChange.getChangeAccessoriesPrice());
 						spod.setPrice(subjectChange.getChangeAccessoriesPrice());

+ 7 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -457,7 +457,13 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         		
         for(StudentPaymentOrderDetail detail : details){
         	if(detail.getType() == OrderDetailTypeEnum.ACCESSORIES){
-        		accessoriesOrderDetail = detail;
+        		if(accessoriesOrderDetail == null){
+        			accessoriesOrderDetail = detail;
+        		} else {
+        			if(accessoriesOrderDetail.getPaymentOrderId() < detail.getPaymentOrderId()){
+        				accessoriesOrderDetail = detail;
+        			}
+        		}
         	}else if(detail.getType() == OrderDetailTypeEnum.MUSICAL){
         		musicalOrderDetail = detail;
         	}