You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
4.3 KiB

<?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.daqing.financial.hrauth.dao.RolePermissionMapper">
<resultMap type="com.daqing.framework.domain.hrms.RolePermissionEntity" id="rolePermissionMap">
<result property="id" column="id"/>
<result property="roleId" column="role_id"/>
<result property="permissionId" column="permission_id"/>
</resultMap>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.daqing.framework.domain.hrms.PermissionEntity" id="permissionMap">
<result property="id" column="id"/>
<result property="code" column="code"/>
<result property="name" column="name"/>
<result property="url" column="url"/>
<result property="parentId" column="parent_id"/>
<result property="level" column="level"/>
<result property="menuOrNot" column="menu_or_not"/>
<result property="status" column="status"/>
<result property="sort" column="sort"/>
<result property="icon" column="icon"/>
<result property="createTime" column="create_time"/>
<result property="motifyTime" column="motify_time"/>
</resultMap>
<delete id="deleteHrmsRolePermission">
delete from hrms_role_permission where role_id=#{roleId}
</delete>
<select id="pageByCondition" resultType="com.daqing.framework.domain.hrms.response.RolePermissionResponse">
select hr.id as roleId, hr.`name`,hr.description,GROUP_CONCAT(hp.`name`separator '/') as permissionName
FROM hrms_role_permission rp
LEFT JOIN hrms_role hr on hr.id = rp.role_id
LEFT JOIN hrms_permission hp on hp.id= rp.permission_id
GROUP BY rp.role_id
</select>
<select id="queryPermissionByRoleId" parameterType="long"
resultType="com.daqing.framework.domain.hrms.response.RolePermissionResponse">
select rp.permission_id, hp.`name`as permissionName, hp.parent_id, hp.sort from hrms_role_permission rp
LEFT JOIN hrms_permission hp on hp.id=rp.permission_id
WHERE rp.role_id=#{roleId}
</select>
<insert id="addHrmsRole" parameterType="com.daqing.framework.domain.hrms.request.RolePermissionRequest"
useGeneratedKeys="true" keyProperty="roleId" keyColumn="id">
INSERT INTO hrms_role
(`name`,description,create_time,motify_time)
values (#{name},#{description},#{createTime},#{motifyTime});
</insert>
<insert id="addHrmsRolePermission" parameterType="com.daqing.framework.domain.hrms.request.RolePermissionRequest">
INSERT INTO hrms_role_permission (role_id,permission_id) values
<foreach collection="rolePermissionList" index="index" separator="," item="item">
(#{item.roleId},#{item.permissionId})
</foreach>
</insert>
<update id="updateHrmsRole" parameterType="com.daqing.framework.domain.hrms.request.RolePermissionRequest">
UPDATE hrms_role
<set>
<if test="name != null and name != ''">
`name`=#{name},
</if>
<if test="description != null and description != ''">
description=#{description},
</if>
<if test="motifyTime != null">
motify_time=#{motifyTime},
</if>
</set>
WHERE id = #{roleId}
</update>
<select id="queryCountByRoleId" parameterType="long"
resultType="java.lang.Integer">
select count(0) from hrms_employee_role where role_id = #{roleId}
</select>
<delete id="deleteHrmsRoleByRoleId">
delete from hrms_role where id=#{roleId}
</delete>
<select id="uniqueRoleName" parameterType="string" resultType="java.lang.Integer">
select count(0) from hrms_role where `name` = #{name}
</select>
<select id="selectRoleByUserId" parameterType="long" resultType="com.daqing.framework.domain.hrms.EmployeeRoleEntity">
select role_id from hrms_employee_role where user_id=#{userId}
</select>
<select id="selectRolePermiByPermiId" parameterType="long"
resultType="com.daqing.framework.domain.hrms.RolePermissionEntity">
select id, role_id, permission_id from hrms_role_permission
WHERE permission_id=#{permissionId}
</select>
</mapper>