공지사항 신규 개발

This commit is contained in:
kimjhjjang
2022-11-01 13:23:58 +09:00
parent c916d16a46
commit d1d62c76c8
57 changed files with 3721 additions and 319 deletions

View File

@@ -51,6 +51,7 @@ msghubez:
applicationId: EZ_ADMIN
uri:
sendTemplateMail: /api/v1/fo/sendTemplateMail
notice: /api/v1/fo/notice
homepageLogin: /auth/bo
authKey: "bohubez!@#$%"
@@ -70,6 +71,8 @@ file-resource:
info:
sendNumber:
path: /efs/admin/sendNumber/
notice:
path: /efs/admin/notice/
sendMsg:
tableNm: EZ_MSG_REAL

View File

@@ -51,6 +51,7 @@ msghubez:
applicationId: EZ_ADMIN
uri:
sendTemplateMail: /api/v1/fo/sendTemplateMail
notice: /api/v1/fo/notice
homepageLogin: /auth/bo
authKey: "bohubez!@#$%"
@@ -70,6 +71,8 @@ file-resource:
info:
sendNumber:
path: /efs/admin/sendNumber/
notice:
path: /efs/admin/notice/
sendMsg:
tableNm: EZ_MSG_NORMAL

View File

@@ -51,6 +51,7 @@ msghubez:
applicationId: EZ_ADMIN
uri:
sendTemplateMail: /api/v1/fo/sendTemplateMail
notice: /api/v1/fo/notice
homepageLogin: /auth/bo
authKey: "bohubez!@#$%"
@@ -70,6 +71,8 @@ file-resource:
info:
sendNumber:
path: /efs/admin/sendNumber/
notice:
path: /efs/admin/notice/
sendMsg:
tableNm: EZ_MSG_REAL

View File

@@ -51,6 +51,7 @@ msghubez:
applicationId: EZ_ADMIN
uri:
sendTemplateMail: /api/v1/fo/sendTemplateMail
notice: /api/v1/fo/notice
homepageLogin: /auth/bo
authKey: "bohubez!@#$%"
@@ -70,6 +71,8 @@ file-resource:
info:
sendNumber:
path: /efs/admin/sendNumber/
notice:
path: /efs/admin/notice/
sendMsg:
tableNm: EZ_MSG_REAL

View File

