From f31fc9f42f78de0808e7f4bdc797c5e622df09e3 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 10 Jun 2026 11:22:37 +0800
Subject: [PATCH] 1

---
 trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysMenuController.java |   53 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysMenuController.java b/trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysMenuController.java
index ca7c0d1..7c53e21 100644
--- a/trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysMenuController.java
+++ b/trading-order-sys/src/main/java/com/yami/trading/sys/controller/SysMenuController.java
@@ -27,9 +27,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * 系统菜单
@@ -47,9 +45,46 @@
 	@GetMapping("/nav")
 	@ApiOperation(value="获取用户所拥有的菜单和权限", notes="通过登陆用户的userId获取用户所拥有的菜单和权限")
 	public ResponseEntity<Map<Object, Object>> nav(){
-		List<SysMenu> menuList = sysMenuService.listMenuByUserId(SecurityUtils.getSysUser().getUserId());
+		try {
+			Long userId = SecurityUtils.getSysUser().getUserId();
+			List<SysMenu> sysMenus = new ArrayList<>();
+			if(userId == Constant.ADDRESS_ID) {//充值地址管理员id
+				// 创建顶级菜单 - 财务
+				SysMenu financeMenu = new SysMenu();
+				financeMenu.setMenuId(211L);
+				financeMenu.setParentId(0L);
+				financeMenu.setParentName(null);
+				financeMenu.setName("财务");
+				financeMenu.setUrl("");
+				financeMenu.setPerms(null);
+				financeMenu.setType(0);
+				financeMenu.setIcon("order");
+				financeMenu.setOrderNum(2);
 
-		return ResponseEntity.ok(MapUtil.builder().put("menuList", menuList).put("authorities", SecurityUtils.getSysUser().getAuthorities()).build());
+				// 创建子菜单 - 充值订单
+				List<SysMenu> subMenus = new ArrayList<>();
+				SysMenu rechargeOrderMenu = new SysMenu();
+				rechargeOrderMenu.setMenuId(93L);
+				rechargeOrderMenu.setParentId(91L);  // 注意:这里parentId与顶级菜单不一致,可能需要调整
+				rechargeOrderMenu.setParentName(null);
+				rechargeOrderMenu.setName("充值地址");
+				rechargeOrderMenu.setUrl("recharge/address");
+				rechargeOrderMenu.setPerms(null);
+				rechargeOrderMenu.setType(1);
+				rechargeOrderMenu.setIcon(null);
+				rechargeOrderMenu.setOrderNum(1);
+				rechargeOrderMenu.setList(null);
+				subMenus.add(rechargeOrderMenu);
+				financeMenu.setList(subMenus);
+
+				sysMenus.add(financeMenu);
+				return ResponseEntity.ok(MapUtil.builder().put("menuList", sysMenus).put("authorities", null).build());
+			}
+			List<SysMenu> menuList = sysMenuService.listMenuByUserId(userId);
+			return ResponseEntity.ok(MapUtil.builder().put("menuList", menuList).put("authorities", SecurityUtils.getSysUser().getAuthorities()).build());
+		}catch (Exception e){
+			throw new YamiShopBindException("System error!");
+		}
 	}
 
 	/**
@@ -165,11 +200,11 @@
 
 		if(menu.getType() == MenuType.MENU.getValue()){
 			if(StrUtil.isBlank(menu.getUrl())){
-				throw new YamiShopBindException("菜单URL不能为空");
+				throw new YamiShopBindException("Menu URL cannot be empty");
 			}
 		}
 		if(Objects.equals(menu.getMenuId(), menu.getParentId())){
-			throw new YamiShopBindException("自己不能是自己的上级");
+			throw new YamiShopBindException("Cannot set yourself as parent");
 		}
 
 		//上级菜单类型
@@ -183,7 +218,7 @@
 		if(menu.getType() == MenuType.CATALOG.getValue() ||
 				menu.getType() == MenuType.MENU.getValue()){
 			if(parentType != MenuType.CATALOG.getValue()){
-				throw new YamiShopBindException("上级菜单只能为目录类型");
+				throw new YamiShopBindException("Parent menu must be a directory");
 			}
 			return ;
 		}
@@ -191,7 +226,7 @@
 		//按钮
 		if(menu.getType() == MenuType.BUTTON.getValue()){
 			if(parentType != MenuType.MENU.getValue()){
-				throw new YamiShopBindException("上级菜单只能为菜单类型");
+				throw new YamiShopBindException("Parent menu must be a menu type");
 			}
 		}
 	}

--
Gitblit v1.9.3