Files
ks/ruoyi-bussiness/src/main/resources/mapper/app/SysAreaMapper.xml

37 lines
1.8 KiB
XML
Raw Normal View History

2025-11-10 17:26:22 +08:00
<?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.cms.mapper.SysAreaMapper">
<sql id="selectAreaVo">
select id, code, name, parent_code, del_flag, create_by, create_time, update_by, update_time, remark from sys_area
</sql>
<select id="getList" resultType="com.ruoyi.common.core.domain.entity.SysArea" parameterType="com.ruoyi.common.core.domain.entity.SysArea">
<include refid="selectAreaVo"/>
<where> del_flag = '0'
2025-11-10 17:30:35 +08:00
<if test="name != null and name != ''"> and name like concat('%', cast(#{name, jdbcType=VARCHAR} as varchar), '%')</if>
2025-11-10 17:26:22 +08:00
<if test="code != null and code != ''"> and code =#{code}</if>
<choose>
<when test="parentCode != null and parentCode != ''">
and parent_code =#{parentCode}
</when>
<otherwise>
and parent_code is null
</otherwise>
</choose>
</where>
order by code
</select>
2026-01-21 17:43:35 +08:00
<select id="getCityList" resultType="com.ruoyi.common.core.domain.entity.SysArea" parameterType="com.ruoyi.common.core.domain.entity.SysArea">
WITH top_area AS (
SELECT code, name, (name LIKE '%市%') AS is_municipality FROM sys_area WHERE del_flag='0' and parent_code IS NULL
)
SELECT sa.*,get_name_first_pinyin(sa.name) AS zm FROM sys_area sa INNER JOIN top_area ta ON sa.code = ta.code WHERE ta.is_municipality = TRUE
2026-01-21 17:43:35 +08:00
UNION ALL
SELECT sa.*,get_name_first_pinyin(sa.name) AS zm FROM sys_area sa INNER JOIN top_area ta ON sa.parent_code = ta.code WHERE ta.is_municipality = FALSE
2026-01-21 17:43:35 +08:00
</select>
2025-11-10 17:26:22 +08:00
</mapper>