|
@@ -472,13 +472,27 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
String goodsGroupIds = registerPayDto.getGoodsGroups().keySet().stream().map(key -> key.toString()).collect(Collectors.joining(","));
|
|
|
goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(goodsGroupIds);
|
|
|
for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
|
|
|
- JSONObject json = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson());
|
|
|
+ Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
|
|
|
+ if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
|
|
|
+ if(!groupType.containsKey("GROUP")){
|
|
|
+ throw new BizException("乐器提供方式不存在");
|
|
|
+ }
|
|
|
+ remitFee = new BigDecimal((String) groupType.get("GROUP"));
|
|
|
+ }
|
|
|
if (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"));
|
|
|
}
|
|
|
if (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"));
|
|
|
}
|
|
|
if(goodsGroup.getType().equals(GoodsType.INSTRUMENT)){
|
|
|
instrumentFee = instrumentFee.add(goodsGroup.getPrice());
|
|
@@ -489,6 +503,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
}
|
|
|
orderAmount = orderAmount.add(goodsGroup.getPrice());
|
|
|
}
|
|
|
+ orderAmount.subtract(remitFee);
|
|
|
}
|
|
|
|
|
|
//单独辅件
|