|
@@ -516,7 +516,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
orderAmount = orderAmount.add(courseFee);
|
|
|
|
|
|
BigDecimal remitFee = BigDecimal.ZERO;
|
|
|
- BigDecimal courseRemitFee = BigDecimal.ZERO;
|
|
|
+ BigDecimal courseRemitFee = BigDecimal.ZERO; //课程减免费用
|
|
|
+ boolean remitCourseRFeeFlag = false; //减免课程费用标识
|
|
|
|
|
|
//乐器及打包辅件
|
|
|
List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
|
|
@@ -560,8 +561,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
|
|
|
});
|
|
|
|
|
|
- Map<String, BigDecimal> coursePurchase = JSONObject.parseObject(goodsGroup.getCoursePurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
|
|
|
- });
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
|
|
|
String kitGroupPurchaseType = registerPayDto.getGoodsGroups().get(goodsGroup.getId());
|
|
|
if (!groupType.containsKey(kitGroupPurchaseType)) {
|
|
@@ -569,17 +568,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
if (!kitGroupPurchaseType.equals("GROUP")) {
|
|
|
goodsGroup.setPrice(kitGroupPurchaseType.equals("FREE") ? new BigDecimal(0) : goodsGroup.getDepositFee());
|
|
|
+ }else{
|
|
|
+ remitCourseRFeeFlag = goodsGroup.getGroupRemissionCourseFee().equals(1);
|
|
|
}
|
|
|
goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.valueOf(kitGroupPurchaseType));
|
|
|
remitFee = groupType.get(kitGroupPurchaseType) == null ? BigDecimal.ZERO : groupType.get(kitGroupPurchaseType);
|
|
|
- if (coursePurchase != null) {
|
|
|
- courseRemitFee = coursePurchase.get(kitGroupPurchaseType) == null ? BigDecimal.ZERO : coursePurchase.get(kitGroupPurchaseType);
|
|
|
- }
|
|
|
}
|
|
|
orderAmount = orderAmount.add(goodsGroup.getPrice());
|
|
|
goodsGroup.setGoodsList(goodsService.findGoodsByIds(goodsGroup.getGoodsIdList()));
|
|
|
}
|
|
|
- orderAmount = orderAmount.subtract(remitFee).subtract(courseRemitFee);
|
|
|
+ orderAmount = orderAmount.subtract(remitFee);
|
|
|
}
|
|
|
|
|
|
//单独辅件
|
|
@@ -625,6 +623,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (registerPayDto.getNewCourse() != null && registerPayDto.getNewCourse().size() > 0) {
|
|
|
newCourses = musicGroupPaymentCalenderCourseSettingsDao.getCalenderCourseSettings(registerPayDto.getNewCourse());
|
|
|
for (MusicGroupPaymentCalenderCourseSettings calenderCourseSetting : newCourses) {
|
|
|
+ if(remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()){
|
|
|
+ courseRemitFee = courseRemitFee.add(calenderCourseSetting.getCourseCurrentPrice());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
orderAmount = orderAmount.add(calenderCourseSetting.getCourseCurrentPrice());
|
|
|
}
|
|
|
}
|
|
@@ -734,7 +736,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
orderAmount = orderAmount.add(courseFee);
|
|
|
|
|
|
BigDecimal remitFee = BigDecimal.ZERO;
|
|
|
- BigDecimal courseRemitFee = BigDecimal.ZERO;
|
|
|
+ BigDecimal courseRemitFee = BigDecimal.ZERO; //课程减免费用
|
|
|
+ boolean remitCourseRFeeFlag = false; //减免课程费用标识
|
|
|
+
|
|
|
|
|
|
//乐器及打包辅件
|
|
|
List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
|
|
@@ -777,8 +781,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
|
|
|
Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
|
|
|
});
|
|
|
- Map<String, BigDecimal> coursePurchase = JSONObject.parseObject(goodsGroup.getCoursePurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
|
|
|
- });
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
|
|
|
String kitGroupPurchaseType = registerPayDto.getGoodsGroups().get(goodsGroup.getId());
|
|
|
if (!groupType.containsKey(kitGroupPurchaseType)) {
|
|
@@ -786,12 +788,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
if (!kitGroupPurchaseType.equals("GROUP")) {
|
|
|
goodsGroup.setPrice(kitGroupPurchaseType.equals("FREE") ? new BigDecimal(0) : goodsGroup.getDepositFee());
|
|
|
+ }else {
|
|
|
+ remitCourseRFeeFlag = goodsGroup.getGroupRemissionCourseFee().equals(1);
|
|
|
}
|
|
|
goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.valueOf(kitGroupPurchaseType));
|
|
|
remitFee = groupType.get(kitGroupPurchaseType);
|
|
|
- if (coursePurchase != null) {
|
|
|
- courseRemitFee = coursePurchase.get(kitGroupPurchaseType) == null ? BigDecimal.ZERO : coursePurchase.get(kitGroupPurchaseType);
|
|
|
- }
|
|
|
}
|
|
|
orderAmount = orderAmount.add(goodsGroup.getPrice());
|
|
|
goodsGroup.setGoodsList(goodsService.findGoodsByIds(goodsGroup.getGoodsIdList()));
|
|
@@ -842,6 +843,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
if (registerPayDto.getNewCourse() != null && registerPayDto.getNewCourse().size() > 0) {
|
|
|
newCourses = musicGroupPaymentCalenderCourseSettingsDao.getCalenderCourseSettings(registerPayDto.getNewCourse());
|
|
|
for (MusicGroupPaymentCalenderCourseSettings calenderCourseSetting : newCourses) {
|
|
|
+ if(remitCourseRFeeFlag && !calenderCourseSetting.getIsStudentOptional()){
|
|
|
+ courseRemitFee = courseRemitFee.add(calenderCourseSetting.getCourseCurrentPrice());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
orderAmount = orderAmount.add(calenderCourseSetting.getCourseCurrentPrice());
|
|
|
}
|
|
|
}
|