zhongrj
2023-12-29 878b7d3bcddaf5bfff49d23796f3473c022853f5
src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
@@ -105,21 +105,39 @@
    <!--根据父编号查询所有的下级-->
    <select id="getTreeList" resultType="org.springblade.common.node.TreeStringNode">
        SELECT
            br.code as id,br.parent_code as parentId,br.name as name
        FROM
            (
            SELECT
                @ids AS ids,
                ( SELECT @ids := GROUP_CONCAT( code ) FROM blade_region WHERE FIND_IN_SET( parent_code, @ids ) ) AS cids
            FROM
                blade_region
            WHERE
                @ids IS NOT NULL
                AND @ids := #{parentCode}
            ) id,
            blade_region br
        WHERE
            FIND_IN_SET(br.parent_code,ids)
        code as id,
        parent_code as parentId,
        name
        FROM blade_region where district_code = '361102'
        <if test="parentCode!=null">
            and parent_code = #{parentCode}
        </if>
        <if test="regionCode!=null and regionCode!=''">
            and code like concat('%',#{regionCode},'%')
        </if>
    </select>
    <!--根据当前编号查询-->
    <select id="getTownTree" resultType="org.springblade.common.node.TreeStringNode">
        SELECT
        code as id,
        parent_code as parentId,
        name
        FROM blade_region where district_code = '361102'
        and region_level = 4
        <if test="regionCode!=null  and regionCode!=''">
            and code = #{regionCode}
        </if>
        union
        SELECT
        code as id,
        parent_code as parentId,
        name
        FROM blade_region where district_code = '361102'
        and region_level = 4
        <if test="regionCode!=null  and regionCode!=''">
            and parent_code = #{regionCode}
        </if>
    </select>
</mapper>