日照智慧社区接口服务
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.
 
 
 
 
 

78 lines
3.6 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.epmet.dao.OperationScopeDao">
<resultMap type="com.epmet.entity.OperationScopeEntity" id="operationScopeMap">
<result property="id" column="ID"/>
<result property="scopeKey" column="SCOPE_KEY"/>
<result property="scopeName" column="SCOPE_NAME"/>
<result property="scopeIndex" column="SCOPE_INDEX"/>
<result property="series" column="SERIES"/>
<result property="sort" column="SORT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!--查询角色的操作key对应操作范围列表-->
<select id="listOperationScopesByRoleId" resultType="com.epmet.dto.result.RoleOpeScopeResultDTO">
select os.SCOPE_KEY, os.SCOPE_NAME, rs.ROLE_ID, os.SCOPE_INDEX
from role_scope rs
inner join operation_scope os
on (rs.SCOPE_KEY = os.SCOPE_KEY)
where rs.ROLE_ID = #{roleId}
and rs.OPERATION_KEY = #{operationKey}
and rs.DEL_FLAG = '0'
and os.DEL_FLAG = '0'
</select>
<!--查询角色所有operation及其范围-->
<select id="listAllRoleOperationScopesByRoleId" resultType="com.epmet.dto.result.RoleOpeScopeResultDTO">
SELECT rs.ROLE_ID, rs.OPERATION_KEY, rs.SCOPE_KEY, os.SCOPE_INDEX, os.SERIES, os.SORT
FROM role_scope rs
INNER JOIN role_operation ro
ON (rs.ROLE_ID = ro.ROLE_ID AND ro.OPERATION_KEY = rs.OPERATION_KEY AND ro.DEL_FLAG = 0)
INNER JOIN operation_scope os ON (rs.SCOPE_KEY = os.SCOPE_KEY AND os.DEL_FLAG = 0)
WHERE rs.DEL_FLAG = 0
AND rs.ROLE_ID = #{roleId}
ORDER BY rs.OPERATION_KEY ASC
</select>
<!--查询角色所有operation及其范围,old方式-->
<!--<select id="listAllRoleOperationScopesByRoleId" resultType="com.epmet.dto.result.RoleOpeScopeResultDTO">
SELECT t.*, os.SCOPE_INDEX, os.SERIES, os.SORT
FROM (
SELECT ope.ROLE_ID,
ope.OPERATION_KEY,
CASE
WHEN ro.SCOPE_KEY IS NULL THEN d.SCOPE_KEY
ELSE ro.SCOPE_KEY END AS SCOPE_KEY
FROM role_operation ope
LEFT JOIN role_scope ro
ON (ope.ROLE_ID = ro.ROLE_ID AND ope.OPERATION_KEY = ro.OPERATION_KEY AND ro.DEL_FLAG = 0)
LEFT JOIN operation_scope_default d ON (ope.OPERATION_KEY = d.OPERATION_KEY AND d.DEL_FLAG = 0)
WHERE ope.ROLE_ID = #{roleId}
AND ope.DEL_FLAG = 0
ORDER BY OPERATION_KEY ASC
) t
INNER JOIN operation_scope os ON (t.SCOPE_KEY = os.SCOPE_KEY)
</select>-->
<select id="getDefaultScopeKeyForOperation" resultType="java.lang.String">
SELECT def.SCOPE_KEY
FROM operation_scope_default def
WHERE def.OPERATION_KEY = #{operationKey}
</select>
<select id="getScopeIndexByScopeKey" resultType="java.lang.String">
SELECT SCOPE_INDEX
FROM operation_scope scope
WHERE scope.SCOPE_KEY = #{scopeKey}
</select>
</mapper>