
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
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>