Files
zxjp-web/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml
zhangchenbiao 7a78f59ad7 update
2023-06-06 09:43:31 +08:00

200 lines
7.6 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="com.cool.store.mapper.SysRoleMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.SysRoleDO">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="role_name" jdbcType="VARCHAR" property="roleName"/>
<result column="is_internal" jdbcType="BIT" property="isInternal"/>
<result column="role_auth" jdbcType="VARCHAR" property="roleAuth"/>
<result column="source" jdbcType="CHAR" property="source"/>
<result column="position_type" jdbcType="VARCHAR" property="positionType"/>
<result column="app_menu" jdbcType="VARCHAR" property="appMenu"/>
<result column="syn_ding_role_id" jdbcType="BIGINT" property="synDingRoleId"/>
<result column="priority" jdbcType="INTEGER" property="priority"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="role_enum" jdbcType="VARCHAR" property="roleEnum"/>
<result column="create_user" jdbcType="VARCHAR" property="createUser"/>
<result column="update_user" jdbcType="VARCHAR" property="updateUser"/>
<result column="third_unique_id" jdbcType="VARCHAR" property="thirdUniqueId"/>
</resultMap>
<sql id="Base_Column_List">
id, role_name, is_internal, role_auth, source, position_type, app_menu, syn_ding_role_id,
priority, create_time, update_time, role_enum, create_user, update_user, third_unique_id
</sql>
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
insert into sys_role
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="record.roleName != null">
role_name,
</if>
<if test="record.isInternal != null">
is_internal,
</if>
<if test="record.roleAuth != null">
role_auth,
</if>
<if test="record.source != null">
source,
</if>
<if test="record.positionType != null">
position_type,
</if>
<if test="record.appMenu != null">
app_menu,
</if>
<if test="record.synDingRoleId != null">
syn_ding_role_id,
</if>
<if test="record.priority != null">
priority,
</if>
<if test="record.createTime != null">
create_time,
</if>
<if test="record.updateTime != null">
update_time,
</if>
<if test="record.roleEnum != null">
role_enum,
</if>
<if test="record.createUser != null">
create_user,
</if>
<if test="record.updateUser != null">
update_user,
</if>
<if test="record.thirdUniqueId != null">
third_unique_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="record.roleName != null">
#{record.roleName},
</if>
<if test="record.isInternal != null">
#{record.isInternal},
</if>
<if test="record.roleAuth != null">
#{record.roleAuth},
</if>
<if test="record.source != null">
#{record.source},
</if>
<if test="record.positionType != null">
#{record.positionType},
</if>
<if test="record.appMenu != null">
#{record.appMenu},
</if>
<if test="record.synDingRoleId != null">
#{record.synDingRoleId},
</if>
<if test="record.priority != null">
#{record.priority},
</if>
<if test="record.createTime != null">
#{record.createTime},
</if>
<if test="record.updateTime != null">
#{record.updateTime},
</if>
<if test="record.roleEnum != null">
#{record.roleEnum},
</if>
<if test="record.createUser != null">
#{record.createUser},
</if>
<if test="record.updateUser != null">
#{record.updateUser},
</if>
<if test="record.thirdUniqueId != null">
#{record.thirdUniqueId},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective">
update sys_role
<set>
<if test="record.roleName != null">
role_name = #{record.roleName},
</if>
<if test="record.isInternal != null">
is_internal = #{record.isInternal},
</if>
<if test="record.roleAuth != null">
role_auth = #{record.roleAuth},
</if>
<if test="record.source != null">
source = #{record.source},
</if>
<if test="record.positionType != null">
position_type = #{record.positionType},
</if>
<if test="record.appMenu != null">
app_menu = #{record.appMenu},
</if>
<if test="record.synDingRoleId != null">
syn_ding_role_id = #{record.synDingRoleId},
</if>
<if test="record.priority != null">
priority = #{record.priority},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime},
</if>
<if test="record.roleEnum != null">
role_enum = #{record.roleEnum},
</if>
<if test="record.createUser != null">
create_user = #{record.createUser},
</if>
<if test="record.updateUser != null">
update_user = #{record.updateUser},
</if>
<if test="record.thirdUniqueId != null">
third_unique_id = #{record.thirdUniqueId},
</if>
</set>
where id = #{record.id}
</update>
<select id="getHighestPrioritySysRoleDoByUserId" resultMap="BaseResultMap">
select
c.id as id,
c.role_name as roleName,
c.role_auth as roleAuth,
c.position_type as positionType,
c.app_menu as appMenu,
c.role_enum as roleEnum
from
enterprise_user a
left join enterprise_user_role b on a.user_id =b.user_id
left join sys_role c on c.id=b.role_id
where
a.user_id= #{userId} and a.active = true
order by
c.priority is null, c.priority, position_type desc
LIMIT 1
</select>
<select id="getRoleByRoleEnum" resultMap="BaseResultMap">
select
id as id,
role_name as roleName,
role_auth as roleAuth,
is_internal as isInternal,
`source` as source,
priority as priority,
app_menu as appMenu,
position_type as positionType,
role_enum as roleEnum
from
sys_role
where
role_enum = #{roleEnum}
</select>
</mapper>