104 lines
3.0 KiB
XML
Raw Normal View History

2026-03-10 14:30:24 +08:00
<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed Jul 11 17:43:19 CST 2018-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="AdminOwnArea">
<insert id="insertAdminOwnArea" parameterType="AdminOwnArea">
INSERT INTO AdminOwnArea ( adminId, areaId ) Values ( #{adminId}, #{areaId} )
</insert>
<update id="updateAdminOwnArea" parameterType="AdminOwnArea">
UPDATE AdminOwnArea SET
adminId = #{adminId}, areaId = #{areaId}
where adminId=#{adminId} and areaId=#{areaId}
</update>
<select id="getAdminOwnAreaByKey" parameterType="java.util.Map" resultType="AdminOwnArea">
SELECT adminId , areaId
FROM AdminOwnArea
WHERE adminId=#{adminId} and areaId=#{areaId}
</select>
<select id="getSeqAdminOwnArea" resultType="Integer" useCache="false" flushCache="true">
SELECT nextval('seq_adminOwnAreaId') ;
</select>
<insert id="insertAdminOwnAreaBatch" parameterType="java.util.List">
INSERT INTO AdminOwnArea ( adminId, areaId ,type ) Values
<foreach collection="list" index="index" item="item" separator="," >
( #{item.adminId}, #{item.areaId} ,#{item.type} )
</foreach>
</insert>
<select id="getAdminOwnAreasByAdminId" parameterType="java.util.Map" resultType="AdminAreaDto">
SELECT a.areaId , a.areaName ,
CASE WHEN b.adminId isnull THEN 0
ELSE 1
END as isOwn
FROM Area a
LEFT join AdminOwnArea b
ON b.adminId = #{adminId} and a.areaId = b.areaId
WHERE a.parentId = #{parentId}
ORDER BY a.areaId
</select>
<delete id="deleteAdminOwnAreasByAdminId" parameterType="java.util.Map">
DELETE
FROM AdminOwnArea
WHERE adminId = #{adminId}
<if test="type==1">
and (type=1 or type=2)
</if>
</delete>
<select id="getAllAdminOwnAreasByAdminId" parameterType="java.lang.Long" resultType="AdminAreaDto">
SELECT a.areaId , a.areaName ,
CASE WHEN b.adminId isnull THEN 0
ELSE 1
END as isOwn
FROM AdminOwnArea b
INNER JOIN Area a
ON b.adminId = #{adminId} and a.areaId = b.areaId
ORDER BY a.areaId ;
</select>
<select id="getAllAmdinOwnAreaExceptSelf" parameterType="java.util.Map" resultType="AdminOwnArea">
SELECT a.areaId ,a.adminId,a.type
FROM AdminOwnArea a inner join admin b
on a.adminId = b.adminId and a.adminId!=#{adminId} and b.status=1
<if test="type==1">
and (type=1 or type=2)
</if>
</select>
<select id="verifyAreaIdIsAllForAdminId" parameterType="java.util.Map" resultType="java.lang.Integer">
select count(*) from adminownarea where adminId=#{adminId} and type=1 and areaId=#{areaId}
</select>
</mapper>