diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/PrivilegeVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/PrivilegeVo.java new file mode 100644 index 0000000000..7dd30b0865 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/PrivilegeVo.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.portal.api.sysuser; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/11/22 11:04 + */ +@Data +public class PrivilegeVo { + + @ApiModelProperty("权限查询路径") + private String levelPath; + @ApiModelProperty("权限等级") + private String orgLevelKey; + + +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java index 65c158c001..00d74393ee 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java @@ -276,6 +276,11 @@ public interface SysUserFeign { @PostMapping(value = "/selectPrivilegeLevel") ResultBean selectPrivilegeLevel(@RequestBody PrivilegeQuery query); + @ApiOperation(value = "查询角色权限的层级获取权限路径") + @PostMapping(value = "/selectPrivilegeLevelPath") + ResultBean selectPrivilegeLevelPath(@RequestBody PrivilegeQuery query); + + @ApiOperation(value = "清除所有离职人员的移动端登录缓存") @PostMapping(value = "/removeRedis") ResultBean removeRedis(); @@ -283,4 +288,4 @@ public interface SysUserFeign { @ApiOperation("获取小程序客户用户信息") @GetMapping("/fetchBySidWx/{sid}") public ResultBean fetchBySidWx(@PathVariable("sid") String sid); -} \ No newline at end of file +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java index d66671ed7b..78c38e5d2c 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java @@ -261,6 +261,11 @@ public class SysUserFeignFallback implements SysUserFeign { return null; } + @Override + public ResultBean selectPrivilegeLevelPath(PrivilegeQuery query) { + return null; + } + @Override public ResultBean removeRedis() { return null; @@ -270,4 +275,4 @@ public class SysUserFeignFallback implements SysUserFeign { public ResultBean fetchBySidWx(String sid) { return null; } -} \ No newline at end of file +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java index b4871a9bc2..00b69bf427 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java @@ -704,6 +704,11 @@ public class SysUserRest implements SysUserFeign { return sysUserService.selectPrivilegeLevel(query); } + @Override + public ResultBean selectPrivilegeLevelPath(PrivilegeQuery query) { + return sysUserService.selectPrivilegeLevelPath(query); + } + @Override public ResultBean removeRedis() { return sysUserService.removeRedis(); diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java index 79013ad90d..39e3ab10c5 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java @@ -306,7 +306,7 @@ public class SysUserService extends MybatisBaseService { int i = baseMapper.updatePasswordWx(user.getSid(), Encodes.md5(newPassword)); SysUserVo sysUserVo = new SysUserVo(); SysUser sysUser = fetchBySid(user.getSid()); - BeanUtil.copyProperties(sysUser,sysUserVo); + BeanUtil.copyProperties(sysUser, sysUserVo); CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.selByMobile(sysUser.getMobile()).getData(); sysUserVo.setName(crmCustomerTempVo.getName()); //查询是否需要更换密码 @@ -1544,6 +1544,41 @@ public class SysUserService extends MybatisBaseService { return rb.success().setData(defalutId); } + public ResultBean selectPrivilegeLevelPath(PrivilegeQuery query) { + ResultBean rb = ResultBean.fireFail(); + ResultBean defaultIdReltBean = selectPrivilegeLevel(query); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + PrivilegeVo privilegeVo = new PrivilegeVo(); + String orgLevelKey = defaultIdReltBean.getData(); + privilegeVo.setOrgLevelKey(orgLevelKey); + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String levelPath = ""; + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + levelPath = orgSidPath; + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + levelPath = orgSidPath; + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + levelPath = orgSidPath; + } else if ("4".equals(orgLevelKey)) { + levelPath = query.getOrgPath(); + } else if ("5".equals(orgLevelKey)) { + levelPath = query.getUserSid(); + } + privilegeVo.setLevelPath(levelPath); + return rb.success().setData(privilegeVo); + } + return rb; + } + public ResultBean> getUserSidByRole(UserQuery query) { ResultBean> rb = ResultBean.fireFail(); List sysUserVoList = new ArrayList<>(); @@ -1683,4 +1718,4 @@ public class SysUserService extends MybatisBaseService { } -} \ No newline at end of file +}