게시판별 문화원별 표출 조건 적용 (요청 : 2021.10.20 김진영차장)

This commit is contained in:
KNKIM 2021-10-22 10:13:12 +09:00
parent 498596c4e9
commit 2257db82b4
7 changed files with 25 additions and 35 deletions

View File

@ -85,6 +85,7 @@ public class FaqController extends NlibCommonController {
if(searchArticleVO.getPageIndex() < 1) searchArticleVO.setPageIndex(1);
if(searchArticleVO.getPageSize() < 1) searchArticleVO.setPageSize(DEFUALT_PAGE_SIZE);
searchArticleVO.setMngOrgCd(getCurCouncilCd(req));
List<ArticleVO> list = faqService.listArticles(searchArticleVO);

View File

@ -24,6 +24,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import nlib.cmm.exception.ErrorMessage;
import nlib.cmm.service.NlibProperty;
import nlib.restful.service.DataApiResVO;
import nlib.security.SecUserVO;
import nlib.user.service.LoginService;
@ -360,23 +361,7 @@ public class NlibCommonController {
private String getCurCouncilInfo(HttpServletRequest request, int which) {
HttpSession session = request.getSession();
String councilInfo = (String)session.getAttribute( (which == INFO_ID_COUNCIL_CD ? "curCouncilCd" : "curCouncilNm"));
if(StringUtil.isNotEmpty(councilInfo)) {
return councilInfo;
}
// 지방문화원 코드 확인
String curCouncilDnsHost = StringUtil.getHostName(request.getRequestURL().toString());
HashMap<String, String> councilInfoMap = _loginService.selectCouncilInfoByDnsHost(curCouncilDnsHost);
String curCouncilCd = councilInfoMap.get("councilCd");
String curCouncilNm = councilInfoMap.get("councilNm");
session.setAttribute("curCouncilNm", curCouncilNm);
session.setAttribute("curCouncilCd", curCouncilCd);
session.setAttribute("curCouncilDnsHost", curCouncilDnsHost);
return which == INFO_ID_COUNCIL_CD ? curCouncilCd : curCouncilNm;
return (String)session.getAttribute( (which == INFO_ID_COUNCIL_CD ? "councilCd" : "councilNm"));
}
public String getCurCouncilCd(HttpServletRequest request) {

View File

@ -53,18 +53,21 @@ public class NlibInterceptor extends HandlerInterceptorAdapter {
HttpSession session = request.getSession();
log.debug("preHandle > sessionid=" + session.getId());
String councilCd = (String)session.getAttribute("councilCd");
String councilNm = (String)session.getAttribute("councilNm");
if(StringUtil.isEmpty(councilCd)) {
// 지방문화원 코드 확인
String councilDnsHost = StringUtil.getHostName(request.getRequestURL().toString());
HashMap<String, String> councilInfoMap = loginService.selectCouncilInfoByDnsHost(councilDnsHost);
councilCd = councilInfoMap.get("councilCd");
if(!StringUtil.equalsIgnoreCase(NlibProperty.getString("nlib.council.cd"), councilCd)) {
if(StringUtil.isEmpty(councilCd)) councilCd = NlibProperty.getString("nlib.council.cd");
if(StringUtil.isEmpty(councilNm)) councilNm = NlibProperty.getString("nlib.council.nm");
session.setAttribute("councilCd" , councilCd);
session.setAttribute("councilNm" , councilInfoMap.get("councilNm"));
session.setAttribute("councilNm" , councilNm);
session.setAttribute("councilDnsHost", councilDnsHost);
}
}
return true;
}

View File

@ -3,10 +3,11 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="nlib.bbs.service.impl.AncmntDAO">
<sql id="search_condition">
<sql id="ancmnt_search_condition">
<![CDATA[
FROM BD_NLIB_ANCMNT S
WHERE S.OPEN_YN = 'Y'
AND (S.MNG_ORG_CD = #{mngOrgCd} OR (S.MNG_ORG_CD = 'KCCF' AND REG_ID = 'kadmin')) /* 공통공지사항 : 관리문화원이 KCCF이면서 등록자ID가 'kadmin'인 건으로 한정 : 2021.10.20 김진영차장님 요청 */
AND DATE_FORMAT(NOW(), '%Y%m%d') BETWEEN IFNULL(S.POST_START_DATE,'00010101') AND IFNULL(S.POST_END_DATE, '99991231')
]]>
@ -20,7 +21,6 @@
AND S.CONTENT LIKE CONCAT('%', #{escapeSearchKeyword}, '%')
</if>
</if>
AND S.MNG_ORG_CD IN (#{mngOrgCd}, 'KCCF')
AND IFNULL(S.DELETE_YN, 'N') = 'N'
</sql>
@ -46,7 +46,7 @@
SELECT S.ANCMNT_ID
, ROW_NUMBER() OVER(PARTITION BY 1 ORDER BY S.REG_DD, S.TITLE) AS RNO
, ROW_NUMBER() OVER(PARTITION BY 1 ORDER BY S.REG_DD DESC, S.TITLE DESC) AS ONO
<include refid="search_condition" />
<include refid="ancmnt_search_condition" />
) S2
WHERE ONO BETWEEN (#{pageStartRowNum} + 1) AND (#{pageStartRowNum} + #{pageSize})
) AS A2
@ -61,7 +61,7 @@
<select id="countArticles" parameterType="ArticleVO" resultType="Integer">
SELECT COUNT(1)
<include refid="search_condition" />
<include refid="ancmnt_search_condition" />
</select>
<select id="selectArticle" parameterType="ArticleVO" resultType="ArticleVO">

View File

@ -3,10 +3,11 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="nlib.bbs.service.impl.FaqDAO">
<sql id="search_condition">
<sql id="faq_search_condition">
<![CDATA[
FROM BD_NLIB_QNA S
WHERE IFNULL(S.USE_YN,'Y') = 'Y'
WHERE S.MNG_ORG_CD IN (#{mngOrgCd}, 'KCCF') /* 문화원별 표출 조건 : 해당 문화원이거나 KCCF인 것으로 한정 : 2021.10.20 김진영차장님 요청 */
AND IFNULL(S.USE_YN,'Y') = 'Y'
AND IFNULL(S.ANSWER_YN,'N') = 'Y'
AND S.BD_TYPE = 'FAQ'
]]>
@ -49,7 +50,7 @@
SELECT S.QNA_ID
, ROW_NUMBER() OVER(PARTITION BY 1 ORDER BY S.REG_DD, S.TITLE) AS RNO
, ROW_NUMBER() OVER(PARTITION BY 1 ORDER BY S.REG_DD DESC, S.TITLE DESC) AS ONO
<include refid="search_condition" />
<include refid="faq_search_condition" />
) S2
WHERE ONO BETWEEN (#{pageStartRowNum} + 1) AND (#{pageStartRowNum} + #{pageSize})
) AS A2
@ -67,7 +68,7 @@
<select id="countArticles" parameterType="ArticleVO" resultType="Integer">
SELECT COUNT(1)
<include refid="search_condition" />
<include refid="faq_search_condition" />
</select>
<select id="selectArticle" parameterType="ArticleVO" resultType="ArticleVO">

View File

@ -3,10 +3,11 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="nlib.bbs.service.impl.QnaDAO">
<sql id="search_condition">
<sql id="qna_search_condition">
<![CDATA[
FROM BD_NLIB_QNA S
WHERE IFNULL(S.USE_YN, 'Y') = 'Y'
AND S.MNG_ORG_CD = #{mngOrgCd} /* 문화원별 표출 조건 : 해당 문화원건만 표출 : 2021.10.20 김진영차장님 요청 */
AND S.BD_TYPE = 'QNA'
]]>
@ -23,7 +24,6 @@
<if test='searchMbInfoId != null and !searchMbInfoId.equals("")'>
AND S.REG_ID = #{searchMbInfoId}
</if>
AND S.MNG_ORG_CD IN (#{mngOrgCd}, 'KCCF')
</sql>
<select id="listArticles" parameterType="ArticleVO" resultType="ArticleVO">
@ -53,7 +53,7 @@
SELECT S.QNA_ID
, ROW_NUMBER() OVER(PARTITION BY 1 ORDER BY S.REG_DD, S.TITLE) AS RNO
, ROW_NUMBER() OVER(PARTITION BY 1 ORDER BY S.REG_DD DESC, S.TITLE DESC) AS ONO
<include refid="search_condition" />
<include refid="qna_search_condition" />
) S2
WHERE ONO BETWEEN (#{pageStartRowNum} + 1) AND (#{pageStartRowNum} + #{pageSize})
) AS A2
@ -74,7 +74,7 @@
<select id="countArticles" parameterType="ArticleVO" resultType="Integer">
SELECT COUNT(1)
<include refid="search_condition" />
<include refid="qna_search_condition" />
</select>
<select id="selectArticle" parameterType="ArticleVO" resultType="ArticleVO">

View File

@ -42,7 +42,7 @@ nculture.member.redirect.uri = /login/memberSnsForm.do
#----------------------------------------
# \uacf5\ud1b5 \uc9c0\ubc29\ubb38\ud654\uc6d0\uc815\ubcf4 \ucf54\ub4dc
nlib.council.cd = KCCF
nlib.council.nm = \uc18c\uc7a5\uc790\ub8cc\uad00
nlib.council.nm = \uc9c0\ubc29\ubb38\ud654\uc6d0
nlib.council.dns.host = nlib