| | |
| | | <result column="city" property="city"/> |
| | | <result column="district" property="district"/> |
| | | <result column="street" property="street"/> |
| | | <result column="short_address" property="shortAddress"/> |
| | | <result column="detail" property="detail"/> |
| | | <result column="longitude" property="longitude"/> |
| | | <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"/> |
| | |
| | | </resultMap> |
| | | |
| | | <sql id="Base_Column_List"> |
| | | address_id, user_id, receiver_name, receiver_phone, province, city, district, street, detail, longitude, latitude, is_default, tag, create_by, create_time, update_by, update_time |
| | | address_id, user_id, receiver_name, receiver_phone, province, city, district, street, short_address, detail, longitude, latitude, is_default, tag, create_by, create_time, update_by, update_time |
| | | </sql> |
| | | <update id="isDefault"> |
| | | update sh_user_address |
| | | set is_default = false |
| | | where user_id = #{userId} |
| | | </update> |
| | | |
| | | <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"> |
| | | <if test="criteria.userId != null and criteria.userId != ''"> |
| | | and user_id = #{criteria.userId} |
| | | </if> |
| | | <if test="criteria.tag != null"> |
| | | <if test="criteria.tag != null and criteria.tag != ''"> |
| | | and tag = #{criteria.tag} |
| | | </if> |
| | | <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 <= #{criteria.radius} |
| | | </if> |
| | | <if test="criteria.createTime != null and criteria.createTime.size() > 0"> |
| | | AND create_time BETWEEN #{criteria.createTime[0]} AND #{criteria.createTime[1]} |
| | |
| | | </where> |
| | | order by address_id desc |
| | | </select> |
| | | </mapper> |
| | | <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> |