From e60d40e122f3d35104354c316d36be16b723d07d Mon Sep 17 00:00:00 2001
From: liusuyi <13324259@qq.com>
Date: 星期四, 27 七月 2023 20:01:52 +0800
Subject: [PATCH] 修改app位置推送数据按部门过滤

---
 ard-work/src/main/java/com/ruoyi/utils/websocket/service/ChatServerEndpoint.java          |    6 +++---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java          |    2 +-
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                           |    5 +++--
 ard-work/src/main/java/com/ruoyi/app/position/service/IArdAppPositionService.java         |    1 -
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java                  |    1 -
 ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java |    3 ++-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/app/position/service/IArdAppPositionService.java b/ard-work/src/main/java/com/ruoyi/app/position/service/IArdAppPositionService.java
index 5cb7f8c..05640d8 100644
--- a/ard-work/src/main/java/com/ruoyi/app/position/service/IArdAppPositionService.java
+++ b/ard-work/src/main/java/com/ruoyi/app/position/service/IArdAppPositionService.java
@@ -65,5 +65,4 @@
      * @return 缁撴灉
      */
     public int deleteArdAppPositionById(String id);
-
 }
diff --git a/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
index a33cb51..5fa11ea 100644
--- a/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/position/service/impl/ArdAppPositionServiceImpl.java
@@ -6,12 +6,14 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.system.service.ISysUserService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -105,6 +107,5 @@
     public int deleteArdAppPositionById(String id) {
         return ardAppPositionMapper.deleteArdAppPositionById(id);
     }
-
 
 }
diff --git a/ard-work/src/main/java/com/ruoyi/utils/websocket/service/ChatServerEndpoint.java b/ard-work/src/main/java/com/ruoyi/utils/websocket/service/ChatServerEndpoint.java
index 5a0cebb..f4186b2 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/websocket/service/ChatServerEndpoint.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/websocket/service/ChatServerEndpoint.java
@@ -4,7 +4,9 @@
 import com.ruoyi.app.position.domain.ArdAppPosition;
 import com.ruoyi.app.position.service.IArdAppPositionService;
 import com.ruoyi.app.position.service.impl.AppPositionPush;
+import com.ruoyi.app.position.service.impl.ArdAppPositionServiceImpl;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.utils.websocket.util.WebSocketUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -42,9 +44,7 @@
         log.info("鐢ㄦ埛鐧诲綍锛�" + message);
         WebSocketUtils.sendMessage(session, message);
         //姣忎釜鐢ㄦ埛杩炴帴鏃讹紝鍚姩鍒濆鎵�鏈塧pp鐢ㄦ埛浣嶇疆鍙戦��
-
-        List<ArdAppPosition> positionList = AppPositionPush.initDataMap.get(userId);
-        AppPositionPush.initDataMap.put(userId,positionList);
+        AppPositionPush.initDataMap.put(userId,AppPositionPush.getAppPositionList());
         AppPositionPush.initPushTask(userId,session,3000);
     }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index c90c6cd..e104d2d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -26,7 +26,6 @@
      * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
      */
     public List<SysUser> selectAllAppUserList(SysUser user);
-
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛�
      *
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 826975b..8f28c6c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -143,7 +143,7 @@
      * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
      */
     @Override
-    //@DataScope(deptAlias = "d", userAlias = "u")
+//    @DataScope(deptAlias = "d", userAlias = "u")
     public List<SysUser> selectAllAppUserList(SysUser user) {
         return userMapper.selectAllAppUserList(user);
     }
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 79ee9f1..5bc4bd2 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -116,8 +116,9 @@
     <select id="selectAllAppUserList" parameterType="SysUser" resultMap="SysUserResult">
         <include refid="selectUserVo"/>
         where u.del_flag = '0' and u.app_user_type in('0','1')
-        <!-- 鏁版嵁鑼冨洿杩囨护 -->
-        ${params.dataScope}
+        <if test="deptId != null ">and (d.dept_id = #{deptId} OR d.dept_id IN ( SELECT t.dept_id FROM sys_dept t
+            WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
+        </if>
     </select>
     <select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
         select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time

--
Gitblit v1.9.3