From df2b0f52e31b84df56d6d54026d1f42473dd0b96 Mon Sep 17 00:00:00 2001 From: ranke <213539@qq.com> Date: Thu, 29 Jan 2026 18:53:22 +0800 Subject: [PATCH] no message --- docs/databus-client使用说明.md | 31 +++++++++++++++++++ .../rule/dept/DeptDataPermissionRule.java | 7 +++-- .../zt-module-databus-client/pom.xml | 2 +- .../module/databus/client/DatabusClient.java | 1 - .../system/api/permission/PermissionApi.java | 5 +++ .../api/permission/PermissionApiImpl.java | 6 ++++ .../config/DataPermissionConfiguration.java | 1 + .../service/permission/PermissionService.java | 8 +++++ .../permission/PermissionServiceImpl.java | 6 ++++ 9 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 docs/databus-client使用说明.md diff --git a/docs/databus-client使用说明.md b/docs/databus-client使用说明.md new file mode 100644 index 00000000..c6eb7b1e --- /dev/null +++ b/docs/databus-client使用说明.md @@ -0,0 +1,31 @@ +# Databus Client 使用说明 + +databus client 最主要用于调用基于http协议的第三方接口时需要记录调用日志到 databus 的情况, 通过databus client 调用第三方接口会将调用日志记录到databus的访问日志中 + +# 使用方法 +1. 添加依赖: +```xml + + com.zt.plat + zt-module-databus-client + 3.0.47-SNAPSHOT + +``` +2. 注入 DatabusClient +```java +@Resource +private DatabusClient databusClient; +``` +3. 方法说明 + * get(...) : 发送 get 请求 + * post(...): 发送 post 请求 + * put(...): 发送 put 请求 + * delete(...): 发送 delete 请求 + * doRequest(...): 发送自定义请求 +4. 方法参数说明(由于所有方法参数都是一样的,所以在此统一说明) + * String urlString: 请求的 http 接口地址(get/delete请求不需要带url参数) + * Map data: 请求的参数(post/put方法会转换为json提交, get/delete会拼接到url上) + * Map headers: 请求头信息 + * String appId: databus 的appid + * String authToken: databus 的访问令牌 + * Method method: doRequest 方法独有,如果要使用 get/post/put/delete 之外的方法,请使用doRequest方法并通过method参数指定 diff --git a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java index 4a4befdb..1294e3c8 100644 --- a/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java +++ b/zt-framework/zt-spring-boot-starter-biz-data-permission/src/main/java/com/zt/plat/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java @@ -96,7 +96,6 @@ public class DeptDataPermissionRule implements DataPermissionRule { /** * 基于用户的表字段配置 * 一般情况下,每个表的部门编号字段是 dept_id,通过该配置自定义。 - * key:表名 * value:字段名 */ private final Map userColumns = new HashMap<>(); @@ -262,7 +261,11 @@ public class DeptDataPermissionRule implements DataPermissionRule { if (Boolean.FALSE.equals(self)) { return null; } - String columnName = userColumns.get(tableName); + String userColumnsKey = tableName; + if (StrUtil.isNotBlank(workCode)) { + userColumnsKey = userColumnsKey + "_work_code"; + } + String columnName = userColumns.get(userColumnsKey); if (StrUtil.isEmpty(columnName)) { return null; } diff --git a/zt-module-databus/zt-module-databus-client/pom.xml b/zt-module-databus/zt-module-databus-client/pom.xml index a8abc82f..4ee8c93f 100644 --- a/zt-module-databus/zt-module-databus-client/pom.xml +++ b/zt-module-databus/zt-module-databus-client/pom.xml @@ -8,7 +8,7 @@ com.zt.plat ${revision} - zt-module-databus-server-client + zt-module-databus-client jar ${project.artifactId} diff --git a/zt-module-databus/zt-module-databus-client/src/main/java/com/zt/plat/module/databus/client/DatabusClient.java b/zt-module-databus/zt-module-databus-client/src/main/java/com/zt/plat/module/databus/client/DatabusClient.java index ad921ceb..0954ef21 100644 --- a/zt-module-databus/zt-module-databus-client/src/main/java/com/zt/plat/module/databus/client/DatabusClient.java +++ b/zt-module-databus/zt-module-databus-client/src/main/java/com/zt/plat/module/databus/client/DatabusClient.java @@ -7,7 +7,6 @@ import cn.hutool.http.Method; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.zt.plat.framework.common.pojo.CommonResult; -import com.zt.plat.framework.common.util.security.CryptoSignatureUtils; import com.zt.plat.module.databus.api.dto.ApiAccessLogCreateReq; import com.zt.plat.module.databus.api.provider.DatabusAccessLogProviderApi; import jakarta.annotation.Resource; diff --git a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/permission/PermissionApi.java b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/permission/PermissionApi.java index b30f62f6..87d23136 100644 --- a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/permission/PermissionApi.java +++ b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/permission/PermissionApi.java @@ -56,4 +56,9 @@ public interface PermissionApi extends PermissionCommonApi { @Parameter(name = "userId", description = "用户编号", example = "1", required = true) CommonResult getUserDataPermissionLevel(@RequestParam("userId") Long userId); + @GetMapping(PREFIX + "/get") + @Operation(summary = "通过用户 ID 查询用户是否为超级管理员") + @Parameter(name = "id", description = "用户编号", example = "1", required = true) + CommonResult isSuperAdmin(@RequestParam("id") Long id); + } \ No newline at end of file diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/api/permission/PermissionApiImpl.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/api/permission/PermissionApiImpl.java index c3899330..26c8db0e 100644 --- a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/api/permission/PermissionApiImpl.java +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/api/permission/PermissionApiImpl.java @@ -6,6 +6,7 @@ import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.module.system.api.permission.dto.*; import com.zt.plat.module.system.controller.admin.permission.vo.permission.PermissionAssignRoleDataScopeReqVO; import com.zt.plat.module.system.controller.admin.permission.vo.permission.PermissionAssignUserRoleReqVO; +import com.zt.plat.module.system.dal.dataobject.user.AdminUserDO; import com.zt.plat.module.system.enums.permission.DataScopeEnum; import com.zt.plat.module.system.service.permission.PermissionService; import org.springframework.context.annotation.Primary; @@ -90,4 +91,9 @@ public class PermissionApiImpl implements PermissionApi { public CommonResult getDeptDataPermissionWithRoleCodes(Long userId, String roleCodes) { return success(permissionService.getDeptDataPermissionWithRoleCodes(userId, roleCodes)); } + + @Override + public CommonResult isSuperAdmin(Long id) { + return success(permissionService.isSuperAdmin(id)); + } } diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/framework/datapermission/config/DataPermissionConfiguration.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/framework/datapermission/config/DataPermissionConfiguration.java index def9db9b..78725a5e 100644 --- a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/framework/datapermission/config/DataPermissionConfiguration.java +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/framework/datapermission/config/DataPermissionConfiguration.java @@ -24,6 +24,7 @@ public class DataPermissionConfiguration { rule.addDeptColumn(DeptDO.class, "id"); // user rule.addUserColumn(AdminUserDO.class, "id"); + rule.addUserColumn("system_users_work_code", "workcode"); }; } diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/permission/PermissionService.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/permission/PermissionService.java index 6d570ca7..5e1d37d7 100644 --- a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/permission/PermissionService.java +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/permission/PermissionService.java @@ -189,4 +189,12 @@ public interface PermissionService { */ Set getByRoleIdAndMenuIds(Set roleIds, Set ids); + /** + * 根据用户ID判断用户是否是超级管理员 + * + * @param userId + * @return + */ + Boolean isSuperAdmin(Long userId); + } diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/permission/PermissionServiceImpl.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/permission/PermissionServiceImpl.java index 96820ed6..389f3795 100644 --- a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/permission/PermissionServiceImpl.java +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/permission/PermissionServiceImpl.java @@ -559,5 +559,11 @@ public class PermissionServiceImpl implements PermissionService { return result; } + @Override + public Boolean isSuperAdmin(Long userId) { + Set userRoleIds = getUserRoleIdListByUserId(userId); + return roleService.hasAnySuperAdmin(userRoleIds); + } + }