From 6269dc7a50d5028fa616b339cfe790b6e0d5d16e Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Wed, 16 Jul 2025 18:20:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into xin

---
 oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml b/oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml
index a12e793..71bfbea 100644
--- a/oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml
+++ b/oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml
@@ -16,6 +16,7 @@
         <result column="latitude" property="latitude"/>
         <result column="is_default" property="isDefault"/>
         <result column="tag" property="tag"/>
+        <result column="distance" property="distance"/>
         <result column="create_by" property="createBy"/>
         <result column="create_time" property="createTime"/>
         <result column="update_by" property="updateBy"/>
@@ -34,6 +35,10 @@
     <select id="findAll" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
+        <if test="criteria.longitude != null and criteria.latitude != null and criteria.longitude != '' and criteria.latitude != ''">
+            , ROUND(ST_Distance_Sphere(POINT(#{criteria.longitude}, #{criteria.latitude}), POINT(longitude,
+            latitude)), 2) distance
+        </if>
         from sh_user_address
         <where>
             <if test="criteria.userId != null and criteria.userId != ''">
@@ -45,10 +50,21 @@
             <if test="criteria.phone != null and criteria.phone != ''">
                 and receiver_phone like concat('%',#{criteria.phone},'%')
             </if>
+            <if test="criteria.radius != null and criteria.radius != ''">
+                and ST_Distance_Sphere(POINT(#{criteria.longitude}, #{criteria.latitude}), POINT(longitude,
+                latitude)) distance &lt;= #{criteria.radius}
+            </if>
             <if test="criteria.createTime != null and criteria.createTime.size() > 0">
                 AND create_time BETWEEN #{criteria.createTime[0]} AND #{criteria.createTime[1]}
             </if>
         </where>
         order by address_id desc
     </select>
+    <select id="getById" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"/>
+        , ROUND(ST_Distance_Sphere(POINT(#{longitude}, #{latitude}), POINT(longitude, latitude)), 2) distance
+        from sh_user_address
+        where user_id = #{userId} and address_id = #{addressId}
+    </select>
 </mapper>

--
Gitblit v1.9.3