From 9e976a6cd2f5f6011284df9cedd9e2dd96b9f68e Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Thu, 30 Oct 2025 09:09:26 +0800
Subject: [PATCH] 1.修改查询无人机盒子列表权限bug。 2.修改查询服务器管理列表权限bug。
---
ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java | 8 +++++---
ard-work/src/main/java/com/ard/work/service/impl/ArdServerInfoServiceImpl.java | 2 ++
ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml | 49 ++++++++++++++++++++++++++++---------------------
3 files changed, 35 insertions(+), 24 deletions(-)
diff --git a/ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java b/ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java
index b53c3fa..1709a4c 100644
--- a/ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java
+++ b/ard-work/src/main/java/com/ard/work/service/impl/ArdDroneInfoServiceImpl.java
@@ -1,6 +1,7 @@
package com.ard.work.service.impl;
import com.alibaba.fastjson2.JSONObject;
+import com.ard.common.annotation.DataScope;
import com.ard.common.constant.CacheConstants;
import com.ard.common.core.redis.RedisCache;
import com.ard.common.exception.ServiceException;
@@ -69,12 +70,13 @@
/**
* 查询无人机盒子列表
*
- * @param ArdDroneInfo 无人机盒子
+ * @param ardDroneInfo 无人机盒子
* @return 无人机盒子
*/
@Override
- public List<ArdDroneInfo> selectArdDroneList(ArdDroneInfo ArdDroneInfo) {
- return ArdDroneInfoMapper.selectArdDroneList(ArdDroneInfo);
+ @DataScope(deptAlias = "d", userAlias = "u")
+ public List<ArdDroneInfo> selectArdDroneList(ArdDroneInfo ardDroneInfo) {
+ return ArdDroneInfoMapper.selectArdDroneList(ardDroneInfo);
}
/**
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 636696e..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
@@ -1,5 +1,6 @@
package com.ard.work.service.impl;
+import com.ard.common.annotation.DataScope;
import com.ard.common.utils.uuid.IdUtils;
import com.ard.work.component.forest.TyClient;
import com.ard.work.component.netty.TyTcpClientManager;
@@ -52,6 +53,7 @@
* @return 服务器管理
*/
@Override
+ @DataScope(deptAlias = "d", userAlias = "u")
public List<ArdServerInfo> selectArdServerInfoList(ArdServerInfo ardServerInfo) {
return ardServerInfoMapper.selectArdServerInfoList(ardServerInfo);
}
diff --git a/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml b/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
index 6c78ec8..b3c8119 100644
--- a/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
+++ b/ard-work/src/main/resources/mapper/ArdDroneInfoMapper.xml
@@ -37,32 +37,39 @@
</select>
<sql id="selectArdDroneVo">
- select id,
- box_sn,
- box_name,
- box_version,
- start_time,
- on_line,
- video_server,
- video_port,
- last_task_id,
- server_id,
- user_id,
- dept_id,
- box_alias_name
- from ard_drone_info
+ select c.id,
+ c.box_sn,
+ c.box_name,
+ c.box_version,
+ c.start_time,
+ c.on_line,
+ c.video_server,
+ c.video_port,
+ c.last_task_id,
+ c.server_id,
+ c.user_id,
+ c.dept_id,
+ c.box_alias_name
+ from ard_drone_info c
+ left join sys_dept d on d.dept_id = c.dept_id
+ left join sys_user u on u.user_id = c.user_id
</sql>
<select id="selectArdDroneList" parameterType="ArdDroneInfo" resultMap="ArdDroneInfoResult">
<include refid="selectArdDroneVo"/>
<where>
- <if test="boxSn != null and boxSn != ''"> and box_sn like concat('%', #{boxSn}, '%')</if>
- <if test="boxName != null and boxName != ''"> and box_name like concat('%', #{boxName}, '%')</if>
- <if test="boxVersion != null and boxVersion != ''"> and box_version = #{boxVersion}</if>
- <if test="onLine != null "> and onLine = #{onLine}</if>
- <if test="lastTaskId != null "> and last_task_id = #{lastTaskId}</if>
- <if test="userId != null "> and user_id = #{userId}</if>
- <if test="deptId != null "> and dept_id = #{deptId}</if>
+ <if test="boxSn != null and boxSn != ''"> and c.box_sn like concat('%', #{boxSn}, '%')</if>
+ <if test="boxName != null and boxName != ''"> and c.box_name like concat('%', #{boxName}, '%')</if>
+ <if test="boxVersion != null and boxVersion != ''"> and c.box_version = #{boxVersion}</if>
+ <if test="onLine != null "> and c.onLine = #{onLine}</if>
+ <if test="lastTaskId != null "> and c.last_task_id = #{lastTaskId}</if>
+ <if test="userId != null "> and c.user_id = #{userId}</if>
+ <if test="deptId != null and deptId != 0">
+ and (d.dept_id = #{deptId} OR d.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE
+ find_in_set(#{deptId}, ancestors) ))
+ </if>
+ <!-- 数据范围过滤 -->
+ ${params.dataScope}
</where>
</select>
--
Gitblit v1.9.3