From 9f911c1461ba33c1a561046eb1ac8e1c56fc9b9d Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Thu, 30 Oct 2025 11:47:20 +0800
Subject: [PATCH] 实体对象基类增加是否使用数据范围
---
ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java | 7 ---
ard-common/src/main/java/com/ard/common/core/domain/BaseEntity.java | 11 +++++
ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java | 2
ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml | 12 ------
ard-framework/src/main/java/com/ard/framework/aspectj/DataScopeAspect.java | 11 +++++
ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java | 2
ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java | 11 -----
ard-work/src/main/java/com/ard/work/domain/entity/ArdServerInfo.java | 1
ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java | 8 ----
9 files changed, 24 insertions(+), 41 deletions(-)
diff --git a/ard-common/src/main/java/com/ard/common/core/domain/BaseEntity.java b/ard-common/src/main/java/com/ard/common/core/domain/BaseEntity.java
index b67de3b..6502181 100644
--- a/ard-common/src/main/java/com/ard/common/core/domain/BaseEntity.java
+++ b/ard-common/src/main/java/com/ard/common/core/domain/BaseEntity.java
@@ -38,6 +38,9 @@
/** 备注 */
private String remark;
+ /** 是否使用数据范围 */
+ private Boolean useDataScope;
+
/** 请求参数 */
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private Map<String, Object> params;
@@ -102,6 +105,14 @@
this.remark = remark;
}
+ public Boolean getUseDataScope() {
+ return useDataScope;
+ }
+
+ public void setUseDataScope(Boolean useDataScope) {
+ this.useDataScope = useDataScope;
+ }
+
public Map<String, Object> getParams()
{
if (params == null)
diff --git a/ard-framework/src/main/java/com/ard/framework/aspectj/DataScopeAspect.java b/ard-framework/src/main/java/com/ard/framework/aspectj/DataScopeAspect.java
index 67f514d..7018c6b 100644
--- a/ard-framework/src/main/java/com/ard/framework/aspectj/DataScopeAspect.java
+++ b/ard-framework/src/main/java/com/ard/framework/aspectj/DataScopeAspect.java
@@ -64,7 +64,16 @@
}
protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope)
- {
+ { /**
+ * 自定义权限是否生效 baseEntity中 useStatus为false不使用数据权限
+ */
+ Object params = joinPoint.getArgs()[0];
+ if (StringUtils.isNotNull(params) && params instanceof BaseEntity) {
+ BaseEntity baseEntity = (BaseEntity) params;
+ if (!baseEntity.getUseDataScope()) {
+ return;
+ }
+ }
// 获取当前的用户
LoginUser loginUser = SecurityUtils.getLoginUser();
if (StringUtils.isNotNull(loginUser))
diff --git a/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java b/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
index 9b0ad2d..42cd0a1 100644
--- a/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
+++ b/ard-work/src/main/java/com/ard/work/component/netty/TyTcpClientManager.java
@@ -124,7 +124,7 @@
@PostConstruct
public void initConnectServers() {
try {
- var serverList = ardServerService.getServerLsNoPermission(new ArdServerInfo()); // ← 从数据库查询所有服务器配置
+ var serverList = ardServerService.selectArdServerInfoList(new ArdServerInfo() {{ setUseDataScope(false); }}); // ← 从数据库查询所有服务器配置
if (serverList == null || serverList.isEmpty()) {
log.warn("未在数据库中找到边缘服务器配置,跳过连接初始化");
return;
diff --git a/ard-work/src/main/java/com/ard/work/domain/entity/ArdServerInfo.java b/ard-work/src/main/java/com/ard/work/domain/entity/ArdServerInfo.java
index ce3d01d..b388502 100644
--- a/ard-work/src/main/java/com/ard/work/domain/entity/ArdServerInfo.java
+++ b/ard-work/src/main/java/com/ard/work/domain/entity/ArdServerInfo.java
@@ -3,6 +3,7 @@
import java.util.List;
import com.ard.common.core.domain.BaseEntity;
+import lombok.Builder;
import lombok.Data;
/**
diff --git a/ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java b/ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java
index eb3fd27..f28c31b 100644
--- a/ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java
+++ b/ard-work/src/main/java/com/ard/work/mapper/ArdServerInfoMapper.java
@@ -28,13 +28,6 @@
*/
public List<ArdServerInfo> selectArdServerInfoList(ArdServerInfo ardServerInfo);
- /**
- * 查询服务器管理列表
- *
- * @param ardServerInfo 服务器管理
- * @return 服务器管理集合
- */
- public List<ArdServerInfo> getServerLsNoPermission(ArdServerInfo ardServerInfo);
/**
* 新增服务器管理
diff --git a/ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java b/ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java
index 52f17c8..f6ab3d7 100644
--- a/ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java
+++ b/ard-work/src/main/java/com/ard/work/service/IArdServerInfoService.java
@@ -29,14 +29,6 @@
public List<ArdServerInfo> selectArdServerInfoList(ArdServerInfo ardServerInfo);
/**
- * 查询服务器管理列表 - 无权限校验
- *
- * @param ardServerInfo 服务器管理
- * @return 服务器管理集合
- */
- public List<ArdServerInfo> getServerLsNoPermission(ArdServerInfo ardServerInfo);
-
- /**
* 新增服务器管理
*
* @param ardServerInfo 服务器管理
diff --git a/ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java
index aaaceab..bc42e90 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java
@@ -59,17 +59,6 @@
}
/**
- * 查询服务器管理列表 - 无权限
- *
- * @param ardServerInfo 服务器管理
- * @return 服务器管理
- */
- @Override
- public List<ArdServerInfo> getServerLsNoPermission(ArdServerInfo ardServerInfo) {
- return ardServerInfoMapper.getServerLsNoPermission(ardServerInfo);
- }
-
- /**
* 新增服务器管理
*
* @param ardServerInfo 服务器管理
diff --git a/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
index ccaf7c9..bb5f7fd 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/TyServiceImpl.java
@@ -94,7 +94,7 @@
*/
@Override
public List<BoxInfoReceiver> getBoxList() {
- List<ArdServerInfo> ardServerInfos = ardServerService.getServerLsNoPermission(new ArdServerInfo());
+ List<ArdServerInfo> ardServerInfos = ardServerService.selectArdServerInfoList(new ArdServerInfo() {{ setUseDataScope(false); }});
return getBoxList(ardServerInfos);
}
diff --git a/ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml b/ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml
index 1055bc2..ea973ec 100644
--- a/ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml
+++ b/ard-work/src/main/resources/mapper/ArdServerInfoMapper.xml
@@ -71,18 +71,6 @@
${params.dataScope}
</where>
</select>
-
- <select id="getServerLsNoPermission" parameterType="ArdServerInfo" resultMap="ArdServerInfoResult">
- <include refid="selectArdServerInfoVoNo"/>
- <where>
- <if test="id != null and id != ''"> and id = #{id}</if>
- <if test="serverName != null and serverName != ''"> and server_name like concat('%', #{serverName}, '%')</if>
- <if test="accessKeyId != null and accessKeyId != ''"> and access_key_id = #{accessKeyId}</if>
- <if test="accessKeySecret != null and accessKeySecret != ''"> and access_key_secret = #{accessKeySecret}</if>
- <if test="serverStatus != null and serverStatus != ''"> and server_status = #{serverStatus}</if>
- <if test="deptId != null and deptId != 0">and dept_id = #{deptId}</if>
- </where>
- </select>
<select id="selectArdServerInfoById" parameterType="String" resultMap="ArdServerInfoResult">
<include refid="selectArdServerInfoVo"/>
--
Gitblit v1.9.3