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);
+ }
+
}