This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/dao/SysMenuDao.xml
2018-02-02 17:58:32 +08:00

163 lines
3.6 KiB
XML

<?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.nis.web.dao.SysMenuDao" >
<sql id="menuColumns">
a.id,
a.parent_id AS "parent.id",
a.parent_ids,
a.code,
a.name,
a.href,
a.target,
a.icon,
a.sort,
a.is_show,
a.permission,
a.remarks,
a.create_by AS "createBy.id",
a.create_date,
a.update_by AS "updateBy.id",
a.update_date,
a.del_flag,
a.quick_action,
a.menu_bg,
p.name AS "parent.name",
a.is_top
</sql>
<sql id="menuJoins">
LEFT JOIN sys_menu p ON p.id = a.parent_id
</sql>
<select id="get" resultType="sysMenu">
SELECT
<include refid="menuColumns"/>
FROM sys_menu a
<include refid="menuJoins"/>
WHERE a.id = #{id}
</select>
<select id="findAllList" resultType="sysMenu">
SELECT
<include refid="menuColumns"/>
FROM sys_menu a
<include refid="menuJoins"/>
WHERE a.del_flag = #{DEL_FLAG_NORMAL}
ORDER BY a.sort
</select>
<select id="findSysMenuByUserId" resultType="sysMenu">
SELECT
<include refid="menuColumns"/>
FROM sys_menu a
LEFT JOIN sys_menu p ON p.id = a.parent_id
WHERE a.del_flag = 1 AND a.id IN (
SELECT l.privilege_access_value
FROM sys_privilege l WHERE l.privilege_master='ROLE' AND l.privilege_access='1000' AND l.privilege_operation=1
AND l.privilege_master_value IN
( SELECT distinct(r.id) FROM sys_role r,sys_inter_user_role ur WHERE r.id = ur.role_id AND r.status=1 AND ur.user_id=#{userId} )
)
ORDER BY a.sort
</select>
<insert id="insert" parameterType="sysMenu" useGeneratedKeys="true" keyProperty="id">
INSERT INTO sys_menu(
parent_id,
parent_ids,
code,
name,
href,
target,
icon,
sort,
is_show,
permission,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag,
is_top
) VALUES (
#{parent.id},
#{parentIds},
#{code},
#{name},
#{href},
#{target},
#{icon},
#{sort},
#{isShow},
#{permission},
#{createBy.id},
#{createDate},
#{updateBy.id},
#{updateDate},
#{remarks},
#{delFlag},
#{isTop}
)
</insert>
<update id="update">
UPDATE sys_menu SET
parent_id = #{parent.id},
parent_ids = #{parentIds},
code=#{code},
name = #{name},
href = #{href},
target = #{target},
icon = #{icon},
sort = #{sort},
is_show = #{isShow},
permission = #{permission},
update_by = #{updateBy.id},
update_date = #{updateDate},
remarks = #{remarks},
is_top = #{isTop}
WHERE id = #{id}
</update>
<select id="findByParentIdsLike" resultType="sysMenu">
SELECT
a.id,
a.parent_id AS "parent.id",
a.parent_ids
FROM sys_menu a
WHERE a.del_flag = #{DEL_FLAG_NORMAL} AND a.parent_ids LIKE #{parentIds}
ORDER BY a.sort
</select>
<update id="updateParentIds">
UPDATE sys_menu SET
parent_id = #{parent.id},
parent_ids = #{parentIds}
WHERE id = #{id}
</update>
<update id="updateSort">
UPDATE sys_menu SET
sort = #{sort}
WHERE id = #{id}
</update>
<update id="delete">
UPDATE sys_menu SET
del_flag = #{DEL_FLAG_DELETE}
WHERE id = #{id} OR parent_ids LIKE
<if test="dbName == 'oracle'">'%,'||#{id}||',%'</if>
<if test="dbName == 'mssql'">'%,'+#{id}+',%'</if>
<if test="dbName == 'mysql'">CONCAT('%,', #{id}, ',%')</if>
</update>
</mapper>