From f5a65b910593501169b0e2db04a9b9c6fe790698 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期六, 26 八月 2023 13:28:55 +0800
Subject: [PATCH] 角色管理

---
 user-server/src/main/resources/mapper/RoleManangeMapper.xml |  127 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 127 insertions(+), 0 deletions(-)

diff --git a/user-server/src/main/resources/mapper/RoleManangeMapper.xml b/user-server/src/main/resources/mapper/RoleManangeMapper.xml
new file mode 100644
index 0000000..f2d1cc1
--- /dev/null
+++ b/user-server/src/main/resources/mapper/RoleManangeMapper.xml
@@ -0,0 +1,127 @@
+<?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.yuanchu.limslaboratory.mapper.RoleManageMapper">
+    <insert id="insertBatchRoleMenu" useGeneratedKeys="true" keyProperty="id">
+        insert
+        role_menu (id,`role_id`,`menu_id`,`selected`,`added`,`updated`,`deleted`,`create_time`)
+        values
+        <foreach collection="roleMenuAddList" separator="," item="r">
+            (#{r.id},#{r.roleId},#{r.menuId},#{r.selected},#{r.added},#{r.updated},#{r.deleted},#{r.createTime})
+        </foreach>
+    </insert>
+    <insert id="insertRole">
+        insert
+        role(id,name,create_time) value (
+        #{id},
+        #{name},
+        #{createTime}
+        )
+    </insert>
+    <update id="updateRoleState">
+        UPDATE role SET state = 0 WHERE (id = #{id})
+    </update>
+    <delete id="deleteRoleMenuByRoleId">
+        delete from role_menu where role_id =#{id}
+    </delete>
+    <select id="getAssertName" resultType="com.yuanchu.limslaboratory.pojo.RoleInfo">
+        select id
+        from role
+        where name = #{roleName}
+        and state=1
+    </select>
+    <select id="selectAllRoleAndMenu" resultMap="roleAndMenu">
+        SELECT r.id roleId,
+        r.`name` roleName,
+        menu_id menuId,
+        parent_id parentId,
+        m.`name` menuName,
+        rm.selected,
+        rm.added,
+        rm.updated,
+        rm.deleted,
+        r.create_time createTime,
+        r.update_time updateTime
+        FROM role_menu rm,
+        (select id, name, create_Time, update_Time,state
+        from role
+        where 1=1
+        <if test="dto.name!=null and dto.name!=''">
+            and name like CONCAT('%',#{dto.name},'%')
+        </if>
+        limit #{dto.currentPage}, #{dto.pageSize}) r,
+        menu m
+        WHERE rm.role_id = r.id
+        AND rm.menu_id = m.id
+        AND r.state = 1
+        AND rm.state = 1
+        AND m.state = 1
+    </select>
+    <select id="getRoleInfoByName" resultType="com.yuanchu.limslaboratory.pojo.RoleInfo">
+        select id
+        from role
+        where 1=1
+          and state=1
+        <if test="roleName!=null and roleName!=''">
+            and name like CONCAT('%',#{roleName},'%')
+        </if>
+    </select>
+    <select id="selectAllRoleAndMenuByRoleId" resultMap="roleAndMenuById">
+        SELECT
+            r.`name` roleName,
+            menu_id menuId,
+            parent_id parentId,
+            m.`name` menuName,
+            m.url menuUrl,
+--             m.redirect redirect,
+--             m.icon icon,
+            rm.selected,
+            rm.added,
+            rm.updated,
+            rm.deleted
+        FROM
+            role_menu rm,
+            role r,
+            menu m
+        WHERE
+            rm.role_id = r.id
+          AND rm.menu_id = m.id
+          AND r.state = 1
+          AND rm.state = 1
+          AND m.state = 1
+        and r.id=#{roleId}
+    </select>
+
+    <resultMap id="roleAndMenuById" type="com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto">
+        <result property="roleName" column="roleName"/>
+        <result property="createTime" column="createTime"/>
+        <result property="updateTime" column="updateTime"/>
+        <collection property="roleMenuList" ofType="roleMenu">
+            <result property="menuId" column="menuId"/>
+            <result property="added" column="added"/>
+            <result property="deleted" column="deleted"/>
+            <result property="updated" column="updated"/>
+            <result property="selected" column="selected"/>
+            <result property="menuName" column="menuName"/>
+            <result property="menuUrl" column="menuUrl"/>
+            <result property="redirect" column="redirect"/>
+            <result property="icon" column="icon"/>
+            <result property="parentId" column="parentId"/>
+        </collection>
+    </resultMap>
+
+    <resultMap id="roleAndMenu" type="com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto">
+        <result property="roleId" column="roleId"/>
+        <result property="roleName" column="roleName"/>
+        <result property="createTime" column="createTime"/>
+        <result property="updateTime" column="updateTime"/>
+        <collection property="roleMenuList" ofType="roleMenu">
+            <result property="menuId" column="menuId"/>
+            <result property="added" column="added"/>
+            <result property="deleted" column="deleted"/>
+            <result property="updated" column="updated"/>
+            <result property="selected" column="selected"/>
+            <result property="menuName" column="menuName"/>
+            <result property="parentId" column="parentId"/>
+        </collection>
+    </resultMap>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3