From 11c4231f7f5a43afbc5692f59594b868dc9fa01f Mon Sep 17 00:00:00 2001 From: JSYOO Date: Wed, 15 Dec 2021 16:38:35 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A7=88=EC=9D=B4=ED=8E=98=EC=9D=B4=EC=A7=80?= =?UTF-8?q?=20=EB=8B=A4=EB=A5=B8=EB=AC=B8=ED=99=94=EC=9B=90=20=EC=9E=90?= =?UTF-8?q?=EB=A3=8C=20=EC=83=81=EC=84=B8=EC=A1=B0=ED=9A=8C=EC=8B=9C=20?= =?UTF-8?q?=ED=98=B8=EC=8A=A4=ED=8A=B8=EB=84=A4=EC=9E=84=EB=B0=94=EB=80=8C?= =?UTF-8?q?=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nlib/col/service/CollectionService.java | 7 +++ .../service/impl/CollectionServiceImpl.java | 10 ++++ .../nlib/sch/web/NlibSearchController.java | 53 ++++++++++++++++++- .../mapper/nlib/col/CollectionDAO_SQL.xml | 4 +- src/main/webapp/js/nlib.js | 44 ++++++++------- 5 files changed, 96 insertions(+), 22 deletions(-) diff --git a/src/main/java/nlib/col/service/CollectionService.java b/src/main/java/nlib/col/service/CollectionService.java index 345c5126..2541bcd9 100644 --- a/src/main/java/nlib/col/service/CollectionService.java +++ b/src/main/java/nlib/col/service/CollectionService.java @@ -106,4 +106,11 @@ public interface CollectionService { */ public List selectSimilarList(CollectionVO vo) throws Exception; + /** + * 문화원 코드 조회 + * + * @param vo + * @return + */ + public CollectionVO selectMngOrgInfo(String masterId) throws Exception; } diff --git a/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java b/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java index 36a8e9ec..78796ed1 100644 --- a/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java +++ b/src/main/java/nlib/col/service/impl/CollectionServiceImpl.java @@ -309,5 +309,15 @@ public class CollectionServiceImpl implements CollectionService { public List selectSimilarList(CollectionVO vo) throws Exception { return collectionDAO.selectSimilarList(vo); } + + /** + * 문화원 코드 조회 + * + * @param vo + * @return + */ + public CollectionVO selectMngOrgInfo(String masterId) throws Exception { + return collectionDAO.selectMngOrgInfo(masterId); + } } diff --git a/src/main/java/nlib/sch/web/NlibSearchController.java b/src/main/java/nlib/sch/web/NlibSearchController.java index 1c064d1e..ffb68173 100644 --- a/src/main/java/nlib/sch/web/NlibSearchController.java +++ b/src/main/java/nlib/sch/web/NlibSearchController.java @@ -102,6 +102,7 @@ public class NlibSearchController extends NlibCommonController { HttpSession session = request.getSession(); String councilCd = (String)session.getAttribute("councilCd"); + //검색엔진파라미터로 문화원코드 searchVO.setMngOrgCd(councilCd); @@ -275,8 +276,24 @@ public class NlibSearchController extends NlibCommonController { , HttpServletRequest request , HttpServletResponse res ) throws Exception { - HttpSession session = request.getSession(); + String new_addr = ""; + String m_url = request.getRequestURL().toString(); + String domainUrl = StringUtil.getHostName(m_url); + String masterId = request.getParameter("masterId"); + CollectionVO collectionVO = collectionService.selectMngOrgInfo(masterId); + + new_addr = "https://" + domainUrl + ".nculture.org/search/searchItemDetail.do?masterId=" + masterId; + + + if(collectionVO != null && StringUtil.isNotEmpty(collectionVO.getDomainHostNm()) && !collectionVO.getDomainHostNm().equals(domainUrl)) + { + new_addr = "https://" + collectionVO.getDomainHostNm() + ".nculture.org/search/searchItemDetail.do?masterId=" + masterId; + res.sendRedirect(new_addr); + return null; + } + + HttpSession session = request.getSession(); List mngOrgList = new ArrayList<>(); List keywordList = new ArrayList<>(); @@ -370,6 +387,40 @@ public class NlibSearchController extends NlibCommonController { } /** + * 소장자료 상세조회 + * + * @param req + * @return + */ + @RequestMapping(value = "/search/searchItemGate.do") + public void searchItemGate( + Authentication authentication + , @RequestParam Map paramMap + , ModelMap model + , @ModelAttribute("searchVO") NlibSearchVO searchVO + , HttpServletRequest request + , HttpServletResponse res + ) throws Exception { + String new_addr = ""; + String m_url = request.getRequestURL().toString(); + String domainUrl = m_url.substring(m_url.indexOf("//") + 2 , m_url.indexOf(".")); + + String masterId = request.getParameter("masterId"); + CollectionVO collectionVO = collectionService.selectMngOrgInfo(masterId); + + new_addr = "https://" + domainUrl + ".nculture.org/search/searchItemDetail.do?masterId=" + masterId; + if(collectionVO == null) + { + res.sendRedirect(new_addr); + }else { + if(StringUtil.isNotEmpty(collectionVO.getDomainHostNm()) && !collectionVO.getDomainHostNm().equals(domainUrl)) + { + new_addr = "https://" + collectionVO.getDomainHostNm() + ".nculture.org/search/searchItemDetail.do?masterId=" + masterId; + } + res.sendRedirect(new_addr); + } + } + /** * YOURLS의 API를 통해서 단축URL 가져오기 * @param cmmVO * @param model diff --git a/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml index 7eabe84a..db641e5c 100644 --- a/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml +++ b/src/main/resources/egovframework/mapper/nlib/col/CollectionDAO_SQL.xml @@ -6,10 +6,12 @@ diff --git a/src/main/webapp/js/nlib.js b/src/main/webapp/js/nlib.js index 3a9f8ee0..6968050a 100644 --- a/src/main/webapp/js/nlib.js +++ b/src/main/webapp/js/nlib.js @@ -263,6 +263,7 @@ function gfn_changeInterestBtn(masterId,onOff){ if(result != "notLogin") { $(".favorit").removeAttr("onclick"); + $(".favorit").addClass("on"); $(".favorit").attr("onclick","gfn_changeInterestBtn('" + masterId + "','off')"); } @@ -290,6 +291,7 @@ function gfn_changeInterestBtn(masterId,onOff){ if( result != "notLogin") { $(".favorit").removeAttr("onclick"); + $(".favorit").removeClass("on"); $(".favorit").attr("onclick","gfn_changeInterestBtn('" + masterId + "','on')"); } @@ -310,20 +312,22 @@ function gfn_changeInterest(masterId,onOff){ async: false, data: {"masterId" : masterId} }).done(function(result){ - alert(result); - if(result == "로그인 후 이용하실 수 있습니다.") + if(result == "notLogin") { + alert("로그인 후, 이용하실 수 있습니다."); return false; } - if(result == "관심자료에 추가되었습니다.") - { + if(result == "success") + { $("#favorites_"+masterId).removeAttr("onclick"); $("#favorites_"+masterId).attr("onclick","gfn_changeInterest('" + masterId + "','off')"); $("#favorites_"+masterId).attr("title","관심자료에서 삭제합니다."); html += "\"즐겨찾기" html += "\"즐겨찾기"; $("#favorites_"+masterId).html(html); - } + alert("관심자료에 추가되었습니다."); + } + }); } if(onOff == "off") @@ -335,14 +339,19 @@ function gfn_changeInterest(masterId,onOff){ type : "POST", async: false, data : {"masterIdList" : masterIdArray}, - success : function(){ - alert("선택하신 관심자료가 삭제되었습니다."); - $("#favorites_"+masterId).removeAttr("onclick"); - $("#favorites_"+masterId).attr("onclick","gfn_changeInterest('" + masterId + "','on')"); - $("#favorites_"+masterId).attr("title","관심자료로 등록합니다."); - html += "\"즐겨찾기" - html += "\"즐겨찾기"; - $("#favorites_"+masterId).html(html); + success : function(result){ + if(result == "success") + { + alert("관심자료가 삭제되었습니다."); + $("#favorites_"+masterId).removeAttr("onclick"); + $("#favorites_"+masterId).attr("onclick","gfn_changeInterest('" + masterId + "','on')"); + $("#favorites_"+masterId).attr("title","관심자료로 등록합니다."); + html += "\"즐겨찾기" + html += "\"즐겨찾기"; + $("#favorites_"+masterId).html(html); + }else{ + alert("관심자료 삭제에 실패하였습니다."); + } },error : function(){ } }); @@ -532,15 +541,10 @@ function gfn_gotoUrl(url) { location.href = url; } -function gfn_getDetail(masterId, host) { - - if(gfn_isEmpty(host)) host = ""; - else host = "https://" + host + ".nculture.org"; - - var url = host + "/search/searchItemDetail.do?masterId=" + masterId; +function gfn_getDetail(masterId) { + var url = "/search/searchItemDetail.do?masterId=" + masterId; gfn_openNewWindow(url); - return; }