163 lines
7.4 KiB
XML
163 lines
7.4 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.ruoyi.price.mapper.PrcZoneMapper">
|
|
|
|
<resultMap type="PrcZone" id="PrcZoneResult">
|
|
<id property="zoneId" column="zone_id" />
|
|
<result property="regionId" column="region_id" />
|
|
<result property="countryCode" column="country_code" />
|
|
<result property="zoneCode" column="zone_code" />
|
|
<result property="zoneName" column="zone_name" />
|
|
<result property="zoneSort" column="zone_sort" />
|
|
<result property="remark" column="remark" />
|
|
<result property="createTime" column="create_time" />
|
|
<result property="updateTime" column="update_time" />
|
|
<result property="detailCount" column="detail_count" />
|
|
<result property="countryNameCn" column="country_name_cn" />
|
|
</resultMap>
|
|
|
|
<resultMap type="PrcZoneRegion" id="PrcZoneRegionResult">
|
|
<id property="regionId" column="region_id" />
|
|
<result property="countryNameCn" column="country_name_cn" />
|
|
<result property="countryNameEn" column="country_name_en" />
|
|
<result property="countryCode2" column="country_code_2" />
|
|
<result property="status" column="status" />
|
|
<result property="zoneCount" column="zone_count" />
|
|
<result property="detailCount" column="detail_count" />
|
|
</resultMap>
|
|
|
|
<sql id="selectPrcZoneVo">
|
|
select zone_id, region_id, country_code, zone_code, zone_name, zone_sort, remark, create_time, update_time
|
|
from prc_zone
|
|
</sql>
|
|
|
|
<select id="selectPrcZoneById" parameterType="Long" resultMap="PrcZoneResult">
|
|
<include refid="selectPrcZoneVo"/>
|
|
where zone_id = #{zoneId}
|
|
</select>
|
|
|
|
<select id="selectPrcZoneListByRegionId" parameterType="Long" resultMap="PrcZoneResult">
|
|
select z.zone_id, z.region_id, z.country_code, z.zone_code, z.zone_name, z.zone_sort, z.remark,
|
|
z.create_time, z.update_time,
|
|
(select count(1) from prc_zone_detail d where d.zone_id = z.zone_id) as detail_count
|
|
from prc_zone z
|
|
where z.region_id = #{regionId}
|
|
order by z.zone_sort asc, z.zone_id asc
|
|
</select>
|
|
|
|
<select id="selectPrcZoneList" parameterType="PrcZone" resultMap="PrcZoneResult">
|
|
select z.zone_id, z.region_id, z.country_code, z.zone_code, z.zone_name, z.zone_sort, z.remark,
|
|
z.create_time, z.update_time,
|
|
r.country_name_cn,
|
|
(select count(1) from prc_zone_detail d where d.zone_id = z.zone_id) as detail_count
|
|
from prc_zone z
|
|
left join bms_region r on r.region_id = z.region_id
|
|
<where>
|
|
<if test="regionId != null">
|
|
AND z.region_id = #{regionId}
|
|
</if>
|
|
<if test="countryCode != null and countryCode != ''">
|
|
AND z.country_code = #{countryCode}
|
|
</if>
|
|
<if test="zoneCode != null and zoneCode != ''">
|
|
AND z.zone_code like concat('%', #{zoneCode}, '%')
|
|
</if>
|
|
<if test="zoneName != null and zoneName != ''">
|
|
AND z.zone_name like concat('%', #{zoneName}, '%')
|
|
</if>
|
|
</where>
|
|
order by z.zone_sort asc, z.zone_id asc
|
|
</select>
|
|
|
|
<select id="selectZoneRegionList" parameterType="PrcZoneRegion" resultMap="PrcZoneRegionResult">
|
|
select r.region_id, r.country_name_cn, r.country_name_en, r.country_code_2, r.status,
|
|
count(distinct z.zone_id) as zone_count,
|
|
count(d.detail_id) as detail_count
|
|
from prc_zone z
|
|
inner join bms_region r on r.region_id = z.region_id
|
|
left join prc_zone_detail d on d.zone_id = z.zone_id
|
|
<where>
|
|
<if test="countryNameCn != null and countryNameCn != ''">
|
|
AND r.country_name_cn like concat('%', #{countryNameCn}, '%')
|
|
</if>
|
|
<if test="countryCode2 != null and countryCode2 != ''">
|
|
AND (r.country_code_2 = #{countryCode2} OR z.country_code = #{countryCode2})
|
|
</if>
|
|
<if test="status != null and status != ''">
|
|
AND r.status = #{status}
|
|
</if>
|
|
</where>
|
|
group by r.region_id, r.country_name_cn, r.country_name_en, r.country_code_2, r.status
|
|
order by r.country_name_cn asc, r.region_id asc
|
|
</select>
|
|
|
|
<select id="selectZoneRegionById" parameterType="Long" resultMap="PrcZoneRegionResult">
|
|
select r.region_id, r.country_name_cn, r.country_name_en, r.country_code_2, r.status,
|
|
(select count(1) from prc_zone z where z.region_id = r.region_id) as zone_count,
|
|
(select count(1) from prc_zone_detail d
|
|
inner join prc_zone z on z.zone_id = d.zone_id
|
|
where z.region_id = r.region_id) as detail_count
|
|
from bms_region r
|
|
where r.region_id = #{regionId}
|
|
</select>
|
|
|
|
<select id="countByRegionId" parameterType="Long" resultType="int">
|
|
select count(1) from prc_zone where region_id = #{regionId}
|
|
</select>
|
|
|
|
<insert id="insertPrcZone" parameterType="PrcZone" useGeneratedKeys="true" keyProperty="zoneId">
|
|
insert into prc_zone (
|
|
<if test="regionId != null">region_id,</if>
|
|
<if test="countryCode != null and countryCode != ''">country_code,</if>
|
|
<if test="zoneCode != null and zoneCode != ''">zone_code,</if>
|
|
<if test="zoneName != null">zone_name,</if>
|
|
<if test="zoneSort != null">zone_sort,</if>
|
|
<if test="remark != null">remark,</if>
|
|
create_time
|
|
) values (
|
|
<if test="regionId != null">#{regionId},</if>
|
|
<if test="countryCode != null and countryCode != ''">#{countryCode},</if>
|
|
<if test="zoneCode != null and zoneCode != ''">#{zoneCode},</if>
|
|
<if test="zoneName != null">#{zoneName},</if>
|
|
<if test="zoneSort != null">#{zoneSort},</if>
|
|
<if test="remark != null">#{remark},</if>
|
|
sysdate()
|
|
)
|
|
</insert>
|
|
|
|
<update id="updatePrcZone" parameterType="PrcZone">
|
|
update prc_zone
|
|
<set>
|
|
<if test="regionId != null">region_id = #{regionId},</if>
|
|
<if test="countryCode != null and countryCode != ''">country_code = #{countryCode},</if>
|
|
<if test="zoneCode != null and zoneCode != ''">zone_code = #{zoneCode},</if>
|
|
<if test="zoneName != null">zone_name = #{zoneName},</if>
|
|
<if test="zoneSort != null">zone_sort = #{zoneSort},</if>
|
|
<if test="remark != null">remark = #{remark},</if>
|
|
update_time = sysdate()
|
|
</set>
|
|
where zone_id = #{zoneId}
|
|
</update>
|
|
|
|
<delete id="deletePrcZoneByIds" parameterType="Long">
|
|
delete from prc_zone where zone_id in
|
|
<foreach item="zoneId" collection="array" open="(" separator="," close=")">
|
|
#{zoneId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<delete id="deletePrcZoneByRegionId" parameterType="Long">
|
|
delete from prc_zone where region_id = #{regionId}
|
|
</delete>
|
|
|
|
<delete id="deletePrcZoneByRegionIds" parameterType="Long">
|
|
delete from prc_zone where region_id in
|
|
<foreach item="regionId" collection="array" open="(" separator="," close=")">
|
|
#{regionId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
</mapper>
|