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.
 
 
 

68 lines
2.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.model2d3d.viewer.back.dao.ex.BasicRoleMapperExt">
<select id="checkExist" resultType="java.lang.Long">
SELECT
COUNT(1)
FROM
basic_role brole
WHERE
brole.flag != 1 AND brole.role_name = #{roleName} AND brole.company_id = #{companyId}
<if test="roleId != null">
AND brole.id != #{roleId}
</if>
</select>
<select id="getOwnMenuIds" resultType="com.model2d3d.viewer.back.vo.TreeMenusDTO">
SELECT
bmenu.id `key`,
bmenu.parent_menu_id parentKey,
<choose>
<when test="languageType == 0">
bmenu.menu_name label
</when>
<when test="languageType == 1">
bmenu.menu_name_en label
</when>
<otherwise>
bmenu.menu_name_jp label
</otherwise>
</choose>
FROM
<choose>
<when test="superRole != null and superRole == 1">
basic_menu bmenu WHERE bmenu.flag != 1
</when>
<otherwise>
basic_role_user_relation brur
INNER JOIN basic_role_menu_relation brmr ON brur.role_id = brmr.role_id
INNER JOIN basic_menu bmenu ON bmenu.id = brmr.menu_id
WHERE
bmenu.flag != 1 AND brur.user_id = #{userId}
</otherwise>
</choose>
</select>
<select id="getListPage" resultType="com.model2d3d.viewer.back.vo.role.RolePageDTO">
SELECT
brole.id roleId,
brole.role_name roleName,
brole.description,
brole.modify_time modifyTime
FROM
basic_role brole
WHERE
brole.flag != 1 AND brole.company_id IN <foreach collection="params.companyIdList" item="item" open="(" separator="," close=")">#{item}</foreach>
AND brole.id != IFNULL((SELECT role_id FROM basic_role_user_relation WHERE user_id = #{params.userId}), -9)
<if test="params.roleName != null and params.roleName != ''">
AND brole.role_name LIKE CONCAT('%',#{params.roleName},'%')
</if>
ORDER BY brole.create_time DESC, brole.id DESC
</select>
</mapper>