<?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.huaheng.pc.system.role.mapper.RoleMapper"> <resultMap type="com.huaheng.pc.system.role.domain.Role" id="RoleResult"> <id property="id" column="id" /> <result property="roleName" column="roleName" /> <result property="roleCode" column="roleCode" /> <result property="roleSort" column="roleSort" /> <result property="enable" column="enable" /> <result property="warehouseId" column="warehouseId" /> <result property="warehouseCode" column="warehouseCode" /> <result property="createBy" column="createBy" /> <result property="createTime" column="createTime" /> <result property="updateBy" column="updateBy" /> <result property="updateTime" column="updateTime" /> <result property="remark" column="remark" /> </resultMap> <sql id="selectRoleVo"> select id, roleName, roleCode, roleSort, enable, warehouseId, warehouseCode, createTime, remark from sys_role </sql> <select id="selectRoleList" resultMap="RoleResult"> <include refid="selectRoleVo"/> <where> <if test="roleName != null and roleName != ''"> AND roleName like concat('%', #{roleName}, '%') </if> <if test="enable != null "> AND enable = #{enable} </if> <if test="warehouseId != null and warehouseId != ''"> AND warehouseId = #{warehouseId} </if> <if test="warehouseCode != null and warehouseCode != ''"> AND warehouseCode = #{warehouseCode} </if> <if test="roleCode != null and roleCode != ''"> AND roleCode like concat('%', #{roleCode}, '%') </if> <if test="params != null and params.beginTime != null"><!-- 开始时间检索 --> and date_format(createTime,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') </if> <if test="params != null and params.endTime != null"><!-- 结束时间检索 --> and date_format(createTime,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d') </if> </where> </select> <select id="selectRolesByUserId" resultMap="RoleResult"> SELECT r.id, r.roleName, r.roleCode FROM sys_user u LEFT JOIN sys_user_role ur ON u.id = ur.userId LEFT JOIN sys_role r ON ur.roleId = r.id WHERE ur.userId = #{userId} AND r.warehouseCode = #{warehouseCode} </select> <select id="selectRolesAll" resultMap="RoleResult"> <include refid="selectRoleVo"/> where warehouseCode = #{warehouseCode} </select> <select id="selectRoleById" resultMap="RoleResult"> <include refid="selectRoleVo"/> where id = #{id} </select> <select id="checkRoleNameUnique" resultMap="RoleResult"> <include refid="selectRoleVo"/> where roleName=#{roleName} and warehouseCode = #{warehouseCode} </select> <select id="checkroleCodeUnique" resultMap="RoleResult"> <include refid="selectRoleVo"/> where roleCode=#{roleCode} and warehouseCode = #{warehouseCode} </select> <delete id="deleteRoleById"> delete from sys_role where id = #{id} and warehouseCode = #{warehouseCode} </delete> <delete id="deleteRoleByIds"> delete from sys_role where warehouseCode = #{warehouseCode} AND id in <foreach collection="ids" item="id" open="(" separator="," close=")"> #{id} </foreach> </delete> <update id="updateRole"> update sys_role <set> <if test="roleName != null and roleName != ''">roleName = #{roleName},</if> <if test="roleCode != null and roleCode != ''">roleCode = #{roleCode},</if> <if test="roleSort != null and roleSort != ''">roleSort = #{roleSort},</if> <if test="enable != null ">enable = #{enable},</if> <if test="remark != null and remark != ''">remark = #{remark},</if> <if test="updateBy != null and updateBy != ''">updateBy = #{updateBy},</if> updateTime = sysdate() </set> where warehouseCode = #{warehouseCode} AND id = #{id} </update> <insert id="insertRole" useGeneratedKeys="true" keyProperty="id"> insert into sys_role( <if test="roleName != null and roleName != ''">roleName,</if> <if test="roleCode != null and roleCode != ''">roleCode,</if> <if test="roleSort != null and roleSort != ''">roleSort,</if> <if test="enable != null ">enable,</if> <if test="warehouseId != null and warehouseId != ''">warehouseId,</if> <if test="warehouseCode != null and warehouseCode != ''">warehouseCode,</if> <if test="remark != null and remark != ''">remark,</if> <if test="createBy != null and createBy != ''">createBy,</if> createTime )values( <if test="roleName != null and roleName != ''">#{roleName},</if> <if test="roleCode != null and roleCode != ''">#{roleCode},</if> <if test="roleSort != null and roleSort != ''">#{roleSort},</if> <if test="enable != null ">#{enable},</if> <if test="warehouseId != null and warehouseId != ''">#{warehouseId},</if> <if test="warehouseCode != null and warehouseCode != ''">#{warehouseCode},</if> <if test="remark != null and remark != ''">#{remark},</if> <if test="createBy != null and createBy != ''">#{createBy},</if> sysdate() ) </insert> <insert id="roleCopy"> insert into sys_role(roleName,roleCode,roleSort,warehouseCode,enable,remark) select roleName,roleCode,roleSort,#{newCode},enable,remark from sys_role where warehouseCode=#{code} </insert> <insert id="roleUserCopy"> insert into sys_user_role(userId,roleId) values(#{id},(select id from sys_role where warehouseCode = #{code} limit 1)) </insert> </mapper>