@@ -0,0 +1,214 @@
<?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="kr.co.uplus.ez.api.homeMgt.HomeMgtMapper">
<!-- 공지사항 개수 조회 -->
<select id="selectNoticeTotalCnt"
parameterType="kr.co.uplus.ez.api.homeMgt.dto.NoticeListReqDto"
resultType="int">
/* homeMgt-mapper.xml(selectNoticeTotalCnt) */
SELECT
COUNT(*)
FROM
hubez_common.EZ_NTBBS N1
WHERE 1 = 1
<include refid="NoticeListCondition"></include>
</select>
<!-- 공지사항 조회 -->
<select id="selectNoticeList"
parameterType="kr.co.uplus.ez.api.homeMgt.dto.NoticeListReqDto"
resultType="kr.co.uplus.ez.api.homeMgt.dto.NoticeDto">
/* sysMgt-mapper.xml(selectNoticeList) */
SELECT
@ROWNUM := @ROWNUM + 1 AS NO,
NT_NO,
CTG_CD,
(
SELECT DTL_CD_NM
FROM hubez_common.EZ_CD_DTL
WHERE DTL_CD = N1.CTG_CD
AND GRP_CD = 'NTBBS_CTG_CD' AND USE_YN = 'Y'
) AS CTG_CD_NM,
TITLE,
EMG_YN,
NT_SBST,
REGR,
USE_YN,
RETV_CNT,
REG_ID,
DATE_FORMAT(REG_DT, '%Y-%m-%d') AS regDt,
CHG_ID,
CHG_DT,
(
SELECT
GROUP_CONCAT(FILE_NO SEPARATOR ',')
FROM hubez_common.EZ_BBS_FATC
WHERE BBS_NO = N1.NT_NO
AND BBS_DIV_CD = '02'
) AS FILE_NO,
(
SELECT
GROUP_CONCAT(FILE_PATH SEPARATOR ',')
FROM hubez_common.EZ_BBS_FATC
WHERE BBS_NO = N1.NT_NO
AND BBS_DIV_CD = '02'
) AS FILE_PATH,
(
SELECT
GROUP_CONCAT(FILE_NM SEPARATOR ',')
FROM hubez_common.EZ_BBS_FATC
WHERE BBS_NO = N1.NT_NO
AND BBS_DIV_CD = '02'
) AS FILE_NM,
(
SELECT
GROUP_CONCAT(FILE_TITLE SEPARATOR ',')
FROM hubez_common.EZ_BBS_FATC
WHERE BBS_NO = N1.NT_NO
AND BBS_DIV_CD = '02'
) AS FILE_TITLE,
(SELECT COUNT(*) FROM hubez_common.EZ_BBS_FATC WHERE BBS_NO = N1.NT_NO AND BBS_DIV_CD = '02') AS FILE_COUNT,
CASE
WHEN
(SELECT COUNT(*) FROM hubez_common.EZ_BBS_FATC WHERE BBS_NO = N1.NT_NO AND BBS_DIV_CD = '02') > 0 THEN "Y"
ELSE
"N"
END AS FILE_YN
FROM
hubez_common.EZ_NTBBS N1 , ( SELECT @ROWNUM := #{page} ) AS R
WHERE 1=1
<include refid="NoticeListCondition"></include>
ORDER BY N1.REG_DT DESC
LIMIT #{page}, #{pagePerRows}
</select>
<!-- 공지사항 채번 -->
<select id="selectNoticeNumber"
parameterType="kr.co.uplus.ez.api.homeMgt.dto.NoticeListReqDto"
resultType="int">
/* sysMgt-mapper.xml(selectNoticeList) */
SELECT
NT_NO,
FROM
hubez_common.EZ_NTBBS N1
WHERE 1=1
<include refid="NoticeListCondition"></include>
ORDER BY N1.REG_DT DESC
LIMIT #{page}, #{pagePerRows}
</select>
<!-- 공지사항 등록 -->
<insert id="insertNotice" parameterType="kr.co.uplus.ez.api.homeMgt.dto.InsertNoticeReqDto">
/* homeMgt-mapper.xml (insertNotice) */
INSERT INTO
hubez_common.EZ_NTBBS(
CTG_CD,
EMG_YN,
TITLE,
NT_SBST,
REGR,
USE_YN,
RETV_CNT,
REG_ID,
REG_DT,
CHG_ID,
CHG_DT
)VALUES(
#{ctgCd},
#{emgYn},
#{title},
#{ntSbst},
#{regr},
#{useYn},
0,
#{regId},
NOW(),
#{chgId},
NOW()
)
</insert>
<!-- 공지사항 채번 -->
<select id="insertNoticeNtNo" resultType="int">
SELECT LAST_INSERT_ID()
</select>
<!-- 공지사항 파일 등록 -->
<insert id="insertNoticeFile" parameterType="kr.co.uplus.ez.api.homeMgt.dto.InsertNoticeFileDto">
INSERT INTO
hubez_common.EZ_BBS_FATC (
BBS_DIV_CD,
BBS_NO,
FILE_NO,
FILE_TITLE,
FILE_NM,
FILE_SIZE,
FILE_PATH,
DOWNL_CNT,
REG_ID,
REG_DT,
CHG_ID,
CHG_DT
)
VALUES(
#{bbsDivCd},
#{bbsNo},
#{fileNo},
#{fileTitle},
#{fileNm},
#{fileSize},
#{filePath},
0,
#{regId},
NOW(),
#{chgId},
NOW()
)
</insert>
<!-- 공지사항 정보 변경 -->
<update id="updateNotice" parameterType="kr.co.uplus.ez.api.homeMgt.dto.UpdateNoticeReqDto">
/* homeMgt-mapper.xml (updateNotice) */
UPDATE hubez_common.EZ_NTBBS
SET
CHG_DT = now()
,CTG_CD = #{ctgCd}
,EMG_YN = #{emgYn}
,USE_YN = #{useYn}
,TITLE = #{title}
,NT_SBST = #{ntSbst}
,CHG_DT = NOW()
,CHG_ID = #{chgId}
WHERE
NT_NO = #{ntNo}
</update>
<!-- 첨부파일 번호 최근값 가져오기 -->
<select id="updateNoticeFileMaxNum" parameterType="kr.co.uplus.ez.api.homeMgt.dto.UpdateNoticeReqDto" resultType="int">
SELECT
IFNULL( MAX(FILE_NO), 0) + 1
FROM hubez_common.EZ_BBS_FATC
WHERE BBS_NO = #{ntNo}
</select>
<!-- 첨부파일 삭제 -->
<delete id="delNoticeFile" parameterType="kr.co.uplus.ez.api.homeMgt.dto.DelNoticeReqDto">
DELETE FROM hubez_common.EZ_BBS_FATC
WHERE BBS_NO = #{ntNo}
AND FILE_NO = #{fileNo}
</delete>
<sql id="NoticeListCondition">
<if test="searchType1 != null and searchType1 != ''">
AND N1.CTG_CD = #{searchType1}
</if>
<if test="searchText1 != null and searchText1 != ''">
AND N1.TITLE LIKE CONCAT('%', #{searchText1}, '%')
</if>
</sql>
</mapper>

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-626b9efc"],{bc8d:function(t,r,o){"use strict";o.r(r);var n=function(){var t=this,r=t._self._c;return r("div",{staticClass:"error-body"},[r("img",{attrs:{src:o("ce04")}}),r("p",{staticClass:"header"},[t._v("페이지를 찾을 수 없습니다.")]),t._m(0),r("p",{staticClass:"error-btns"},[r("a",{attrs:{href:"javascript:void(0);"},on:{click:function(r){return t.backGo()}}},[t._v("이전 페이지로")]),r("a",{attrs:{href:"javascript:void(0);"},on:{click:function(r){return t.goMain()}}},[t._v("메인으로")])])])},s=[function(){var t=this,r=t._self._c;return r("span",{staticClass:"message"},[t._v("웹 페이지의 주소가 잘못 입력되었거나,"),r("br"),t._v("\n 변경 또는 삭제되어 요청하신 페이지를 찾을 수 없습니다. "),r("br"),t._v("\n 입력하신 주소가 정확한지 다시 한번 확인해 주시기 바랍니다."),r("br"),t._v("\n 이용에 불편을 드려 죄송합니다.\n ")])}],e={name:"error404",data:function(){return{}},created:function(){this.$store.commit("login/isErrorPage",!0)},mounted:function(){},destroyed:function(){this.$store.commit("login/isErrorPage",!1)},methods:{backGo:function(){var t=this.$store.getters["login/getBeforeUrl"];this.$store.commit("login/isErrorPage",!1),this.$router.push({path:t}).catch((function(){}))},goMain:function(){var t=this.$store.getters["login/getRootUrl"];this.$store.commit("login/isErrorPage",!1),this.$router.push({path:t}).catch((function(){}))}}},i=e,c=o("2877"),a=Object(c["a"])(i,n,s,!1,null,null,null);r["default"]=a.exports},ce04:function(t,r,o){t.exports=o.p+"../static/img/error_message_page.f64f1c59.png"}}]);
//# sourceMappingURL=chunk-626b9efc.afde63a0.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-7fafe7e9"],{"123b":function(t,r,s){"use strict";s.r(r);var o=function(){var t=this,r=t._self._c;return r("div",{staticClass:"error-body"},[r("img",{attrs:{src:s("ffa1")}}),r("p",{staticClass:"header"},[t._v("시스템 오류")]),t._m(0),r("p",{staticClass:"error-btns"},[r("a",{attrs:{href:"javascript:void(0);"},on:{click:function(r){return t.backGo()}}},[t._v("이전 페이지로")]),r("a",{attrs:{href:"javascript:void(0);"},on:{click:function(r){return t.goMain()}}},[t._v("메인으로")])])])},n=[function(){var t=this,r=t._self._c;return r("span",{staticClass:"message"},[t._v("이용에 불편을 드려 죄송합니다."),r("br"),t._v("\n 일시적인 오류가 발생하였습니다. "),r("br"),t._v("\n 잠시 후 이용하여 주시기 바랍니다.\n ")])}],i={data:function(){return{}},created:function(){this.$store.commit("login/isErrorPage",!0)},mounted:function(){},destroyed:function(){this.$store.commit("login/isErrorPage",!1)},methods:{backGo:function(){var t=this.$store.getters["login/getBeforeUrl"];this.$store.commit("login/isErrorPage",!1),this.$router.push({path:t}).catch((function(){}))},goMain:function(){var t=this.$store.getters["login/getRootUrl"];this.$store.commit("login/isErrorPage",!1),this.$router.push({path:t}).catch((function(){}))}}},e=i,a=s("2877"),c=Object(a["a"])(e,o,n,!1,null,null,null);r["default"]=c.exports},ffa1:function(t,r,s){t.exports=s.p+"../static/img/error_message_system.7160e0d0.png"}}]);
//# sourceMappingURL=chunk-7fafe7e9.ea3075f8.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang=ko><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><link rel=icon href=/logo.png><title>hubez-admin-web</title><link href=/../static/js/chunk-626b9efc.afde63a0.js rel=prefetch><link href=/../static/js/chunk-7fafe7e9.ea3075f8.js rel=prefetch><link href=/../static/css/app.f9c9f764.css rel=preload as=style><link href=/../static/js/app.62224446.js rel=preload as=script><link href=/../static/js/chunk-vendors.9b80732e.js rel=preload as=script><link href=/../static/css/app.f9c9f764.css rel=stylesheet></head><body><noscript><strong>We're sorry but hubez-admin-web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/../static/js/chunk-vendors.9b80732e.js></script><script src=/../static/js/app.62224446.js></script></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -7,6 +7,8 @@ xssconfig :
- "/projectApi/manage/saveProject"
- "/api/v1/bo/sendNumMgt/insertNumber"
- "/api/v1/bo/sendNumMgt/filedownload"
# cross-site origin 이면서 application/x-www-form-urlencoded (post) 일때 변수 매핑이 안됨. 제외처리필요.
- "/api/v1/bo/homeMgt/preview"
#- "/uc/test/testUrl" #테스트 URL
#xss 제외 방식(allow, except)
#allow - escape-characters 를 모두 적용 후 allow-elements 만 <, > 치환