SysOpRoleSmapper.xml 5.68 KB
<?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.zteits.sys.mapper.smapper.SysOpRoleSmapper">
    <resultMap id="BaseResultMap" type="com.zteits.sys.domain.SysOpRole">
        <id column="id" property="id" jdbcType="BIGINT"/>
        <result column="sys_op_id" property="sysOpId" jdbcType="BIGINT"/>
        <result column="sys_role_id" property="sysRoleId" jdbcType="VARCHAR"/>
        <result column="sys_code" property="sysCode" jdbcType="VARCHAR"/>
        <result column="data_state" property="dataState" jdbcType="INTEGER"/>
        <result column="create_empid" property="createEmpid" jdbcType="VARCHAR"/>
        <result column="create_date" property="createDate" jdbcType="TIMESTAMP"/>
        <result column="modfiy_empid" property="modfiyEmpid" jdbcType="VARCHAR"/>
        <result column="modfiy_date" property="modfiyDate" jdbcType="TIMESTAMP"/>
    </resultMap>
    <sql id="Base_Column_List">
    id, sys_op_id, sys_role_id, sys_code, data_state, create_empid, create_date, modfiy_empid, 
    modfiy_date
  </sql>

    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    delete from sys_op_role
    where sys_op_id = #{sysOpId,jdbcType=BIGINT}
  </delete>
  
  <delete id="deleteSysOpRoleByOpId" parameterType="java.lang.Long">
    delete from sys_op_role
    where sys_op_id = #{sysOpId,jdbcType=BIGINT}
  </delete>
  
    <!-- 批量插入用户角色关系 -->
    <insert id="batchSaveSysOpRole">
        <selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER">
            SELECT LAST_INSERT_ID() AS id
        </selectKey>
        insert into sys_op_role ( sys_op_id, sys_role_id,
        sys_code,create_empid, create_date, modfiy_empid, 
    	modfiy_date
        )
        values
        <foreach collection="roleIdList" item="item" index="index" separator=",">
            ( #{sysOpID,jdbcType=BIGINT},
            #{item,jdbcType=BIGINT},
            #{sysCode,jdbcType=VARCHAR},#{createEmpid,jdbcType=VARCHAR},#{createDate,jdbcType=TIMESTAMP},
            #{modfiyEmpid,jdbcType=VARCHAR},#{modfiyDate,jdbcType=TIMESTAMP})

        </foreach>
    </insert>


    <delete id="deleteBatchOpRoleByIds">
        DELETE FROM sys_op_role
        <where>
            <choose>
                <when test="null==ids||ids.size()=0">
                    1=2
                </when>
                <otherwise>
                    id IN
                    <foreach collection="ids" item="id" separator="," open="(" close=")" index="index">
                        #{id}
                    </foreach>
                </otherwise>
            </choose>
            AND sys_code = #{sysCode,jdbcType=VARCHAR}
        </where>

    </delete>


    <delete id="deleteBatchOpRoleByOpId">
        DELETE FROM sys_op_role
        <where>
            sys_op_id = ${opId}
            AND sys_code = #{sysCode,jdbcType=VARCHAR}
            <if test="null !=roleIds and roleIds.size()>0">
                AND sys_role_id IN
                <foreach collection="roleIds" item="roleId" index="index" open="(" close=")" separator=",">
                    #{roleId}
                </foreach>
            </if>

        </where>
    </delete>

    <delete id="deleBatchOpRoleByRoleId">
        DELETE FROM sys_op_role
        <where>
            sys_role_id = #{roleId}
            AND sys_code = #{sysCode,jdbcType=VARCHAR}
            <if test="null !=opIds and opIds.size>0">
                <foreach collection="opIds" item="opId" index="index" open="(" close=")" separator=",">
                    #{opId}

                </foreach>
            </if>

        </where>
    </delete>

    <insert id="saveBatchOpRoleByOpId">
        INSERT INTO sys_op_role (sys_op_id, sys_role_id,
        sys_code, data_state, create_empid,
        create_date, modfiy_empid, modfiy_date
        )
        values
        <foreach collection="roleIds" separator="," item="roleId">
            (
            #{opId},
            #{roleId},
            #{sysCode,jdbcType=VARCHAR},
            #{dataState},
            #{currentOpId},
            NOW(),
            #{currentOpId},
            NOW()
            )
        </foreach>

    </insert>

    <insert id="saveBatchOpRoleByRoleId">
        INSERT INTO sys_op_role (sys_op_id, sys_role_id,
        sys_code, data_state, create_empid,
        create_date, modfiy_empid, modfiy_date
        )
        values
        <foreach collection="opIds" separator="," item="opId">
            (
            #{opId},
            #{roleId},
            #{sysCode,jdbcType=VARCHAR},
            #{dataState},
            #{currentOpId},
            NOW(),
            #{currentOpId},
            NOW()
            )
        </foreach>

    </insert>

    <select id="queryRoleIdsByOpId" resultType="long">
        SELECT
        sys_role_id
        FROM sys_op_role
        <where>
            sys_code = #{sysCode,jdbcType=VARCHAR}
            <if test="null !=dataState">
                AND data_state = ${dataState}
            </if>
            AND sys_op_id IN
            <foreach collection="opIds" open="(" close=")" item="opId" separator=",">
                #{opId}
            </foreach>
        </where>

    </select>

    <select id="queryOpIdsByRoleId" resultType="long">
        SELECT
        sys_op_id
        FROM sys_op_role
        <where>
            sys_code = #{sysCode,jdbcType=VARCHAR}
            <if test="null !=dataState">
                AND data_state = ${dataState}
            </if>
            AND sys_role_id IN
            <foreach collection="roleIds" open="(" close=")" item="roleId" separator=",">
                #{roleId}
            </foreach>
        </where>

    </select>

</mapper>