|
@@ -1,6 +1,7 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.alibaba.fastjson.TypeReference;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.auth.api.entity.SysUserRole;
|
|
@@ -446,13 +447,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
String goodsGroupIds = registerPayDto.getGoodsGroups().keySet().stream().map(Object::toString).collect(Collectors.joining(","));
|
|
|
goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(goodsGroupIds);
|
|
|
for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
|
|
|
- Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
|
|
|
+ Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
|
|
|
+ });
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
|
|
|
if (!groupType.containsKey("GROUP")) {
|
|
|
throw new BizException("乐器提供方式不存在");
|
|
|
}
|
|
|
goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
|
|
|
- remitFee = new BigDecimal((String) groupType.get("GROUP"));
|
|
|
+ remitFee = groupType.get("GROUP");
|
|
|
}
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
|
|
|
if (!groupType.containsKey("LEASE")) {
|
|
@@ -460,14 +462,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
goodsGroup.setPrice(goodsGroup.getDepositFee());
|
|
|
goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.LEASE);
|
|
|
- remitFee = new BigDecimal((String) groupType.get("LEASE"));
|
|
|
+ remitFee = groupType.get("LEASE");
|
|
|
}
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
|
|
|
if (!groupType.containsKey("FREE")) {
|
|
|
throw new BizException("乐器提供方式不存在");
|
|
|
}
|
|
|
goodsGroup.setPrice(new BigDecimal(0));
|
|
|
- remitFee = new BigDecimal((String) groupType.get("FREE"));
|
|
|
+ remitFee = groupType.get("FREE");
|
|
|
}
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
|
|
|
instrumentFee = instrumentFee.add(goodsGroup.getPrice());
|
|
@@ -627,7 +629,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
BigDecimal otherFee = BigDecimal.ZERO;
|
|
|
BigDecimal remitFee = BigDecimal.ZERO;
|
|
|
|
|
|
-
|
|
|
//乐器及打包辅件
|
|
|
List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
|
|
|
if (studentRegistration.getTemporaryCourseFee() != null) {
|
|
@@ -655,7 +656,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
orderAmount = orderAmount.add(orderDetail.getPrice());
|
|
|
}
|
|
|
- } else if (studentRegistration.getTemporaryCourseFee() == null && !registerPayDto.getGoodsGroupIds().equals("")) {
|
|
|
+ } else if (StringUtils.isNoneBlank(registerPayDto.getGoodsGroupIds())) {
|
|
|
goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(registerPayDto.getGoodsGroupIds());
|
|
|
for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && musicOneSubjectClassPlan.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {
|
|
@@ -683,28 +684,29 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
String goodsGroupIds = registerPayDto.getGoodsGroups().keySet().stream().map(Object::toString).collect(Collectors.joining(","));
|
|
|
goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(goodsGroupIds);
|
|
|
for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
|
|
|
- Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
|
|
|
- if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
|
|
|
+ Map<String, BigDecimal> groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), new TypeReference<Map<String, BigDecimal>>() {
|
|
|
+ });
|
|
|
+ if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
|
|
|
if (!groupType.containsKey("GROUP")) {
|
|
|
throw new BizException("乐器提供方式不存在");
|
|
|
}
|
|
|
goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
|
|
|
- remitFee = new BigDecimal((String) groupType.get("GROUP"));
|
|
|
+ remitFee = groupType.get("GROUP");
|
|
|
}
|
|
|
- if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
|
|
|
+ if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
|
|
|
if (!groupType.containsKey("LEASE")) {
|
|
|
throw new BizException("乐器提供方式不存在");
|
|
|
}
|
|
|
goodsGroup.setPrice(goodsGroup.getDepositFee());
|
|
|
goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.LEASE);
|
|
|
- remitFee = new BigDecimal((String) groupType.get("LEASE"));
|
|
|
+ remitFee = groupType.get("LEASE");
|
|
|
}
|
|
|
- if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
|
|
|
+ if (goodsGroup.getType().equals(GoodsType.INSTRUMENT) && registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
|
|
|
if (!groupType.containsKey("FREE")) {
|
|
|
throw new BizException("乐器提供方式不存在");
|
|
|
}
|
|
|
goodsGroup.setPrice(new BigDecimal(0));
|
|
|
- remitFee = new BigDecimal((String) groupType.get("FREE"));
|
|
|
+ remitFee = groupType.get("FREE");
|
|
|
}
|
|
|
if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
|
|
|
instrumentFee = instrumentFee.add(goodsGroup.getPrice());
|