Просмотр исходного кода

Merge remote-tracking branch 'origin/master_saas' into master_saas

zouxuan 2 лет назад
Родитель
Сommit
d9f9e307c7

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

@@ -368,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;
@@ -486,14 +503,14 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
             subjectChange.setOriginalSubjectId(lastSubjectChange.getChangeSubjectId());
             subjectChange.setCooperationOrganId(lastSubjectChange.getCooperationOrganId());
             subjectChange.setMusicGroupId(musicGroupId);
-            subjectChange.setOriginalCourseFee(subjectChange.getChangeCourseFee());
+            subjectChange.setOriginalCourseFee(lastSubjectChange.getChangeCourseFee());
             subjectChange.setOriginalMusical(lastSubjectChange.getChangeMusical());
             subjectChange.setOriginalMusicalPrice(lastSubjectChange.getChangeMusicalPrice());
             subjectChange.setOriginalAccessories(lastSubjectChange.getChangeAccessories());
             subjectChange.setOriginalAccessoriesPrice(lastSubjectChange.getChangeAccessoriesPrice());
             subjectChange.setOriginalCost(lastSubjectChange.getChangeCost());
             subjectChange.setOriginalKitGroupPurchaseType(
-                    lastSubjectChange.getOriginalKitGroupPurchaseType() == null ? KitGroupPurchaseTypeEnum.OWNED : lastSubjectChange.getOriginalKitGroupPurchaseType());
+                    lastSubjectChange.getKitGroupPurchaseType() == null ? KitGroupPurchaseTypeEnum.OWNED : lastSubjectChange.getKitGroupPurchaseType());
         }
         if (subjectChange.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.OWNED)) {
             subjectChange.setChangeMusical(null);
@@ -583,6 +600,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 	                studentPaymentOrderDetail.setCreateTime(nowDate);
 	                if(goods.getType() == GoodsType.INSTRUMENT){
 	                	studentPaymentOrderDetail.setType(OrderDetailTypeEnum.MUSICAL);
+	                	studentPaymentOrderDetail.setKitGroupPurchaseType(subjectChange.getKitGroupPurchaseType());
 	                }else if(goods.getType() == GoodsType.ACCESSORIES){
 	                	studentPaymentOrderDetail.setType(OrderDetailTypeEnum.ACCESSORIES);
 	                }else if(goods.getType() == GoodsType.TEACHING || goods.getType() == GoodsType.STAFF){
@@ -684,6 +702,18 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 	                }
 	                
 	                studentPaymentOrderDetailList.add(studentPaymentOrderDetail);
+	                
+	                //分部分润
+	                if(subjectChange.getChangeCourseFee().compareTo(BigDecimal.ZERO) > 0 && studentPaymentOrderDetail.getKitGroupPurchaseType() == KitGroupPurchaseTypeEnum.GROUP) {
+	                	StudentPaymentOrderDetail spod = new StudentPaymentOrderDetail();
+	                    spod.setType(OrderDetailTypeEnum.ORGAN_SHARE_PROFIT);
+	                    spod.setPrice(subjectChange.getChangeCourseFee());
+	                    spod.setRemitFee(BigDecimal.ZERO);
+	                    spod.setCreateTime(nowDate);
+	                    spod.setUpdateTime(nowDate);
+	                    spod.setPaymentOrderId(studentPaymentOrder.getId());
+	                    studentPaymentOrderDetailList.add(spod);
+	                }
 				}
         	}
             
@@ -771,6 +801,8 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
         //1、存在历史的更换
         SubjectChange studentLastChange = subjectChangeDao.getStudentLastChange(studentId, musicGroupId);
         if (studentLastChange != null) {
+        	studentLastChange.setChangeAccessoriesGoods(goodsDao.findGoodsByIds(studentLastChange.getChangeAccessories()));
+        	studentLastChange.setChangeMusicalGoods(goodsDao.get(studentLastChange.getChangeMusical()));
         	return studentLastChange;
         }
         //2.1不存在历史的更换