|
@@ -368,6 +368,23 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
goodsTotalGroupPurchasePrice = goodsTotalGroupPurchasePrice.add(goods.getGroupPurchasePrice());
|
|
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(",")){
|
|
for(String goodsIdStr : goodsIdsStr.split(",")){
|
|
if(StringUtils.isBlank(goodsIdStr)){
|
|
if(StringUtils.isBlank(goodsIdStr)){
|
|
continue;
|
|
continue;
|
|
@@ -486,14 +503,14 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
subjectChange.setOriginalSubjectId(lastSubjectChange.getChangeSubjectId());
|
|
subjectChange.setOriginalSubjectId(lastSubjectChange.getChangeSubjectId());
|
|
subjectChange.setCooperationOrganId(lastSubjectChange.getCooperationOrganId());
|
|
subjectChange.setCooperationOrganId(lastSubjectChange.getCooperationOrganId());
|
|
subjectChange.setMusicGroupId(musicGroupId);
|
|
subjectChange.setMusicGroupId(musicGroupId);
|
|
- subjectChange.setOriginalCourseFee(subjectChange.getChangeCourseFee());
|
|
|
|
|
|
+ subjectChange.setOriginalCourseFee(lastSubjectChange.getChangeCourseFee());
|
|
subjectChange.setOriginalMusical(lastSubjectChange.getChangeMusical());
|
|
subjectChange.setOriginalMusical(lastSubjectChange.getChangeMusical());
|
|
subjectChange.setOriginalMusicalPrice(lastSubjectChange.getChangeMusicalPrice());
|
|
subjectChange.setOriginalMusicalPrice(lastSubjectChange.getChangeMusicalPrice());
|
|
subjectChange.setOriginalAccessories(lastSubjectChange.getChangeAccessories());
|
|
subjectChange.setOriginalAccessories(lastSubjectChange.getChangeAccessories());
|
|
subjectChange.setOriginalAccessoriesPrice(lastSubjectChange.getChangeAccessoriesPrice());
|
|
subjectChange.setOriginalAccessoriesPrice(lastSubjectChange.getChangeAccessoriesPrice());
|
|
subjectChange.setOriginalCost(lastSubjectChange.getChangeCost());
|
|
subjectChange.setOriginalCost(lastSubjectChange.getChangeCost());
|
|
subjectChange.setOriginalKitGroupPurchaseType(
|
|
subjectChange.setOriginalKitGroupPurchaseType(
|
|
- lastSubjectChange.getOriginalKitGroupPurchaseType() == null ? KitGroupPurchaseTypeEnum.OWNED : lastSubjectChange.getOriginalKitGroupPurchaseType());
|
|
|
|
|
|
+ lastSubjectChange.getKitGroupPurchaseType() == null ? KitGroupPurchaseTypeEnum.OWNED : lastSubjectChange.getKitGroupPurchaseType());
|
|
}
|
|
}
|
|
if (subjectChange.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.OWNED)) {
|
|
if (subjectChange.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.OWNED)) {
|
|
subjectChange.setChangeMusical(null);
|
|
subjectChange.setChangeMusical(null);
|
|
@@ -583,6 +600,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
studentPaymentOrderDetail.setCreateTime(nowDate);
|
|
studentPaymentOrderDetail.setCreateTime(nowDate);
|
|
if(goods.getType() == GoodsType.INSTRUMENT){
|
|
if(goods.getType() == GoodsType.INSTRUMENT){
|
|
studentPaymentOrderDetail.setType(OrderDetailTypeEnum.MUSICAL);
|
|
studentPaymentOrderDetail.setType(OrderDetailTypeEnum.MUSICAL);
|
|
|
|
+ studentPaymentOrderDetail.setKitGroupPurchaseType(subjectChange.getKitGroupPurchaseType());
|
|
}else if(goods.getType() == GoodsType.ACCESSORIES){
|
|
}else if(goods.getType() == GoodsType.ACCESSORIES){
|
|
studentPaymentOrderDetail.setType(OrderDetailTypeEnum.ACCESSORIES);
|
|
studentPaymentOrderDetail.setType(OrderDetailTypeEnum.ACCESSORIES);
|
|
}else if(goods.getType() == GoodsType.TEACHING || goods.getType() == GoodsType.STAFF){
|
|
}else if(goods.getType() == GoodsType.TEACHING || goods.getType() == GoodsType.STAFF){
|
|
@@ -684,6 +702,18 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
|
|
}
|
|
}
|
|
|
|
|
|
studentPaymentOrderDetailList.add(studentPaymentOrderDetail);
|
|
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、存在历史的更换
|
|
//1、存在历史的更换
|
|
SubjectChange studentLastChange = subjectChangeDao.getStudentLastChange(studentId, musicGroupId);
|
|
SubjectChange studentLastChange = subjectChangeDao.getStudentLastChange(studentId, musicGroupId);
|
|
if (studentLastChange != null) {
|
|
if (studentLastChange != null) {
|
|
|
|
+ studentLastChange.setChangeAccessoriesGoods(goodsDao.findGoodsByIds(studentLastChange.getChangeAccessories()));
|
|
|
|
+ studentLastChange.setChangeMusicalGoods(goodsDao.get(studentLastChange.getChangeMusical()));
|
|
return studentLastChange;
|
|
return studentLastChange;
|
|
}
|
|
}
|
|
//2.1不存在历史的更换
|
|
//2.1不存在历史的更换
|