From 810ad9dbaa8553299a4516790a9f546a9b84905e Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 08 七月 2025 16:16:26 +0800
Subject: [PATCH] 添加图层管理,修改权限管理

---
 se-system/src/main/resources/mapper/sys/LayerMapper.xml |  123 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 123 insertions(+), 0 deletions(-)

diff --git a/se-system/src/main/resources/mapper/sys/LayerMapper.xml b/se-system/src/main/resources/mapper/sys/LayerMapper.xml
new file mode 100644
index 0000000..2c3ddd8
--- /dev/null
+++ b/se-system/src/main/resources/mapper/sys/LayerMapper.xml
@@ -0,0 +1,123 @@
+<?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.terra.system.mapper.sys.LayerMapper">
+    <select id="selectLayers" resultType="com.terra.system.entity.sys.LayerEntity">
+        select distinct d.*, e.proxy, e.pubid
+        from lf.sys_user a
+            inner join lf.sys_role_user b on a.id = b.userid
+            inner join lf.sys_role_layer c on b.roleid = c.roleid
+            inner join lf.sys_layer d on c.layerid = d.id
+            left join lf.sys_res e on d.resid = e.id and e.status = 2
+        <where>
+            d.status = 1 and d.flag = 0
+            <if test="uid != null">
+                and a.uid = #{uid}
+            </if>
+        </where>
+        order by d.id;
+    </select>
+
+    <select id="selectProjectLayers" resultType="com.terra.system.entity.sys.LayerEntity">
+        select distinct d.*, e.proxy
+        from lf.sys_user a
+        inner join lf.sys_role_user b on a.id = b.userid
+        inner join lf.sys_role_layer c on b.roleid = c.roleid
+        inner join lf.sys_layer d on c.layerid = d.id
+        left join lf.sys_res e on d.resid = e.id and e.status = 2
+        <where>
+            d.status = 1 and d.flag = 1
+            <if test="uid != null">
+                and a.uid = #{uid}
+            </if>
+        </where>
+        order by d.id;
+    </select>
+
+    <select id="selectCount" resultType="java.lang.Integer">
+        select count(*) from lf.sys_layer
+        <where>
+            <if test="name != null">
+                upper(cn_name) like #{name} or upper(en_name) like #{name}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectByPage" resultType="com.terra.system.entity.sys.LayerEntity">
+        select * from lf.sys_layer
+        <where>
+            <if test="name != null">
+                upper(cn_name) like #{name} or upper(en_name) like #{name}
+            </if>
+        </where>
+        order by id desc
+        limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectAll" resultType="com.terra.system.entity.sys.LayerEntity">
+        select *
+        from lf.sys_layer
+        <where>
+            <if test="flag != null">
+                flag = #{flag}
+            </if>
+        </where>
+        order by id desc;
+    </select>
+
+    <select id="selectById" resultType="com.terra.system.entity.sys.LayerEntity">
+        select * from lf.sys_layer where id = #{id}
+    </select>
+
+    <select id="selectIdByName" resultType="java.lang.Integer">
+        select id from lf.sys_dir where name = #{name};
+    </select>
+
+    <select id="selectMaxOrderNumByPid" resultType="java.lang.Integer">
+        select coalesce(max(order_num), 0) + 1 from lf.sys_layer where pid = #{pid};
+    </select>
+
+    <select id="selectByResId" resultType="com.terra.system.entity.sys.LayerEntity">
+        select * from lf.sys_layer where resid = #{resid} limit 1;
+    </select>
+
+    <insert id="insert" parameterType="com.terra.system.entity.sys.LayerEntity">
+        insert into lf.sys_layer
+        (pid,cn_name,en_name,url,is_layer,is_show,icon,level,order_num,status,create_user,create_time,bak,elev,resid,type,data,tab,category,flag,unit)
+        values
+        (#{pid},#{cnName},#{enName},#{url},#{isLayer},#{isShow},#{icon},#{level},#{orderNum},#{status},#{createUser},now(),#{bak},#{elev},#{resid},#{type},#{data},#{tab},#{category},#{flag},#{unit})
+    </insert>
+
+    <insert id="inserts">
+        insert into lf.sys_layer
+        (pid,cn_name,en_name,url,is_layer,is_show,icon,level,order_num,status,create_user,create_time,bak,elev,resid,type,data,tab,category,flag,unit)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.pid},#{item.cnName},#{item.enName},#{item.url},#{item.isLayer},#{item.isShow},#{item.icon},#{item.level},#{item.orderNum},#{item.status},#{item.createUser},now(),#{item.bak},#{item.elev},#{item.resid},#{item.type},#{item.data},#{item.tab},#{item.category},#{item.flag},#{item.unit})
+        </foreach>
+    </insert>
+
+    <delete id="delete">
+        delete from lf.sys_layer where id = #{id}
+    </delete>
+
+    <delete id="deletes">
+        delete from lf.sys_layer where id in
+        <foreach item="id" collection="ids" index="index" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <update id="update">
+        update lf.sys_layer
+        set pid=#{pid},cn_name=#{cnName},en_name=#{enName},url=#{url},is_layer=#{isLayer},is_show=#{isShow},icon=#{icon},level=#{level},order_num=#{orderNum},status=#{status},update_user=#{updateUser},update_time=now(),bak=#{bak},elev=#{elev},resid=#{resid},type=#{type},data=#{data},tab=#{tab},category=#{category},flag=#{flag},unit=#{unit}
+        where id=#{id}
+    </update>
+
+    <update id="updates">
+        <foreach collection="list" item="item" index="index" separator=";">
+            update lf.sys_layer
+            set pid=#{item.pid},cn_name=#{item.cnName},en_name=#{item.enName},url=#{item.url},is_layer=#{item.isLayer},is_show=#{item.isShow},icon=#{item.icon},level=#{item.level},order_num=#{item.orderNum},status=#{item.status},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},elev=#{item.elev},resid=#{item.resid},type=#{item.type},data=#{item.data},tab=#{item.tab},category=#{item.category},flag=#{item.flag},unit=#{item.unit}
+            where id = #{item.id}
+        </foreach>
+    </update>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3