PERMISSIONMapper.xml 8.3 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.tianbo.warehouse.dao.PERMISSIONMapper" >
  <resultMap id="BaseResultMap" type="com.tianbo.warehouse.model.PERMISSION" >
    <id column="permission_id" property="permissionId" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="permission_order" property="permissionOrder" jdbcType="VARCHAR" />
    <result column="description" property="description" jdbcType="VARCHAR" />
    <result column="ismenu" property="ismenu" jdbcType="BOOLEAN" />
    <result column="hidden" property="hidden" jdbcType="BOOLEAN" />
    <result column="parent_id" property="parentId" jdbcType="INTEGER" />
    <result column="path" property="path" jdbcType="VARCHAR" />
    <result column="url" property="url" jdbcType="VARCHAR" />
    <result column="method" property="method" jdbcType="VARCHAR" />
    <result column="iconCls" property="iconCls" jdbcType="VARCHAR" />
    <result column="component" property="component" jdbcType="VARCHAR" />
  </resultMap>
  <sql id="Base_Column_List" >
    permission_id, name, permission_order, description, ismenu,hidden,parent_id,
    path, url, method, iconCls, component
  </sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    from permission
    where permission_id = #{permissionId,jdbcType=INTEGER} ORDER BY permission_order
  </select>
  <select id="findAll" resultMap="BaseResultMap" >
    select
    <include refid="Base_Column_List" />
    from permission
    <if test="name != '' and name !=null" >
      where name = #{name, jdbcType=VARCHAR}
    </if>
    ORDER BY permission_order
  </select>
  <select id="getRolePermisson" resultMap="BaseResultMap" parameterType="java.lang.Integer">
    SELECT P.*
    FROM role R
    LEFT JOIN role_permission RP ON R.role_id = RP.role_id
    LEFT JOIN permission P ON RP.permission_id = P.permission_id
    WHERE R.role_id=#{roleId,jdbcType=INTEGER}
    ORDER BY P.ismenu,P.name,P.permission_order DESC
  </select>
  <select id="getAllMenus" resultMap="BaseResultMap" >
    SELECT
    P.*
    FROM
    permission P
    WHERE
    P.permission_id IN (
    SELECT
    RP.permission_id
    FROM
    role_permission RP
    WHERE
    RP.role_id IN (
    SELECT
    R.role_id
    FROM
    role R
    WHERE
    R.role_id IN (
    SELECT
    UR.role_id
    FROM
    user_role UR
    WHERE
    UR.user_id = #{userId,jdbcType=INTEGER} AND P.ismenu is TRUE
    )
    )
    ) ORDER BY P.permission_order
    <!--select-->
    <!--<include refid="Base_Column_List" />-->
    <!--from permission where ismenu is TRUE ORDER BY permission_order-->
  </select>
  <select id="findRoleListByUrl" resultType="java.lang.String" parameterType="java.lang.String">
    SELECT
  R.role_name
FROM
  permission P
  LEFT JOIN role_permission RP ON P.permission_id = RP.permission_id
  LEFT JOIN role R ON  R.role_id= RP.role_id
