110 lines
4.9 KiB
XML
110 lines
4.9 KiB
XML
<?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="top.fatweb.api.mapper.permission.RoleMapper">
|
|
<select id="selectPage" resultType="long">
|
|
select id
|
|
from t_role
|
|
<where>
|
|
deleted = 0
|
|
<if test="searchName != null">
|
|
<choose>
|
|
<when test="searchRegex == true">
|
|
and t_role.name regexp #{searchName}
|
|
</when>
|
|
<otherwise>
|
|
and t_role.name like concat('%' ,#{searchName}, '%')
|
|
</otherwise>
|
|
</choose>
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectListWithPowerByIds" resultMap="roleWithPowerMap">
|
|
select distinct t_role.id as role_id,
|
|
t_role.name as role_name,
|
|
t_role.enable as role_enable,
|
|
t_role.create_time as role_create_time,
|
|
t_role.update_time as role_update_time,
|
|
t_role.deleted as role_deleted,
|
|
t_role.version as role_version,
|
|
tm.id as module_id,
|
|
tm.name as module_name,
|
|
tmn.id as menu_id,
|
|
tmn.name as menu_name,
|
|
tmn.url as menu_url,
|
|
tmn.parent_id as menu_parent_id,
|
|
tmn.module_id as menu_module_id,
|
|
tf.id as func_id,
|
|
tf.name as func_name,
|
|
tf.parent_id as func_parent_id,
|
|
tf.menu_id as func_menu_id,
|
|
t.id as operation_id,
|
|
t.name as operation_name,
|
|
t.code as operation_code,
|
|
t.func_id as operation_func_id
|
|
from (select * from t_role where deleted = 0) as t_role
|
|
left join (select * from t_power_role where deleted = 0) as tpr on t_role.id = tpr.role_id
|
|
left join t_power tp on tp.id = tpr.power_id
|
|
left join t_module tm on tp.id = tm.id
|
|
left join t_menu tmn on tp.id = tmn.id
|
|
left join t_func tf on tp.id = tf.id
|
|
left join t_operation t on tp.id = t.id
|
|
<where>
|
|
<foreach collection="roleIds" item="item" index="index" open="and t_role.id in (" separator="," close=")"
|
|
nullable="true">
|
|
#{item}
|
|
</foreach>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectOneById" resultMap="roleWithPowerMap">
|
|
select distinct t_role.id as role_id,
|
|
t_role.name as role_name,
|
|
t_role.enable as role_enable,
|
|
t_role.create_time as role_create_time,
|
|
t_role.update_time as role_update_time,
|
|
t_role.deleted as role_deleted,
|
|
t_role.version as role_version,
|
|
tm.id as module_id,
|
|
tm.name as module_name,
|
|
tmn.id as menu_id,
|
|
tmn.name as menu_name,
|
|
tmn.url as menu_url,
|
|
tmn.parent_id as menu_parent_id,
|
|
tmn.module_id as menu_module_id,
|
|
tf.id as func_id,
|
|
tf.name as func_name,
|
|
tf.parent_id as func_parent_id,
|
|
tf.menu_id as func_menu_id,
|
|
t.id as operation_id,
|
|
t.name as operation_name,
|
|
t.code as operation_code,
|
|
t.func_id as operation_func_id
|
|
from (select * from t_role where deleted = 0) as t_role
|
|
left join (select * from t_power_role where deleted = 0) as tpr on t_role.id = tpr.role_id
|
|
left join t_power tp on tp.id = tpr.power_id
|
|
left join t_module tm on tp.id = tm.id
|
|
left join t_menu tmn on tp.id = tmn.id
|
|
left join t_func tf on tp.id = tf.id
|
|
left join t_operation t on tp.id = t.id
|
|
where t_role.id = #{id}
|
|
</select>
|
|
|
|
<resultMap id="roleMap" type="role">
|
|
<id property="id" column="role_id"/>
|
|
<result property="name" column="role_name"/>
|
|
<result property="enable" column="role_enable"/>
|
|
<result property="createTime" column="role_create_time"/>
|
|
<result property="updateTime" column="role_update_time"/>
|
|
<result property="deleted" column="role_deleted"/>
|
|
<result property="version" column="role_version"/>
|
|
</resultMap>
|
|
|
|
<resultMap id="roleWithPowerMap" type="role" extends="roleMap">
|
|
<collection property="modules" resultMap="top.fatweb.api.mapper.permission.ModuleMapper.moduleMap"/>
|
|
<collection property="menus" resultMap="top.fatweb.api.mapper.permission.MenuMapper.menuMap"/>
|
|
<collection property="funcs" resultMap="top.fatweb.api.mapper.permission.FuncMapper.funcMap"/>
|
|
<collection property="operations" resultMap="top.fatweb.api.mapper.permission.OperationMapper.operationMap"/>
|
|
</resultMap>
|
|
</mapper>
|