system-operator/src/main/resources/mybatis/mapper/areatree/areatree-mapper.xml
java_cuibaocheng@163.com 1003ca87da fc
2024-02-03 10:57:28 +08:00

50 lines
1.8 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="cn.com.tenlion.operator.dao.areatree.IAreatreeDao">
<cache></cache>
<resultMap id="areaZtreeDTO" type="cn.com.tenlion.operator.pojo.dtos.areatree.AreaZtreeDTO">
<id property="id" column="area_id"/>
<result property="pId" column="area_parent_id"/>
<result property="name" column="area_name"/>
<result property="areaCode" column="area_code"/>
<result property="areaLevel" column="area_level"/>
<result property="subCount" column="subCount"/>
</resultMap>
<select id="listCache" parameterType="map" resultMap="areaZtreeDTO" useCache="true">
SELECT
t1.area_id,
t1.area_parent_id,
t1.area_name,
t1.area_code,
(SELECT COUNT(1) FROM data_area t2 WHERE t2.is_delete = 0 AND t2.area_parent_id = t1.area_id) AS subCount
FROM
data_area t1
WHERE
t1.is_delete = 0
<if test="level != null and level != ''">
AND t1.area_level = #{level}
</if>
ORDER BY t1.area_id
<if test="startPage != null">
LIMIT ${startPage} , 10000
</if>
</select>
<select id="getAreaByAreaId" parameterType="map" resultMap="areaZtreeDTO" useCache="true">
SELECT
t1.area_id,
t1.area_parent_id,
t1.area_name,
t1.area_code,
t1.area_level,
(SELECT COUNT(1) FROM data_area t2 WHERE t2.is_delete = 0 AND t2.area_parent_id = t1.area_id) AS subCount
FROM
data_area t1
WHERE
t1.is_delete = 0 AND t1.area_id = #{areaId}
</select>
</mapper>