where P.url = #{permissionUrl,jdbcType=VARCHAR} ORDER BY permission_order
  </select>
  <select id="findByUserId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
    SELECT
    P.*
    FROM
    permission P
    WHERE
    P.permission_id IN (
    SELECT
    RP.permission_id
    FROM
    role_permission RP
    WHERE
    RP.role_id IN (
    SELECT
    R.role_id
    FROM
    role R
    WHERE
    R.role_id IN (
    SELECT
    UR.role_id
    FROM
    user_role UR
    WHERE
    UR.user_id = #{userId,jdbcType=INTEGER}
    )
    )
    ) ORDER BY permission_order
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from permission
    where permission_id = #{permissionId,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.tianbo.warehouse.model.PERMISSION" >
    insert into permission (permission_id, name, permission_order,
      description, ismenu,hidden, parent_id,
      path, url, method, iconCls,
      component)
    values (#{permissionId,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{permissionOrder,jdbcType=VARCHAR}, 
      #{description,jdbcType=VARCHAR}, #{ismenu,jdbcType=BOOLEAN},#{hidden,jdbcType=BOOLEAN},#{parentId,jdbcType=INTEGER},
      #{path,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, #{method,jdbcType=VARCHAR}, #{iconCls,jdbcType=VARCHAR},
      #{component,jdbcType=VARCHAR})
  </insert>
  <insert id="insertSelective" parameterType="com.tianbo.warehouse.model.PERMISSION" >
    insert into permission
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="permissionId != null" >
        permission_id,
      </if>
      <if test="name != null" >
        name,
      </if>
      <if test="permissionOrder != null" >
        permission_order,
      </if>
      <if test="description != null" >
        description,
      </if>
      <if test="ismenu != null" >
        ismenu,
      </if>
      <if test="hidden != null" >
        hidden,
      </if>
      <if test="parentId != null" >
        parent_id,
      </if>
      <if test="path != null" >
        path,
      </if>
      <if test="url != null" >
        url,
      </if>
      <if test="method != null" >
        method,
      </if>
      <if test="iconCls != null" >
        iconCls,
      </if>
      <if test="component != null" >
        component,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="permissionId != null" >
        #{permissionId,jdbcType=INTEGER},
      </if>
      <if test="name != null" >
        #{name,jdbcType=VARCHAR},
      </if>
      <if test="permissionOrder != null" >
        #{permissionOrder,jdbcType=VARCHAR},
      </if>
      <if test="description != null" >
        #{description,jdbcType=VARCHAR},
      </if>
      <if test="ismenu != null" >
        #{ismenu,jdbcType=BOOLEAN},
      </if>
      <if test="hidden != null" >
        #{hidden,jdbcType=BOOLEAN},
      </if>
      <if test="parentId != null" >
        #{parentId,jdbcType=INTEGER},
      </if>
      <if test="path != null" >
        #{path,jdbcType=VARCHAR},
      </if>
      <if test="url != null" >
        #{url,jdbcType=VARCHAR},
      </if>
      <if test="method != null" >
        #{method,jdbcType=VARCHAR},
      </if>
      <if test="iconCls != null" >
        #{iconCls,jdbcType=VARCHAR},
      </if>
      <if test="component != null" >
        #{component,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.tianbo.warehouse.model.PERMISSION" >
    update permission
    <set >
      <if test="name != null" >
        name = #{name,jdbcType=VARCHAR},
      </if>
      <if test="permissionOrder != null" >
        permission_order = #{permissionOrder,jdbcType=VARCHAR},
      </if>
      <if test="description != null" >
        description = #{description,jdbcType=VARCHAR},
      </if>
      <if test="ismenu != null" >
        ismenu = #{ismenu,jdbcType=BOOLEAN},
      </if>
      <if test="hidden != null" >
        hidden = #{hidden,jdbcType=BOOLEAN},
      </if>
      <if test="parentId != null" >
        parent_id = #{parentId,jdbcType=INTEGER},
      </if>
      <if test="path != null" >
        path = #{path,jdbcType=VARCHAR},
      </if>
      <if test="url != null" >
        url = #{url,jdbcType=VARCHAR},
      </if>
      <if test="method != null" >
        method = #{method,jdbcType=VARCHAR},
      </if>
      <if test="iconCls != null" >
        iconCls = #{iconCls,jdbcType=VARCHAR},
      </if>
      <if test="component != null" >
        component = #{component,jdbcType=VARCHAR},
      </if>
    </set>
    where permission_id = #{permissionId,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.tianbo.warehouse.model.PERMISSION" >
    update permission
    set name = #{name,jdbcType=VARCHAR},
      permission_order = #{permissionOrder,jdbcType=VARCHAR},
      description = #{description,jdbcType=VARCHAR},
      ismenu = #{ismenu,jdbcType=BOOLEAN},
      hidden = #{hidden,jdbcType=BOOLEAN},
      parent_id = #{parentId,jdbcType=INTEGER},
      path = #{path,jdbcType=VARCHAR},
      url = #{url,jdbcType=VARCHAR},
      method = #{method,jdbcType=VARCHAR},
      iconCls = #{iconCls,jdbcType=VARCHAR},
      component = #{component,jdbcType=VARCHAR}
    where permission_id = #{permissionId,jdbcType=INTEGER}
  </update>
</mapper>