|
@@ -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());
|
|
@@ -683,28 +685,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());
|