From 774c8b2ee14eef5fd10bbd46d85a180e7b19ab21 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Fri, 22 Mar 2024 14:34:12 +0800
Subject: [PATCH] 查询过滤优化

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index cf451b7..aced6ff 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -84,6 +84,10 @@
         <if test="user.roleId!=null and user.roleId!=''">
             and role_id like concat('%',#{user.roleId},'%')
         </if>
+
+        <if test="user.deptId!=null and user.deptId!=''">
+            and dept_id like concat('%',#{user.deptId},'%')
+        </if>
     </select>
 
     <select id="searchUserByDistrictId" resultType="org.springblade.modules.system.entity.User">
@@ -278,4 +282,26 @@
     </select>
 
 
+    <select id="getPoliceUser" resultType="org.springblade.modules.system.entity.User">
+        SELECT
+            bu.id,
+            bu.name,
+            bu.phone
+        FROM
+            blade_user bu
+        where 1 = 1
+          and  bu.lat is not null
+          and  bu.lng is not null
+          and IFNULL((
+                 ACOS(
+                 SIN(
+                 (#{latitude} * 3.1415) / 180) * SIN((bu.lat * 3.1415) / 180) +
+                 COS((#{latitude} * 3.1415) / 180) * COS((bu.lat * 3.1415) / 180) * COS((#{longitude} * 3.1415) / 180
+                 - (bu.lng * 3.1415) / 180)) * 6370.996
+                 ), 2) &lt;= 1
+          and  bu.role_id like concat('%','1727864411451359233','%')
+          and bu.is_deleted = 0 and bu.status = 2 limit 1
+    </select>
+
+
 </mapper>

--
Gitblit v1.9.3