yonge há 4 anos atrás
pai
commit
6ae5247a24

+ 15 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -405,8 +405,17 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 
         List<StudentPaymentOrderDetail> details = studentPaymentOrderDetailDao.getWithIds(paymentOrderIdList);
         
+
         //查询乐器订单
-        StudentPaymentOrderDetail musicalOrderDetail = details.stream().filter(t -> t.getType().equals(OrderDetailTypeEnum.MUSICAL)).findFirst().get();
+        StudentPaymentOrderDetail musicalOrderDetail =null, accessoriesOrderDetail = null;
+        		
+        for(StudentPaymentOrderDetail detail : details){
+        	if(detail.getType() == OrderDetailTypeEnum.ACCESSORIES){
+        		accessoriesOrderDetail = detail;
+        	}else if(detail.getType() == OrderDetailTypeEnum.MUSICAL){
+        		musicalOrderDetail = detail;
+        	}
+        }
 
         Set<Integer> refundSellOrderGoodsIds = getRefundGoodsId(details.stream().map(t -> t.getPaymentOrderId()).collect(Collectors.toList()));
 
@@ -415,7 +424,11 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         subjectChange.setOrganId(musicGroup.getOrganId());
         subjectChange.setCooperationOrganId(musicGroup.getCooperationOrganId());
         subjectChange.setMusicGroupId(musicGroupId);
-        subjectChange.setOrderId(musicalOrderDetail.getPaymentOrderId().intValue());
+		if (musicalOrderDetail != null) {
+			subjectChange.setOrderId(musicalOrderDetail.getPaymentOrderId().intValue());
+		} else if (accessoriesOrderDetail != null) {
+			subjectChange.setOrderId(accessoriesOrderDetail.getPaymentOrderId().intValue());
+		}
         String accessoriesIds = "";
         BigDecimal accessoriesPrice = BigDecimal.ZERO;
         for (StudentPaymentOrderDetail detail : details) {