90 lines
4.0 KiB
XML
90 lines
4.0 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.mhd.user.domain.userAggregate.repository.mapper.UserAddressMapper">
|
|
|
|
<resultMap type="com.mhd.user.domain.userAggregate.entity.UserAddress" id="UserAddressResult">
|
|
<result property="id" column="id"/>
|
|
<result property="userId" column="user_id"/>
|
|
<result property="areaName" column="area_name"/>
|
|
<result property="areaCode" column="area_code"/>
|
|
<result property="detailedAddress" column="detailed_address"/>
|
|
<result property="contactPerson" column="contact_person"/>
|
|
<result property="contactPhone" column="contact_phone"/>
|
|
<result property="isDefault" column="is_default"/>
|
|
<result property="createBy" column="create_by"/>
|
|
<result property="createTime" column="create_time"/>
|
|
<result property="updateBy" column="update_by"/>
|
|
<result property="updateTime" column="update_time"/>
|
|
<result property="delFlag" column="del_flag"/>
|
|
</resultMap>
|
|
|
|
<resultMap type="com.mhd.user.domain.userAggregate.repository.po.UserAddressPO" id="UserAddressPOResult">
|
|
<result property="id" column="id"/>
|
|
<result property="userId" column="user_id"/>
|
|
<result property="areaName" column="area_name"/>
|
|
<result property="areaCode" column="area_code"/>
|
|
<result property="detailedAddress" column="detailed_address"/>
|
|
<result property="contactPerson" column="contact_person"/>
|
|
<result property="contactPhone" column="contact_phone"/>
|
|
<result property="isDefault" column="is_default"/>
|
|
<result property="createBy" column="create_by"/>
|
|
<result property="createTime" column="create_time"/>
|
|
<result property="updateBy" column="update_by"/>
|
|
<result property="updateTime" column="update_time"/>
|
|
</resultMap>
|
|
|
|
<sql id="selectUserAddressVo">
|
|
select id, user_id, area_name, area_code, detailed_address, contact_person, contact_phone, is_default,
|
|
create_by, create_time, update_by, update_time, del_flag
|
|
from user_address
|
|
</sql>
|
|
|
|
<select id="queryList" parameterType="com.mhd.user.domain.userAggregate.repository.todo.UserAddressDO" resultMap="UserAddressPOResult">
|
|
<include refid="selectUserAddressVo"/>
|
|
<where>
|
|
del_flag = 0
|
|
<if test="userId != null">
|
|
and user_id = #{userId}
|
|
</if>
|
|
<if test="areaName != null and areaName != ''">
|
|
and area_name like concat('%', #{areaName}, '%')
|
|
</if>
|
|
<if test="contactPerson != null and contactPerson != ''">
|
|
and contact_person like concat('%', #{contactPerson}, '%')
|
|
</if>
|
|
<if test="contactPhone != null and contactPhone != ''">
|
|
and contact_phone like concat('%', #{contactPhone}, '%')
|
|
</if>
|
|
<if test="isDefault != null">
|
|
and is_default = #{isDefault}
|
|
</if>
|
|
</where>
|
|
order by is_default desc, create_time desc
|
|
</select>
|
|
|
|
<select id="getAddressByUserId" parameterType="Long" resultMap="UserAddressPOResult">
|
|
<include refid="selectUserAddressVo"/>
|
|
where del_flag = 0 and user_id = #{userId}
|
|
order by is_default desc, create_time desc
|
|
</select>
|
|
|
|
<select id="getDefaultAddressByUserId" parameterType="Long" resultMap="UserAddressPOResult">
|
|
<include refid="selectUserAddressVo"/>
|
|
where del_flag = 0 and user_id = #{userId} and is_default = 1
|
|
limit 1
|
|
</select>
|
|
|
|
<update id="clearDefaultAddressByUserId" parameterType="Long">
|
|
update user_address set is_default = 0
|
|
where del_flag = 0 and user_id = #{userId} and is_default = 1
|
|
</update>
|
|
|
|
<update id="setDefaultAddress" parameterType="Long">
|
|
update user_address set is_default = 1
|
|
where del_flag = 0 and id = #{addressId}
|
|
</update>
|
|
|
|
</mapper>
|