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