From 1e2ad26b4e138e609a21c0a2083b8f15a3d11d7d Mon Sep 17 00:00:00 2001 From: lijianlin Date: Thu, 24 Jul 2025 00:15:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E5=9C=B0=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/controller/GeneralController.java | 2 +- .../java/com/example/demo/mapper/GeneralMapper.java | 2 ++ .../java/com/example/demo/service/GeneralService.java | 4 +++- .../example/demo/serviceImpl/GeneralServiceImpl.java | 18 +++++++++++++++--- src/main/resources/mapper/GeneralMapper.xml | 3 +++ 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/example/demo/controller/GeneralController.java b/src/main/java/com/example/demo/controller/GeneralController.java index 93c6914..947cd4a 100644 --- a/src/main/java/com/example/demo/controller/GeneralController.java +++ b/src/main/java/com/example/demo/controller/GeneralController.java @@ -44,7 +44,7 @@ public class GeneralController { //获取角色地区权限 @PostMapping("/roleMarket") public Result getroleMarkets(@RequestBody RoleVo roleVo) throws Exception { - String market = generalService.getRoleMarket(roleVo.getId()); + List market = generalService.getRoleMarket(roleVo.getId()); return Result.success(market); } @PostMapping("/platform") diff --git a/src/main/java/com/example/demo/mapper/GeneralMapper.java b/src/main/java/com/example/demo/mapper/GeneralMapper.java index 49d6d76..02f53d0 100644 --- a/src/main/java/com/example/demo/mapper/GeneralMapper.java +++ b/src/main/java/com/example/demo/mapper/GeneralMapper.java @@ -26,4 +26,6 @@ public interface GeneralMapper { String getAdminMarket(String account); //获取角色地区列表 String getRoleMarket(Integer roleId); + + List getAllRoleMarket(); } diff --git a/src/main/java/com/example/demo/service/GeneralService.java b/src/main/java/com/example/demo/service/GeneralService.java index f253d12..6e01eae 100644 --- a/src/main/java/com/example/demo/service/GeneralService.java +++ b/src/main/java/com/example/demo/service/GeneralService.java @@ -39,5 +39,7 @@ public interface GeneralService { //获取用户的地区权限列表(工作台图表专用) List getAdminMarket1(String account) ; //获取角色的地区 - String getRoleMarket(Integer roleId); + List getRoleMarket(Integer roleId); + //获取所有市场(地区) + List getAllRoleMarket(); } diff --git a/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java index e5235d4..082ae81 100644 --- a/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/GeneralServiceImpl.java @@ -172,17 +172,29 @@ public class GeneralServiceImpl implements GeneralService { 获取觉得的地区列表 */ @Override - public String getRoleMarket(Integer roleId) { + public List getRoleMarket(Integer roleId) { try { String market = generalMapper.getRoleMarket(roleId); if (market == null) { throw new Exception("没有地区权限"); } - return market; + List list = Arrays.asList(market.split(",")); + //判断是否是总部 + if (list != null && list.contains("总部")) { + list=getAllRoleMarket();//总部有所有地区的权限 + } + return list; } catch (Exception e) { // 记录日志 log.error("获取地区权限失败", e); // 重新抛出异常,或者根据需要返回一个默认值或空列表 throw new RuntimeException("获取地区权限失败", e); } - }} + } + + @Override + public List getAllRoleMarket() { + List list = generalMapper.getAllRoleMarket(); + return list; + } +} diff --git a/src/main/resources/mapper/GeneralMapper.xml b/src/main/resources/mapper/GeneralMapper.xml index 8fc1952..70795a1 100644 --- a/src/main/resources/mapper/GeneralMapper.xml +++ b/src/main/resources/mapper/GeneralMapper.xml @@ -26,4 +26,7 @@ select market from role where id = #{roleId} + \ No newline at end of file