From 398213305237fe9e8a4ee84a2c052ec5f393c4f9 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 28 二月 2025 17:56:45 +0800
Subject: [PATCH] 修改管理后台接口bug

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java |   64 +++++++++++++++++++++++++++++++-
 1 files changed, 62 insertions(+), 2 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java
index d939818..63d59e7 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/SystemUserController.java
@@ -96,15 +96,75 @@
 		LoginReturnVO loginReturnVO = reult.getData();
 		TokenVo tokenVo = new TokenVo();
 		BeanUtils.copyProperties(loginReturnVO, tokenVo);
+		
 		List<SystemRoleMenu> list = systemRoleMenuService.list(new LambdaQueryWrapper<SystemRoleMenu>().eq(SystemRoleMenu::getSystemRoleId, systemUser.getSystemRoleId()));
 		List<Integer> collect = list.stream().map(SystemRoleMenu::getSystemMenuId).collect(Collectors.toList());
 		Set<String> collect1 = new HashSet<>();
 		if(collect.size() > 0){
-			List<SystemMenu> systemMenus = systemMenuService.listByIds(collect);
+			LambdaQueryWrapper<SystemMenu> queryWrapper = new LambdaQueryWrapper<SystemMenu>().in(SystemMenu::getId, collect);
+			switch (systemUser.getAccountLevel()){
+				case 2:
+					queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
+							"/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
+							"/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save",
+							"/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add",
+							"/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
+							"/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del"));
+					break;
+				case 3:
+					queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
+							"/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
+							"/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save",
+							"/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add",
+							"/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
+							"/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del"));
+					break;
+				case 4:
+					queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
+							"/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
+							"/work_order_transaction_management/work_order_item_configuration", "/work_order_transaction_management/work_order_item_configuration/save",
+							"/work_order_transaction_management/problem_type_management", "/work_order_transaction_management/problem_type_management/add",
+							"/work_order_transaction_management/problem_type_management/edit", "/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
+							"/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del"));
+					break;
+				case 5:
+					queryWrapper.notIn(SystemMenu::getUrl, Arrays.asList("/system_setting/position_management", "/system_setting/position_management/add", "/system_setting/position_management/del",
+							"/system_setting/role_management", "/system_setting/role_management/add", "/system_setting/role_management/edit", "/system_setting/role_management/del",
+							"/system_setting/people_management", "/system_setting/people_management/add", "/system_setting/people_management/edit", "/system_setting/people_management/del",
+							"/system_setting/people_management/freeze", "/system_setting/unit_management", "/system_setting/people_management/detail", "/system_setting/unit_management/add",
+							"/system_setting/unit_management/edit", "/system_setting/unit_management/del", "/work_order_transaction_management/work_order_item_configuration",
+							"/work_order_transaction_management/work_order_item_configuration/save", "/work_order_transaction_management/problem_type_management",
+							"/work_order_transaction_management/problem_type_management/add", "/work_order_transaction_management/problem_type_management/edit",
+							"/work_order_transaction_management/problem_type_management/del", "/work_order_transaction_management/banner_management",
+							"/work_order_transaction_management/banner_management/add", "/work_order_transaction_management/banner_management/edit", "/work_order_transaction_management/banner_management/del"));
+					break;
+			}
+			List<SystemMenu> systemMenus = systemMenuService.list(queryWrapper);
 			collect1 = systemMenus.stream().map(SystemMenu::getUrl).collect(Collectors.toSet());
 		}
 		tokenVo.setMenu(collect1);
 		tokenVo.setName(systemUser.getName());
+		tokenVo.setAccountLevel(systemUser.getAccountLevel());
+		switch (systemUser.getAccountLevel()){
+			case 1:
+				tokenVo.setCityCode("510400");
+				break;
+			case 2:
+				tokenVo.setCityCode("510400");
+				tokenVo.setDistrictsCode(systemUser.getDistrictsCode());
+				break;
+			case 3:
+				tokenVo.setCityCode("510400");
+				tokenVo.setDistrictsCode(systemUser.getDistrictsCode());
+				tokenVo.setStreetId(systemUser.getStreetId());
+				break;
+			case 4:
+				tokenVo.setCityCode("510400");
+				tokenVo.setDistrictsCode(systemUser.getDistrictsCode());
+				tokenVo.setStreetId(systemUser.getStreetId());
+				tokenVo.setCommunityId(systemUser.getCommunityId().toString());
+				break;
+		}
 		return R.ok(tokenVo);
 	}
 	
@@ -127,7 +187,7 @@
 	public R<IPage<SystemUserListVo>> list(SystemUserList query){
 		Integer id = this.getLoginUserInfoSanGeShenBian().getId();
 		SystemUser user = systemUserService.getById(id);
-		IPage<SystemUserListVo> list = systemUserService.list(user.getAccountLevel(), query);
+		IPage<SystemUserListVo> list = systemUserService.list(user, query);
 		return R.ok(list);
 	}
 	

--
Gitblit v1.7.1