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