yonge 2 سال پیش
والد
کامیت
20c963afdd
1فایلهای تغییر یافته به همراه17 افزوده شده و 12 حذف شده
  1. 17 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

+ 17 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -340,18 +340,6 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         StudentPaymentOrderDetail studentPaymentOrderDetail = null;
 
         BigDecimal totalPrice = BigDecimal.ZERO;
-    	
-    	//分润分部
-        /*if(subjectChange.getChangeCourseFee().compareTo(BigDecimal.ZERO) > 0 && subjectChange.getKitGroupPurchaseType() == KitGroupPurchaseTypeEnum.GROUP) {
-        	StudentPaymentOrderDetail spod = new StudentPaymentOrderDetail();
-            spod.setType(OrderDetailTypeEnum.ORGAN_SHARE_PROFIT);
-            spod.setPrice(subjectChange.getChangeCourseFee());
-            spod.setRemitFee(BigDecimal.ZERO);
-            spod.setCreateTime(date);
-            spod.setUpdateTime(date);
-            spod.setPaymentOrderId(studentPaymentOrder.getId());
-            studentPaymentOrderDetailList.add(spod);
-        }*/
         
         List<String> changeGoodsList = new ArrayList<String>();
         
@@ -380,6 +368,23 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 				goodsTotalGroupPurchasePrice = goodsTotalGroupPurchasePrice.add(goods.getGroupPurchasePrice());
         	}
         	
+        	//分润分部
+            if(subjectChange.getChangeCourseFee().compareTo(BigDecimal.ZERO) > 0 && subjectChange.getKitGroupPurchaseType() == KitGroupPurchaseTypeEnum.GROUP) {
+            	
+            	goodsTotalGroupPurchasePrice = goodsTotalGroupPurchasePrice.add(subjectChange.getChangeCourseFee());
+            	
+            	StudentPaymentOrderDetail spod = new StudentPaymentOrderDetail();
+                spod.setType(OrderDetailTypeEnum.ORGAN_SHARE_PROFIT);
+                spod.setPrice(subjectChange.getChangeCourseFee().multiply(goods.getGroupPurchasePrice()).divide(goodsTotalGroupPurchasePrice, BigDecimal.ROUND_DOWN).setScale(2, BigDecimal.ROUND_DOWN));
+                spod.setRemitFee(BigDecimal.ZERO);
+                spod.setCreateTime(date);
+                spod.setUpdateTime(date);
+                spod.setPaymentOrderId(studentPaymentOrder.getId());
+                studentPaymentOrderDetailList.add(spod);
+                
+                totalPrice = totalPrice.add(spod.getPrice());
+            }
+        	
         	for(String goodsIdStr : goodsIdsStr.split(",")){
         		if(StringUtils.isBlank(goodsIdStr)){
 					continue;