From d5a8e1c054431418fa895928ae2e3429295a9865 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 28 九月 2026 10:57:10 +0800
Subject: [PATCH] 增加功能
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java
index 17d73e9..2cf1595 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java
@@ -69,6 +69,8 @@
private static final String SITE_OWNER_ROLE_KEY = "site_owner";
private static final String SERVICE_PROVIDER_ROLE_NAME = "服务商";
private static final String SERVICE_PROVIDER_ROLE_KEY = "service_provider";
+ private static final String COMPANY_ROLE_NAME = "公司";
+ private static final String COMPANY_ROLE_KEY = "company";
private static final String OWN_SITE_NAME = "自有电站";
private static final String SYSTEM_ROLE_REMARK = "系统内置角色";
@@ -99,6 +101,7 @@
ensureSystemRole(INDEPENDENT_PARTNER_ROLE_NAME, INDEPENDENT_PARTNER_ROLE_KEY, getIndependentPartnerMenuIds());
ensureSystemRole(SITE_OWNER_ROLE_NAME, SITE_OWNER_ROLE_KEY, new HashSet<>());
ensureSystemRole(SERVICE_PROVIDER_ROLE_NAME, SERVICE_PROVIDER_ROLE_KEY, new HashSet<>());
+ ensureSystemRole(COMPANY_ROLE_NAME, COMPANY_ROLE_KEY, new HashSet<>());
}
private void ensureSystemRole(String roleName, String roleKey, Set<Long> menuIds) {
@@ -182,8 +185,13 @@
|| SERVICE_PROVIDER_ROLE_NAME.equals(role.getRoleName()));
}
+ private boolean isCompanyBuiltinRole(SysRole role) {
+ return role != null && (COMPANY_ROLE_KEY.equals(role.getRoleKey())
+ || COMPANY_ROLE_NAME.equals(role.getRoleName()));
+ }
+
private boolean isSystemBuiltinRole(SysRole role) {
- return role != null && (role.isAdmin() || isPartnerBuiltinRole(role));
+ return role != null && (role.isAdmin() || isPartnerBuiltinRole(role) || isCompanyBuiltinRole(role));
}
private void fillRoleV2Info(SysRole role) {
@@ -460,4 +468,22 @@
List<SysRole> sysRoleByIds = roleService.getSysRoleByIds(ids.getIds());
return R.ok(sysRoleByIds);
}
+
+ /**
+ * 根据角色标识查询启用且未删除的角色ID(远程接口,公司账号分配默认角色使用)
+ *
+ * @param roleKey 角色标识
+ * @return 角色ID;不存在时返回 null
+ */
+ @ResponseBody
+ @PostMapping(value = "/getRoleIdByRoleKey")
+ public R<Long> getRoleIdByRoleKey(@RequestBody String roleKey) {
+ SysRole role = roleService.getOne(new LambdaQueryWrapper<SysRole>()
+ .eq(SysRole::getRoleKey, roleKey)
+ .eq(SysRole::getDelFlag, 0)
+ .eq(SysRole::getStatus, 0)
+ .orderByAsc(SysRole::getRoleId)
+ .last("LIMIT 1"));
+ return R.ok(role == null ? null : role.getRoleId());
+ }
}
--
Gitblit v1.7.1