Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/feature-goods-river' into feature-goods-river

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
周箭河 5 gadi atpakaļ
vecāks
revīzija
4e46121fbf

+ 12 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysMenu.java

@@ -22,6 +22,10 @@ public class SysMenu {
 	@ApiModelProperty(value = "菜单权限标识",required = false)
 	private String permission;
 
+	/** 菜单权限标识 */
+	@ApiModelProperty(value = "顶级菜单权限标识",required = false)
+	private String parentPermission;
+
 	/** 接口路径 */
 	@ApiModelProperty(value = "接口路径",required = false)
 	private String path;
@@ -65,6 +69,14 @@ public class SysMenu {
 	@ApiModelProperty(value = "子节点列表",required = false)
 	private List<SysMenu> sysMenus;
 
+	public String getParentPermission() {
+		return parentPermission;
+	}
+
+	public void setParentPermission(String parentPermission) {
+		this.parentPermission = parentPermission;
+	}
+
 	public Integer getHid() {
 		return hid;
 	}

+ 3 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysMenuServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.auth.service.impl;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -44,6 +45,7 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 			sysMenus = sysMenuDao.findByParentId(menuQueryInfo.getParentId(),menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId(),menuQueryInfo.getHid());
 		}
 		for (SysMenu menu:sysMenus) {
+			menu.setParentPermission(menu.getPermission());
 			menu = getTree(menu,menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId(),menuQueryInfo.getHid());
 		}
 		return sysMenus;
@@ -64,6 +66,7 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 			menu.setSysMenus(sysMenus);
 			//遍历子节点....
 			for (SysMenu sysMenu : sysMenus) {
+				sysMenu.setParentPermission(menu.getParentPermission());
 				getTree(sysMenu,delFlag,userId,hid);
 			}
 		}

+ 37 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -415,6 +415,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         BigDecimal instrumentFee = BigDecimal.ZERO;
         BigDecimal accessoriesFee = BigDecimal.ZERO;
         BigDecimal otherFee = BigDecimal.ZERO;
+        BigDecimal remitFee = BigDecimal.ZERO;
 
         //乐器及打包辅件
         List<MusicGroupSubjectGoodsGroup> goodsGroups = new ArrayList<>();
@@ -467,6 +468,42 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     courseFee.subtract(goodsGroup.getRemissionCourseFee());
                 }
             }
+        }else if (registerPayDto.getGoodsGroups() != null && registerPayDto.getGoodsGroups().size() > 0) {
+            String goodsGroupIds = registerPayDto.getGoodsGroups().keySet().stream().map(key -> key.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")) {
+                    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());
+                }else if(goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
+                    accessoriesFee = accessoriesFee.add(goodsGroup.getPrice());
+                }else {
+                    otherFee = otherFee.add(goodsGroup.getPrice());
+                }
+                orderAmount = orderAmount.add(goodsGroup.getPrice());
+            }
+            orderAmount.subtract(remitFee);
         }
 
         //单独辅件