ZQN
2024-06-17 b1ff19545212508d3f65741ab889f0b6df82a511
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?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.project.system.mapper.SysRegionMapper">
 
    <resultMap type="SysRegion" id="SysRegionResult">
        <result property="code"    column="code"    />
        <result property="parentCode"    column="parent_code"    />
        <result property="ancestors"    column="ancestors"    />
        <result property="name"    column="name"    />
        <result property="provinceCode"    column="province_code"    />
        <result property="provinceName"    column="province_name"    />
        <result property="cityCode"    column="city_code"    />
        <result property="cityName"    column="city_name"    />
        <result property="districtCode"    column="district_code"    />
        <result property="districtName"    column="district_name"    />
        <result property="townCode"    column="town_code"    />
        <result property="townName"    column="town_name"    />
        <result property="villageCode"    column="village_code"    />
        <result property="villageName"    column="village_name"    />
        <result property="regionLevel"    column="region_level"    />
        <result property="sort"    column="sort"    />
        <result property="remark"    column="remark"    />
    </resultMap>
 
    <select id="regionTree" resultType="com.project.common.core.domain.TreeNode">
        SELECT
        region.code AS "id",
        region.parent_code AS "parent_id",
        region.name AS "title",
        region.code AS "value",
        region.code AS "key",
        ( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM sys_region WHERE parent_code = region.code ) AS "has_children"
        FROM
        sys_region region
        <where>
            <if test="parentCode!=null and parentCode!=''">
                and region.parent_code = #{parentCode}
            </if>
 
            <if test="name!=null and name!=''">
                and region.name like concat(concat('%', #{name}),'%')
            </if>
        </where>
        ORDER BY region.code
    </select>
 
</mapper>