
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<?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">
<!--
작성자 : 박정하
작성일 : 2024.05.07
내 용 : 메뉴 권한 관련
-->
<mapper namespace="com.takensoft.cms.menu.dao.MenuAuthorDAO">
<!-- 메뉴 권한 정보 resultMap -->
<resultMap id="menuAuthrtMap" type="HashMap">
<result property="name" column="name" />
<result property="menuId" column="menu_id" />
<result property="upMenuId" column="up_menu_id" />
<result property="menuNm" column="menu_nm" />
<result property="inqAuthrt" column="inq_authrt" />
<result property="regAuthrt" column="reg_authrt" />
<result property="mdfcnAuthrt" column="mdfcn_authrt" />
<result property="delAuthrt" column="del_authrt" />
<result property="fileDwnldAuthrt" column="file_dwnld_authrt" />
</resultMap>
<!--
작성자 : takensoft
작성일 : 2024.04.08
내 용 : 메뉴별 권한 등록
-->
<insert id="menuAuthrtSave" parameterType="MenuAuthorVO">
INSERT INTO menu_authrt_info (
authrt_cd
, menu_id
, inq_authrt
, reg_authrt
, mdfcn_authrt
, del_authrt
, file_dwnld_authrt
, reg_dt
) VALUES (
#{authrtCd}
, #{menuId}
<choose>
<when test="authrtCd == 'ROLE_ADMIN'">
, 'Y'
, 'Y'
, 'Y'
, 'Y'
, 'Y'
</when>
<otherwise>
, 'N'
, 'N'
, 'N'
, 'N'
, 'N'
</otherwise>
</choose>
, NOW()
)
</insert>
<!--
작성자 : 박정하
작성일 : 2024.05.02
내 용 : 메뉴 권한 수정
-->
<update id="updateMenuAuthrt" parameterType="HashMap">
UPDATE menu_authrt_info
SET inq_authrt = #{inqAuthrt}
, reg_authrt = #{regAuthrt}
, mdfcn_authrt = #{mdfcnAuthrt}
, del_authrt = #{delAuthrt}
, file_dwnld_authrt = #{fileDwnldAuthrt}
, mdfr = #{mdfr}
, mdfcn_dt = NOW()
WHERE authrt_cd = #{authrtCd}
AND menu_id = #{menuId}
</update>
<!--
작성자 : 박정하
작성일 : 2024.05.02
내 용 : 메뉴 권한 조회
-->
<select id="findAll" parameterType="String" resultMap="menuAuthrtMap">
WITH RECURSIVE menu_tree AS (
SELECT mi.*
, '' || mi.menu_nm AS name
FROM menu_info mi
WHERE up_menu_id IS NULL UNION ALL
SELECT mi.*
, mt.name || ' > ' || mi.menu_nm AS name
FROM menu_tree mt
INNER JOIN menu_info mi
ON mt.menu_id = mi.up_menu_id
)
SELECT mt.name
, mt.menu_id
, mt.up_menu_id
, mt.menu_nm
, mai.inq_authrt
, mai.reg_authrt
, mai.mdfcn_authrt
, mai.del_authrt
, mai.file_dwnld_authrt
FROM menu_tree mt
LEFT JOIN menu_authrt_info mai
ON mt.menu_id = mai.menu_id
AND mai.authrt_cd = #{authrtCd}
WHERE mt.use_yn = 'Y'
<if test="authrtCd != 'ROLE_ADMIN'">
AND mt.sys_pvsn_yn = '1'
</if>
ORDER BY mt.name
</select>
</mapper>