From ccb250b5d983fb91305510afef05c5c880cc07e4 Mon Sep 17 00:00:00 2001 From: tolag3 Date: Wed, 16 Oct 2024 09:40:57 +0900 Subject: [PATCH] Merge branch 'tolag3' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 조정신청 개발중 본인인증 개발중 --- src/main/java/kcc/web/MainController.java | 189 +++--- .../mediation/WebMediationController.java | 635 +++++++++++++++++- .../com/user/mypage/WebMyPageController.java | 367 ++-------- src/main/java/seed/home/HomeController.java | 55 +- src/main/java/seed/utils/CertGlobalSet.java | 30 + src/main/java/seed/utils/FairnetUtils.java | 288 +++++++- .../egovProps/globals_local.properties | 3 +- src/main/webapp/WEB-INF/decorators.xml | 1 + .../_extra/user/mediation/mediationApp.jsp | 60 +- .../_extra/user/mediation/mediationStep01.jsp | 546 ++++++++++++++- .../jsp/_extra/web/user/myPage/myCheck.jsp | 19 +- .../WEB-INF/jsp/web/com/webCommonHeader.jsp | 1 + .../webapp/WEB-INF/jsp/web/com/webLayout.jsp | 14 + .../WEB-INF/jsp/web/xxx/devCiMakePop.jsp | 40 ++ .../webapp/WEB-INF/jsp/web/xxx/xxxCert.jsp | 97 --- src/main/webapp/WEB-INF/web.xml | 16 +- 16 files changed, 1831 insertions(+), 530 deletions(-) create mode 100644 src/main/java/seed/utils/CertGlobalSet.java create mode 100644 src/main/webapp/WEB-INF/jsp/web/xxx/devCiMakePop.jsp delete mode 100644 src/main/webapp/WEB-INF/jsp/web/xxx/xxxCert.jsp diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index 732d17bb..4b17f6b5 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -602,97 +602,6 @@ public class MainController { // return "web/main/mainPage"; } - private void setViewMenu(HttpServletRequest request, Map commandMap, MenuManageVO tempMenuManageVO, - MenuManageVO resultVO, MenuManageJTreeVO menuManageVO) throws Exception { - if (request.getRequestURI().contains("/web/survey_back")) {// 설문조사(각 사이트 마다 이름이 달라) survey > survey_back 으로 사용한 - tempMenuManageVO.setSearchKeyword("surveyList"); - } else if (request.getRequestURI().contains("schdlr")) { // 스케줄러 경우(일,월,년 url이 달라 - tempMenuManageVO.setSearchKeyword("schdlrManage"); - } else if (null != (String) commandMap.get("proFn") || null != (String) commandMap.get("bbsId") - || null != (String) commandMap.get("nttId")) { // 컨텐츠 타입, 게시판 타입의 경우 - if (null != (String) commandMap.get("proFn")) { // 컨텐츠 - tempMenuManageVO.setSearchKeyword((String) commandMap.get("proFn")); - } else if (null != (String) commandMap.get("bbsId")) { // 게시판 - ComDefaultVO searchVO = new ComDefaultVO(); - String url = progrmManageService.getBbsUrlByNttId((String) commandMap.get("bbsId")); - - searchVO.setSearchKeyword(url); - ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if (null != progrmManageVO) { - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); - } - } else { // nttId 통합검색시 - - BoardVO tempBoardVO = new BoardVO(); - tempBoardVO.setNttId(Integer.parseInt((String) commandMap.get("nttId"))); - BoardMasterVO bmVO = bbsAttrbService.selectBbsIdByNttId(tempBoardVO); - ComDefaultVO searchVO = new ComDefaultVO(); - String url = progrmManageService.getBbsUrlByNttId(bmVO == null ? "" : bmVO.getBbsId()); - - searchVO.setSearchKeyword(url); - ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if (null != progrmManageVO) { - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); - } - - } - } else { // ajax 로 검색시 - // 일반 프로그램시 - if (commandMap.get("url") != null) { - String menuUrl = request.getRequestURI(); - if (menuUrl.equals("/web/cop/org/selectOrgDetail.do")) { - menuUrl = "/web/cop/org/selectOrgList.do"; - } - /* 메뉴에 표시되는 방법 */ - else if (menuUrl.equals("/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do") // 체험하기 - || menuUrl.equals("/web/kccadr/adjstExp/adjstIncidentList.do") - || menuUrl.equals("/web/kccadr/adjstExpDetail/adjstIncidentEndDetail.do")) { // 체험하기 - menuUrl = "/web/kccadr/adjstExp/adjstExpMainPage.do"; - } - /* 분쟁조정 상담 > 무료법률 상담 */ - else if(menuUrl.contains("/web/user/lawCounsel/case/02/159/step")) { - menuUrl = "/web/user/lawCounsel/case/02/159/step01.do"; - } - - - // 상세화면 URL로 메뉴화면 매핑이 안되어, 문자열 치환으로 매핑... - String strUrl = menuUrl/* .replace("Info", "List") */ - .replace("Detail", "List") - /* .replace("Regist", "List") */ - .replace("Article", "List").replace("Inqire", "List").replace("addFcltMgr", "fcltMgrList") - .replace("mainzoneModify", "mainzoneList"); - menuUrl = strUrl; - - ComDefaultVO searchVO = new ComDefaultVO(); - searchVO.setSearchKeyword(menuUrl); - ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if (null != progrmManageVO) { - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); - } - } else { // 조직도 상세 - String menuUrl = request.getRequestURI(); - if (menuUrl.equals("/web/cop/org/selectOrgDetail.do")) { - menuUrl = "/web/cop/org/selectOrgList.do"; - ComDefaultVO searchVO = new ComDefaultVO(); - searchVO.setSearchKeyword(menuUrl); - ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if (null != progrmManageVO) { - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); - } - } - } - } - - if (!"dir".equals(tempMenuManageVO.getSearchKeyword())) { - resultVO = menuManageService.selectMenuManage(tempMenuManageVO); - } - - // menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - if (resultVO != null) { - menuManageVO.setMenuNo(resultVO.getMenuNo() + ""); - } - } - /** * 사용자 페이지의 네비 상단 매뉴 */ @@ -1439,5 +1348,103 @@ public class MainController { }); return bbsList; } + + private void setViewMenu(HttpServletRequest request, Map commandMap, MenuManageVO tempMenuManageVO, + MenuManageVO resultVO, MenuManageJTreeVO menuManageVO) throws Exception { + if (request.getRequestURI().contains("/web/survey_back")) {// 설문조사(각 사이트 마다 이름이 달라) survey > survey_back 으로 사용한 + tempMenuManageVO.setSearchKeyword("surveyList"); + } else if (request.getRequestURI().contains("schdlr")) { // 스케줄러 경우(일,월,년 url이 달라 + tempMenuManageVO.setSearchKeyword("schdlrManage"); + } else if (null != (String) commandMap.get("proFn") || null != (String) commandMap.get("bbsId") + || null != (String) commandMap.get("nttId")) { // 컨텐츠 타입, 게시판 타입의 경우 + if (null != (String) commandMap.get("proFn")) { // 컨텐츠 + tempMenuManageVO.setSearchKeyword((String) commandMap.get("proFn")); + } else if (null != (String) commandMap.get("bbsId")) { // 게시판 + ComDefaultVO searchVO = new ComDefaultVO(); + String url = progrmManageService.getBbsUrlByNttId((String) commandMap.get("bbsId")); + searchVO.setSearchKeyword(url); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); + } + } else { // nttId 통합검색시 + + BoardVO tempBoardVO = new BoardVO(); + tempBoardVO.setNttId(Integer.parseInt((String) commandMap.get("nttId"))); + BoardMasterVO bmVO = bbsAttrbService.selectBbsIdByNttId(tempBoardVO); + ComDefaultVO searchVO = new ComDefaultVO(); + String url = progrmManageService.getBbsUrlByNttId(bmVO == null ? "" : bmVO.getBbsId()); + + searchVO.setSearchKeyword(url); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); + } + + } + } else { // ajax 로 검색시 + // 일반 프로그램시 + if (commandMap.get("url") != null) { + String menuUrl = request.getRequestURI(); + if (menuUrl.equals("/web/cop/org/selectOrgDetail.do")) { + menuUrl = "/web/cop/org/selectOrgList.do"; + } + /* 메뉴에 표시되는 방법 */ + else if (menuUrl.equals("/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do") // 체험하기 + || menuUrl.equals("/web/kccadr/adjstExp/adjstIncidentList.do") + || menuUrl.equals("/web/kccadr/adjstExpDetail/adjstIncidentEndDetail.do")) { // 체험하기 + menuUrl = "/web/kccadr/adjstExp/adjstExpMainPage.do"; + } + /* 분쟁조정 상담 > 무료법률 상담 */ + else if(menuUrl.contains("/web/user/lawCounsel/case/02/159/step")) { + menuUrl = "/web/user/lawCounsel/case/02/159/step01.do"; + } + /* 분쟁조정 신청 > 분쟁조정 신청하기 */ + else if( + menuUrl.contains("/web/user/mediation/case/") + && menuUrl.contains("mediationStep") + && menuUrl.contains(".do") + ) { + menuUrl = "/web/user/mediation/case/01/154/mediationApp.do"; + } + + + // 상세화면 URL로 메뉴화면 매핑이 안되어, 문자열 치환으로 매핑... + String strUrl = menuUrl/* .replace("Info", "List") */ + .replace("Detail", "List") + /* .replace("Regist", "List") */ + .replace("Article", "List").replace("Inqire", "List").replace("addFcltMgr", "fcltMgrList") + .replace("mainzoneModify", "mainzoneList"); + menuUrl = strUrl; + + ComDefaultVO searchVO = new ComDefaultVO(); + searchVO.setSearchKeyword(menuUrl); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); + } + } else { // 조직도 상세 + String menuUrl = request.getRequestURI(); + if (menuUrl.equals("/web/cop/org/selectOrgDetail.do")) { + menuUrl = "/web/cop/org/selectOrgList.do"; + ComDefaultVO searchVO = new ComDefaultVO(); + searchVO.setSearchKeyword(menuUrl); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); + } + } + } + } + + if (!"dir".equals(tempMenuManageVO.getSearchKeyword())) { + resultVO = menuManageService.selectMenuManage(tempMenuManageVO); + } + + // menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + if (resultVO != null) { + menuManageVO.setMenuNo(resultVO.getMenuNo() + ""); + } + } } diff --git a/src/main/java/seed/com/user/mediation/WebMediationController.java b/src/main/java/seed/com/user/mediation/WebMediationController.java index ad08110c..02ce9b07 100644 --- a/src/main/java/seed/com/user/mediation/WebMediationController.java +++ b/src/main/java/seed/com/user/mediation/WebMediationController.java @@ -27,6 +27,7 @@ import seed.manager.site.service.ManagerSiteManagerService; import seed.manager.site.service.ManagerSiteMenuAuthService; import seed.manager.site.service.ManagerSiteMenuManagerService; import seed.manager.site.service.ManagerSiteMenuService; +import seed.utils.FairnetUtils; import seed.utils.SeedUtils; @@ -98,7 +99,7 @@ public class WebMediationController { session.removeAttribute("self"); } - // /user/mediation/case/05/154/mediationStep04.do + // /web/user/mediation/case/05/154/mediationStep04.do @RequestMapping("/web/user/mediation/{siteIdx}/05/{siteMenuIdx}/mediationStep04.do") public ModelAndView mediationForm(ModelMap map, HttpSession session, @RequestParam Map paramMap, @PathVariable(value="siteIdx") String siteIdx, @@ -126,18 +127,24 @@ public class WebMediationController { boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); //메뉴 권한설정 - if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && - !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ - - map.put("message", "common.message.no.grant"); - - if(memberIdx.equals(0)){ - map.put("url", "/"+siteIdx+"/index.do"); - }else{ - map.put("self", "history"); - } - - return new ModelAndView("/_common/jsp/umessage"); +// if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && +// !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ +// +// map.put("message", "common.message.no.grant"); +// +// if(memberIdx.equals(0)){ +// map.put("url", "/"+siteIdx+"/index.do"); +// }else{ +// map.put("self", "history"); +// } +// +// return new ModelAndView("/_common/jsp/umessage"); +// } + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); } Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, @@ -261,5 +268,607 @@ public class WebMediationController { return new ModelAndView("/_extra/web/user/mediation/mediationStep04"); } + + // /web/user/mediation/case/01/154/mediationApp.do + @RequestMapping("/web/user/mediation/{siteIdx}/01/{siteMenuIdx}/mediationApp.do") + public ModelAndView mediationApply(ModelMap map, HttpSession session, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx + ){ + + setSessionMessageRemove(session); + + /*----권한체크----*/ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 +// if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && +// !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ +// +// map.put("message", "common.message.no.grant"); +// +// if(memberIdx.equals(0)){ +// map.put("url", "/"+siteIdx+"/index.do"); +// }else{ +// map.put("self", "history"); +// } +// +// return new ModelAndView("/_common/jsp/umessage"); +// } + + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + //여기서부터 작업할거 + + return new ModelAndView("/_extra/user/mediation/mediationApp"); + } + + + + // /web/user/mediation/case/01/154/mediationStep01.do + @RequestMapping("/web/user/mediation/{siteIdx}/02/{siteMenuIdx}/mediationStep01.do") + public ModelAndView mediationType(ModelMap map, HttpSession session, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + /*----권한체크----*/ + setSessionMessageRemove(session); + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 +// if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && +// !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ +// +// map.put("message", "common.message.no.grant"); +// +// if(memberIdx.equals(0)){ +// map.put("url", "/"+siteIdx+"/index.do"); +// }else{ +// map.put("self", "history"); +// } +// +// return new ModelAndView("/_common/jsp/umessage"); +// } + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + /*여기서부터 추가 작업*/ + + return new ModelAndView("/_extra/user/mediation/mediationStep01"); + } + + // /web/user/mediation/case/03/154/mediationStep02.do + @RequestMapping("/web/user/mediation/{siteIdx}/03/{siteMenuIdx}/mediationStep02.do") + public ModelAndView mediationInfoAgree(ModelMap map, HttpSession session, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @RequestParam(value="agreeCheck", defaultValue="") String agreeCheck, + @RequestParam(value="mediType", defaultValue="") String mediType + ){ + + if(agreeCheck.equals("") || agreeCheck == null || mediType.equals("") || mediType == null){ + + map.put("siteIdx", "case"); + map.put("url", "/case/index.do"); + map.put("message", "user.message.medi.alert"); + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + + return new ModelAndView("/_common/jsp/umessage"); + } + + /*----권한체크----*/ + setSessionMessageRemove(session); + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 +// if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && +// !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ +// +// map.put("message", "user.message.medi.alert"); +// +// if(memberIdx.equals(0)){ +// map.put("url", "/"+siteIdx+"/index.do"); +// }else{ +// map.put("self", "history"); +// } +// +// return new ModelAndView("/_common/jsp/umessage"); +// } + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + session.removeAttribute("mediType"); + session.removeAttribute("rceptNo"); + session.removeAttribute("fileGubun"); + + map.put("agreeCheck", agreeCheck); + map.put("mediType", mediType); + + //개발테스트 인증 +// session.setAttribute("hpName", "김기복"); +// session.setAttribute("hpBirYMD", "19871230"); +// session.setAttribute("hpDi", "test2017"); +// session.setAttribute("hpCi1", ""); + + return new ModelAndView("/_extra/user/mediation/mediationStep02"); + } + + // /web/user/mediation/case/04/154/mediationStep03.do + @RequestMapping("/web/user/mediation/{siteIdx}/04/{siteMenuIdx}/mediationStep03.do") + public ModelAndView mediationCheck(ModelMap map, HttpSession session, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx + ){ + + String agreeCheck = session.getAttribute("agreeCheck").toString(); + if(agreeCheck.equals("") || agreeCheck == null){ + map.put("siteIdx", "case"); + map.put("url", "/case/index.do"); + map.put("message", "user.message.medi.alert"); + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + + return new ModelAndView("/_common/jsp/umessage"); + } + + + /*----권한체크----*/ + setSessionMessageRemove(session); + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 +// if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && +// !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ +// +// map.put("message", "common.message.no.grant"); +// +// if(memberIdx.equals(0)){ +// map.put("url", "/"+siteIdx+"/index.do"); +// }else{ +// map.put("self", "history"); +// } +// +// return new ModelAndView("/_common/jsp/umessage"); +// } + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + + //본인인증을 위해 저장된 세션값을 불러와서 model에담고 session은 지워버림 + //부득이하게 redirect를 써야해서 session사용 + /* map.put("mediType", session.getAttribute("mediType")); + map.put("agreeCheck", session.getAttribute("agreeCheck")); + map.put("personalCheck", session.getAttribute("personalCheck"));*/ + map.put("id", session.getAttribute("id")); + map.put("retUrl", session.getAttribute("retUrl")); + map.put("srvNo", session.getAttribute("srvNo")); + map.put("reqNum", session.getAttribute("reqNum")); + map.put("reqInfo", session.getAttribute("reqInfo")); + map.put("hpRetUrl", session.getAttribute("hpRetUrl")); + map.put("hpReqInfo", session.getAttribute("hpReqInfo")); + + + session.removeAttribute("id"); + session.removeAttribute("retUrl"); + session.removeAttribute("srvNo"); + session.removeAttribute("reqNum"); + session.removeAttribute("reqInfo"); + session.removeAttribute("hpRetUrl"); + session.removeAttribute("hpReqInfo"); + + return new ModelAndView("/_extra/user/mediation/mediationStep03"); + } } diff --git a/src/main/java/seed/com/user/mypage/WebMyPageController.java b/src/main/java/seed/com/user/mypage/WebMyPageController.java index 31b27f1a..d82fc9c3 100644 --- a/src/main/java/seed/com/user/mypage/WebMyPageController.java +++ b/src/main/java/seed/com/user/mypage/WebMyPageController.java @@ -1,11 +1,11 @@ package seed.com.user.mypage; +import java.io.BufferedReader; +import java.io.IOException; import java.text.ParseException; -import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.Random; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @@ -13,6 +13,8 @@ import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; @@ -20,12 +22,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; +import com.google.gson.Gson; import com.ibm.icu.text.SimpleDateFormat; -import com.sci.v2.ipin.secu.SciSecuManager; -import com.sci.v2.ipin.secu.hmac.SciHmac; -import kcc.com.utl.fcc.service.EgovNumberUtil; -import kcc.com.utl.fcc.service.EgovStringUtil; import seed.com.gtm.counsel.OnlineCounselService; import seed.com.gtm.seedfile.SeedFileService; import seed.com.gtm.util.Criteria; @@ -112,7 +111,8 @@ private Logger log = Logger.getLogger(this.getClass()); if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ map.put("siteIdx", "case"); - map.put("url", "/user/mypage/case/01/169/myMediationList.do"); +// map.put("url", "/user/mypage/case/01/169/myMediationList.do"); + map.put("url", "/"); map.put("message", "common.message.my.alert"); map.put("opener", ""); map.put("append", ""); @@ -128,9 +128,11 @@ private Logger log = Logger.getLogger(this.getClass()); // "nextUrl=/user/mypage/"+siteIdx+"/01/"+siteMenuIdx+"/myCheck.do" + // "&commandCode=my" // ); - certTest(map, req, session, "my"); + FairnetUtils.certTest(map, req, session, "my"); } + System.out.println("session.getId1111111111 :: " + session.getId()); + session.removeAttribute("myPass"); setSessionMessageRemove(session); @@ -801,310 +803,57 @@ private Logger log = Logger.getLogger(this.getClass()); return new ModelAndView("/_extra/web/user/myPage/myLawCounsel"); } + + @RequestMapping("/web/user/mypage/case/01/168/devCiMakePop.do") + public String devCiMake(ModelMap map + , HttpSession session + , HttpServletRequest req + ){ + + return "/web/xxx/devCiMakePop"; + } - private void certTest(ModelMap map, HttpServletRequest req, HttpSession session,String commandCode ) { - String nextUrl = req.getParameter("nextUrl"); -// String commandCode = req.getParameter("commandCode"); - - String srvNo = ""; - String hpSrvNo = ""; - String agreeCheck = ""; - String personalCheck = ""; - String mediType = ""; - String retUrl = "";//아이핀 인증후 리턴 페이지 - String hpRetUrl = "";//모바일 인증후 리턴 페이지 - - String sServerName = req.getServerName(); - - if(commandCode.equals("medi")){//분쟁조정신청 본인인증 - - //개발서버 -// srvNo = "007001";// 아이핀 코드 -// hpSrvNo = "008001";//휴대폰 코드 - - //실서버 - srvNo = "009001";// 아이핀 코드 - hpSrvNo = "012001";//휴대폰 코드 - - agreeCheck = req.getParameter("agreeCheck"); - personalCheck = req.getParameter("personalCheck"); - mediType = req.getParameter("mediType"); - - //개발서버 -// retUrl = "23http://ServerName:8080/user/extra/case/siren/ipin_popup_seed/jsp/Page.do"; -// retUrl = retUrl.replaceAll("ServerName", sServerName); - -// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/hpParamPop/jsp/Page.do"; -// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); - - //실서버 - retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/ipin_popup_seed/jsp/Page.do"; -// retUrl = retUrl.replaceAll("ServerName", sServerName); - - hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/hpParamPop/jsp/Page.do"; -// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); - - session.setAttribute("agreeCheck", agreeCheck); - session.setAttribute("personalCheck", personalCheck); - session.setAttribute("mediType", mediType); - //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. - if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ -// nextUrl = "/user/mediation/case/05/154/mediationStep04Ftc.do"; - nextUrl = "/user/mediation/case/05/154/mediationStep04.do"; - } - }else if(commandCode.equals("my")){//마이페이지 본인인증 - //개발서버 -// srvNo = "007002"; -// hpSrvNo = "008002"; - - //실서버 - srvNo = "009002"; - hpSrvNo = "012002"; - - //개발서버 -// retUrl = "23http://ServerName:8080/user/extra/case/siren/myPage_ipin_popup_seed/jsp/Page.do"; -// retUrl = retUrl.replaceAll("ServerName", sServerName); - -// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/myPage_hpParamPop/jsp/Page.do"; -// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); - - //실서버 - retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/myPage_ipin_popup_seed/jsp/Page.do"; -// retUrl = retUrl.replaceAll("ServerName", sServerName); - - hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/myPage_hpParamPop/jsp/Page.do"; -// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); - - }else if(commandCode.equals("online")){//온라인 분쟁조정 상담 본인인증 - //개발서버 - srvNo = "007003"; - hpSrvNo = "008003"; - - //실서버 -// srvNo = "009003"; -// hpSrvNo = "012003"; - - personalCheck = req.getParameter("personalCheck"); - session.setAttribute("personalCheck", personalCheck); - - //개발서버 -// retUrl = "23http://ServerName:8080/user/extra/case/siren/onlineCounsel_ipin_popup_seed/jsp/Page.do"; -// retUrl = retUrl.replaceAll("ServerName", sServerName); - -// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/onlineCounsel_hpParamPop/jsp/Page.do"; -// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); - - //실서버 - retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/onlineCounsel_ipin_popup_seed/jsp/Page.do"; - - hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/onlineCounsel_hpParamPop/jsp/Page.do"; - - //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. - if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ - nextUrl = "/user/onlineCounsel/case/01/158/write.do"; - } - }else if(commandCode.equals("law")){ - //개발서버 -// srvNo = "007004"; -// hpSrvNo = "008005"; - - //실서버 - srvNo = "009004"; - hpSrvNo = "012004"; - - personalCheck = req.getParameter("personalCheck"); - session.setAttribute("personalCheck", personalCheck); - - //개발서버 -// retUrl = "23http://ServerName:8080/user/extra/case/siren/lawCounsel_ipin_popup_seed/jsp/Page.do"; -// retUrl = retUrl.replaceAll("ServerName", sServerName); - -// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/lawCounsel_hpParamPop/jsp/Page.do"; -// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); - - - //실서버 - retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/lawCounsel_ipin_popup_seed/jsp/Page.do"; - - hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/lawCounsel_hpParamPop/jsp/Page.do"; - - //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. - if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ - nextUrl = "/user/lawCounsel/case/02/159/lawWrite.do"; - } - }else if(commandCode.equals("medi_check")){ - //개발서버 -// srvNo = "007005"; -// hpSrvNo = "008006"; - - //실서버 - srvNo = "009005"; - hpSrvNo = "012005"; - - String caseNo = req.getParameter("caseNo"); - String checkPass = req.getParameter("checkPass"); - - session.setAttribute("caseNo", caseNo); - session.setAttribute("checkPass", checkPass); - - //개발서버 -// retUrl = "23http://ServerName:8080/user/extra/case/siren/checkMedi_ipin_popup_seed/jsp/Page.do"; -// retUrl = retUrl.replaceAll("ServerName", sServerName); - -// hpRetUrl = "32http://ServerName:8080/user/extra/case/siren/checkMedi_hpParamPop/jsp/Page.do"; -// hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); - - - //실서버 - retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/checkMedi_ipin_popup_seed/jsp/Page.do"; - - hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/checkMedi_hpParamPop/jsp/Page.do"; - - //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. - /* if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ - nextUrl = "/user/mediation/case/03/155/checkMediationStep03.do"; - }*/ - } - - //나중에 메인 페이지 나오면 튕겨내기 -// if(nextUrl == null || agreeCheck == null){ -// map.put("siteIdx", "case"); -// map.put("url", "/case/index.do"); -// map.put("message", "잘못된 접근 입니다."); -// map.put("opener", ""); -// map.put("append", ""); -// map.put("self", ""); -// -// return "/_commccon/jsp/umessage"; -// throw new RuntimeException("강제 예외 발생!"); -// } - - - /** - * 아이핀 인증 시작 */ - - //String sServerName = req.getServerName(); - - //회원사 ID : KFA001 - String id = "KFA001"; - //회원가입화면용 결과 수신 URL : 23http:/211.43.219.170/hp/meb/pinSignupView.do - //String retUrl = "23http://ServerName/user/extra/case/siren/ipin_popup_seed/jsp/Page.do"; - //retUrl = retUrl.replaceAll("ServerName", sServerName); - //분쟁조정신청 서비스 번호 : 006001 - // String srvNo = "006001"; - //요청번호(유닉크한 랜덤값) : 40 byte까지 - String reqNum = "kofair" + EgovStringUtil.getTimeStamp() + EgovNumberUtil.getRandomNum(1000, 9999); - - session.setAttribute("id", id); - session.setAttribute("retUrl", retUrl); - session.setAttribute("srvNo", srvNo); - session.setAttribute("reqNum", reqNum); - //복호화용 임시필드 - - String exVar = "0000000000000000"; - - /** - * - * reqNum 값은 최종 결과값 복호화를 위한 SecuKey로 활용 되므로 중요합니다. - * reqNum 은 아이핀 서비스 요청시 항상 새로운 값으로 중복 되지 않게 생성 해야 합니다. - * 쿠키 또는 Session및 기타 방법을 사용해서 reqNum 값을 - * ipin_result_seed.jsp에서 가져 올 수 있도록 해야 함. - * 샘플을 위해서 쿠키를 사용한 것이므로 참고 하시길 바랍니다. - * - */ - /* Cookie c = new Cookie("reqNum", reqNum); - //c.setMaxAge(1800); // <== 필요시 설정(초단위로 설정됩니다) - response.addCookie(c);*/ - - session.setAttribute("reqNumKey", reqNum); - - // 암호화 모듈 선언 - SciSecuManager seed = new SciSecuManager(); - // 1차 암호화 - String encStr = ""; - String reqInfo = reqNum + "/" + id + "/" + srvNo + "/" + exVar; - encStr = seed.getEncPublic(reqInfo); - // 위변조 검증 값 등록 - SciHmac hmac = new SciHmac(); - String hmacMsg = SciHmac.HMacEncriptPublic(encStr); - // 2차 암호화 - reqInfo = seed.getEncPublic(encStr + "/" + hmacMsg + "/" + "00000000"); - session.setAttribute("reqInfo", reqInfo); - - /** - * 아이핀 인증 끝 */ - - - /** - * 핸드폰 인증 시작 */ - - //날짜 생성 - Calendar today = Calendar.getInstance(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); - String day = sdf.format(today.getTime()); - - java.util.Random ran = new Random(); - //랜덤 문자 길이 - int numLength = 6; - String randomStr = ""; - - for (int i = 0; i < numLength; i++) { - //0 ~ 9 랜덤 숫자 생성 - randomStr += ran.nextInt(10); + @RequestMapping("/web/user/mypage/case/01/168/devCiMakePopCiReg.do") + public ResponseEntity devCiMakePopCiReg(ModelMap map + , HttpSession session + , HttpServletRequest req + ){ + // JSON 데이터 받기 + try { + BufferedReader reader = req.getReader(); + StringBuilder jsonBuilder = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + jsonBuilder.append(line); + } + Map dataObject = new Gson().fromJson(jsonBuilder.toString(), Map.class); + req.getSession().setAttribute("ci", dataObject.get("ci")); + req.getSession().setAttribute("hpName", dataObject.get("hpName")); + + } catch (IOException e) { + e.printStackTrace(); } - - //reqNum은 최대 40byte 까지 사용 가능 - - String hpId = "SKFA001"; // 본인실명확인 회원사 아이디 - //String hpSrvNo = "005001"; // 본인실명확인 서비스번호 - String hpReqNum = day + randomStr; // 본인실명확인 요청번호 - String hpExVar = "0000000000000000"; // 복호화용 임시필드 - String hpCertDate = day; // 본인실명확인 요청시간 - String hpCertGb = "H"; // 본인실명확인 본인확인 인증수단 - String hpAddVar = ""; // 본인실명확인 추가 파라메터 + return new ResponseEntity<>("ci, hpName session set", HttpStatus.OK); + } + + @RequestMapping("/web/user/mypage/case/01/168/devCiMakePopCiCheck.do") + public String devCiMakePopCiCheck(ModelMap map + , HttpSession session + , HttpServletRequest req + ){ - //String hpRetUrl = "32http://ServerName/kmcis/kmcisIdSearch.jsp"; // 본인인증서비스 결과수신 POPUP URL - //String hpRetUrl = "32http://ServerName/user/extra/case/siren/hpParamPop/jsp/Page.do"; + return "/web/xxx/devCiMakePop"; + } + + @RequestMapping("/web/user/mypage/case/01/168/devCiRemove.do") + public String devCiMakePopCiRemove(ModelMap map + , HttpSession session + , HttpServletRequest req + ){ - //hpRetUrl = "32http://kofair2.global-it.co.kr/kmcis/kmcisIdSearch.jsp"; - //hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); //오픈할 때 주석으로 교체해줘야함 + req.getSession().removeAttribute("ci"); + req.getSession().removeAttribute("hpName"); - - /** - * - * reqNum 값은 최종 결과값 복호화를 위한 SecuKey로 활용 되므로 중요합니다. - * reqNum 은 본인 확인 요청시 항상 새로운 값으로 중복 되지 않게 생성 해야 합니다. - * 쿠키 또는 Session및 기타 방법을 사용해서 reqNum 값을 - * pcc_V3_result_seed.jsp에서 가져 올 수 있도록 해야 함. - * 샘플을 위해서 쿠키를 사용한 것이므로 참고 하시길 바랍니다. - * - */ - /*Cookie hpC = new Cookie("hpReqNum", hpReqNum); - //c.setMaxAge(1800); // <== 필요시 설정(초단위로 설정됩니다) - response.addCookie(hpC);*/ - - session.setAttribute("hpReqNumKey", hpReqNum); - - //01. 암호화 모듈 선언 - com.sci.v2.pcc.secu.SciSecuManager hpSeed = new com.sci.v2.pcc.secu.SciSecuManager(); - - //02. 1차 암호화 - String hpEncStr = ""; - String hpReqInfo = hpId+"^"+hpSrvNo+"^"+hpReqNum+"^"+hpCertDate+"^"+hpCertGb+"^"+hpAddVar+"^"+hpExVar; // 데이터 암호화 - hpEncStr = hpSeed.getEncPublic(hpReqInfo); - - //03. 위변조 검증 값 생성 - com.sci.v2.pcc.secu.hmac.SciHmac hpHmac = new com.sci.v2.pcc.secu.hmac.SciHmac(); - String hpHmacMsg = hpHmac.HMacEncriptPublic(hpEncStr); - - //03. 2차 암호화 - hpReqInfo = hpSeed.getEncPublic(hpEncStr + "^" + hpHmacMsg + "^" + "0000000000000000"); //2차암호화 - - session.setAttribute("hpRetUrl", hpRetUrl); - session.setAttribute("hpReqInfo", hpReqInfo); - - /** - * 핸드폰 인증 끝 */ - - } + return "redirect:/"; + } } diff --git a/src/main/java/seed/home/HomeController.java b/src/main/java/seed/home/HomeController.java index 6792ed60..6595ddd9 100644 --- a/src/main/java/seed/home/HomeController.java +++ b/src/main/java/seed/home/HomeController.java @@ -639,7 +639,8 @@ public class HomeController { @PathVariable(value="siteIdx") String siteIdx, @PathVariable(value="pageFolder") String pageFolder, @PathVariable(value="pageName") String pageName, - @RequestParam(value="siteMenuIdx", defaultValue="", required=false) Integer siteMenuIdx){ + @RequestParam(value="siteMenuIdx", defaultValue="", required=false) Integer siteMenuIdx + , HttpServletRequest request){ if(siteMenuIdx != null && !siteMenuIdx.equals("")){ @@ -757,7 +758,57 @@ public class HomeController { map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); } - return new ModelAndView("/seed/_extra/user/"+pageFolder+"/"+pageName); + + System.out.println("session.getId2222222222 :: " + session.getId()); + String hpReqNumKey = (String)session.getAttribute("hpReqNumKey"); + + String test = (String)request.getSession().getAttribute("hpReqNumKey"); + String param = ""; + String enc_retInfo = request.getParameter("retInfo").trim(); + String nextUrl = "/user/mypage/case/01/168/myMediationList.do"; + + param= "?retInfo="+enc_retInfo+"&nextUrl="+ nextUrl; + + + /* 본인확인결과 가져오기*/ + String hpResult = ""; // 본인확인결과 (Y/N) + + //복화화용 변수 + String hpEncPara = ""; + String hpEncMsg = ""; + String hpMsgChk = "N"; + +// String hpReqNumKey = (String)session.getAttribute("hpReqNumKey"); + + // 1. 암호화 모듈 (jar) Loading + com.sci.v2.pcc.secu.SciSecuManager sciSecuMg = new com.sci.v2.pcc.secu.SciSecuManager(); + //쿠키에서 생성한 값을 Key로 생성 한다. + enc_retInfo = sciSecuMg.getDec(enc_retInfo, hpReqNumKey); + + // 2.1차 파싱--------------------------------------------------------------- + String[] aRetInfo1 = enc_retInfo.split("\\^"); + hpEncPara = aRetInfo1[0]; //암호화된 통합 파라미터 + hpEncMsg = aRetInfo1[1]; //암호화된 통합 파라미터의 Hash값 + + String encMsg2 = sciSecuMg.getMsg(hpEncPara); + // 3.위/변조 검증 --------------------------------------------------------------- + if(encMsg2.equals(hpEncMsg)){ + hpMsgChk="Y"; + } + + + enc_retInfo = sciSecuMg.getDec(hpEncPara, hpReqNumKey); + String[] aRetInfo = enc_retInfo.split("\\^"); + + hpResult = aRetInfo[9]; + + + + + + + + return new ModelAndView("/_extra/user/"+pageFolder+"/"+pageName); } @RequestMapping(value = "/user/extra/{siteIdx}/{siteMenuIdx}/{pageFolder}/{pageName}/jsp/LayOutPage.do") diff --git a/src/main/java/seed/utils/CertGlobalSet.java b/src/main/java/seed/utils/CertGlobalSet.java new file mode 100644 index 00000000..ec1368a5 --- /dev/null +++ b/src/main/java/seed/utils/CertGlobalSet.java @@ -0,0 +1,30 @@ +package seed.utils; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +public class CertGlobalSet { + + private static String retUrl; + + private static String hpRetUrl; + + + @Value("#{globalSettings['cert.retUrl']}") + public void setRetUrl(String retUrl) { + CertGlobalSet.retUrl = retUrl; + } + @Value("#{globalSettings['cert.hpRetUrl']}") + public void setHpRetUrl(String hpRetUrl) { + CertGlobalSet.hpRetUrl = hpRetUrl; + } + + public static String getRetUrl() { + return retUrl; + } + public static String getHpRetUrl() { + return hpRetUrl; + } + +} diff --git a/src/main/java/seed/utils/FairnetUtils.java b/src/main/java/seed/utils/FairnetUtils.java index 7b4f152d..ffdb77a8 100644 --- a/src/main/java/seed/utils/FairnetUtils.java +++ b/src/main/java/seed/utils/FairnetUtils.java @@ -1,15 +1,24 @@ package seed.utils; +import java.util.Calendar; import java.util.Map; +import java.util.Random; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.springframework.beans.factory.annotation.Value; import org.springframework.ui.ModelMap; +import com.ibm.icu.text.SimpleDateFormat; +import com.sci.v2.ipin.secu.SciSecuManager; +import com.sci.v2.ipin.secu.hmac.SciHmac; + +import kcc.com.utl.fcc.service.EgovNumberUtil; +import kcc.com.utl.fcc.service.EgovStringUtil; + public class FairnetUtils { - //private static Logger log = Logger.getLogger(FairnetUtils.class); - public static boolean hasAuth( int p_memberIdx , String p_memberGrant @@ -102,4 +111,279 @@ public class FairnetUtils { return p_map; } + + + public static void certTest(ModelMap map, HttpServletRequest req, HttpSession session,String commandCode ) { + + String nextUrl = req.getParameter("nextUrl"); +// String commandCode = req.getParameter("commandCode"); + + String srvNo = ""; + String hpSrvNo = ""; + String agreeCheck = ""; + String personalCheck = ""; + String mediType = ""; + String retUrl = "";//아이핀 인증후 리턴 페이지 + String hpRetUrl = "";//모바일 인증후 리턴 페이지 + + String sServerName = req.getServerName(); + + if(commandCode.equals("medi")){//분쟁조정신청 본인인증 + + //개발서버 +// srvNo = "007001";// 아이핀 코드 +// hpSrvNo = "008001";//휴대폰 코드 + + //실서버 + srvNo = "009001";// 아이핀 코드 + hpSrvNo = "012001";//휴대폰 코드 + + agreeCheck = req.getParameter("agreeCheck"); + personalCheck = req.getParameter("personalCheck"); + mediType = req.getParameter("mediType"); + +// retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/ipin_popup_seed/jsp/Page.do"; + retUrl = CertGlobalSet.getRetUrl() + "/user/extra/case/siren/ipin_popup_seed/jsp/Page.do"; + +// hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/hpParamPop/jsp/Page.do"; + hpRetUrl = CertGlobalSet.getHpRetUrl() + "/user/extra/case/siren/hpParamPop/jsp/Page.do"; + + session.setAttribute("agreeCheck", agreeCheck); + session.setAttribute("personalCheck", personalCheck); + session.setAttribute("mediType", mediType); + //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. + if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ +// nextUrl = "/user/mediation/case/05/154/mediationStep04Ftc.do"; + nextUrl = "/user/mediation/case/05/154/mediationStep04.do"; + } + }else if(commandCode.equals("my")){//마이페이지 본인인증 + //개발서버 +// srvNo = "007002"; +// hpSrvNo = "008002"; + + //실서버 + srvNo = "009002"; + hpSrvNo = "012002"; + +// retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/myPage_ipin_popup_seed/jsp/Page.do"; + retUrl = CertGlobalSet.getRetUrl() + "/user/extra/case/siren/myPage_ipin_popup_seed/jsp/Page.do"; + +// hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/myPage_hpParamPop/jsp/Page.do"; + hpRetUrl = CertGlobalSet.getHpRetUrl() + "/user/extra/case/siren/myPage_hpParamPop/jsp/Page.do"; + + }else if(commandCode.equals("online")){//온라인 분쟁조정 상담 본인인증 + //개발서버 + srvNo = "007003"; + hpSrvNo = "008003"; + + //실서버 +// srvNo = "009003"; +// hpSrvNo = "012003"; + + personalCheck = req.getParameter("personalCheck"); + session.setAttribute("personalCheck", personalCheck); + +// retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/onlineCounsel_ipin_popup_seed/jsp/Page.do"; + retUrl = CertGlobalSet.getRetUrl() + "/user/extra/case/siren/onlineCounsel_ipin_popup_seed/jsp/Page.do"; + +// hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/onlineCounsel_hpParamPop/jsp/Page.do"; + hpRetUrl = CertGlobalSet.getHpRetUrl() + "/user/extra/case/siren/onlineCounsel_hpParamPop/jsp/Page.do"; + + //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. + if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ + nextUrl = "/user/onlineCounsel/case/01/158/write.do"; + } + }else if(commandCode.equals("law")){ + //개발서버 +// srvNo = "007004"; +// hpSrvNo = "008005"; + + //실서버 + srvNo = "009004"; + hpSrvNo = "012004"; + + personalCheck = req.getParameter("personalCheck"); + session.setAttribute("personalCheck", personalCheck); + +// retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/lawCounsel_ipin_popup_seed/jsp/Page.do"; + retUrl = CertGlobalSet.getRetUrl() + "/user/extra/case/siren/lawCounsel_ipin_popup_seed/jsp/Page.do"; + +// hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/lawCounsel_hpParamPop/jsp/Page.do"; + hpRetUrl = CertGlobalSet.getHpRetUrl() + "/user/extra/case/siren/lawCounsel_hpParamPop/jsp/Page.do"; + + //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. + if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ + nextUrl = "/user/lawCounsel/case/02/159/lawWrite.do"; + } + }else if(commandCode.equals("medi_check")){ + //개발서버 +// srvNo = "007005"; +// hpSrvNo = "008006"; + + //실서버 + srvNo = "009005"; + hpSrvNo = "012005"; + + String caseNo = req.getParameter("caseNo"); + String checkPass = req.getParameter("checkPass"); + + session.setAttribute("caseNo", caseNo); + session.setAttribute("checkPass", checkPass); + +// retUrl = "23http://fairnet.kofair.or.kr/user/extra/case/siren/checkMedi_ipin_popup_seed/jsp/Page.do"; + retUrl = CertGlobalSet.getRetUrl() + "/user/extra/case/siren/checkMedi_ipin_popup_seed/jsp/Page.do"; + +// hpRetUrl = "32http://fairnet.kofair.or.kr/user/extra/case/siren/checkMedi_hpParamPop/jsp/Page.do"; + hpRetUrl = CertGlobalSet.getHpRetUrl() + "/user/extra/case/siren/checkMedi_hpParamPop/jsp/Page.do"; + + //hpName존재하면 이미 본인인증을 거쳤기 때문에 다음으로 바로 넘어간다. + /* if(!SeedUtils.setReplaceNull(session.getAttribute("hpName")).equals("")){ + nextUrl = "/user/mediation/case/03/155/checkMediationStep03.do"; + }*/ + } + + //나중에 메인 페이지 나오면 튕겨내기 +// if(nextUrl == null || agreeCheck == null){ +// map.put("siteIdx", "case"); +// map.put("url", "/case/index.do"); +// map.put("message", "잘못된 접근 입니다."); +// map.put("opener", ""); +// map.put("append", ""); +// map.put("self", ""); +// +// return "/_commccon/jsp/umessage"; +// throw new RuntimeException("강제 예외 발생!"); +// } + + + /** + * 아이핀 인증 시작 */ + + //String sServerName = req.getServerName(); + + //회원사 ID : KFA001 + String id = "KFA001"; + //회원가입화면용 결과 수신 URL : 23http:/211.43.219.170/hp/meb/pinSignupView.do + //String retUrl = "23http://ServerName/user/extra/case/siren/ipin_popup_seed/jsp/Page.do"; + //retUrl = retUrl.replaceAll("ServerName", sServerName); + //분쟁조정신청 서비스 번호 : 006001 + // String srvNo = "006001"; + //요청번호(유닉크한 랜덤값) : 40 byte까지 + String reqNum = "kofair" + EgovStringUtil.getTimeStamp() + EgovNumberUtil.getRandomNum(1000, 9999); + + session.setAttribute("id", id); + session.setAttribute("retUrl", retUrl); + session.setAttribute("srvNo", srvNo); + session.setAttribute("reqNum", reqNum); + //복호화용 임시필드 + + String exVar = "0000000000000000"; + + /** + * + * reqNum 값은 최종 결과값 복호화를 위한 SecuKey로 활용 되므로 중요합니다. + * reqNum 은 아이핀 서비스 요청시 항상 새로운 값으로 중복 되지 않게 생성 해야 합니다. + * 쿠키 또는 Session및 기타 방법을 사용해서 reqNum 값을 + * ipin_result_seed.jsp에서 가져 올 수 있도록 해야 함. + * 샘플을 위해서 쿠키를 사용한 것이므로 참고 하시길 바랍니다. + * + */ + /* Cookie c = new Cookie("reqNum", reqNum); + //c.setMaxAge(1800); // <== 필요시 설정(초단위로 설정됩니다) + response.addCookie(c);*/ + + session.setAttribute("reqNumKey", reqNum); + + // 암호화 모듈 선언 + SciSecuManager seed = new SciSecuManager(); + // 1차 암호화 + String encStr = ""; + String reqInfo = reqNum + "/" + id + "/" + srvNo + "/" + exVar; + encStr = seed.getEncPublic(reqInfo); + // 위변조 검증 값 등록 + SciHmac hmac = new SciHmac(); + String hmacMsg = SciHmac.HMacEncriptPublic(encStr); + // 2차 암호화 + reqInfo = seed.getEncPublic(encStr + "/" + hmacMsg + "/" + "00000000"); + session.setAttribute("reqInfo", reqInfo); + + /** + * 아이핀 인증 끝 */ + + + /** + * 핸드폰 인증 시작 */ + + //날짜 생성 + Calendar today = Calendar.getInstance(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + String day = sdf.format(today.getTime()); + + java.util.Random ran = new Random(); + //랜덤 문자 길이 + int numLength = 6; + String randomStr = ""; + + for (int i = 0; i < numLength; i++) { + //0 ~ 9 랜덤 숫자 생성 + randomStr += ran.nextInt(10); + } + + //reqNum은 최대 40byte 까지 사용 가능 + + String hpId = "SKFA001"; // 본인실명확인 회원사 아이디 + //String hpSrvNo = "005001"; // 본인실명확인 서비스번호 + String hpReqNum = day + randomStr; // 본인실명확인 요청번호 + String hpExVar = "0000000000000000"; // 복호화용 임시필드 + String hpCertDate = day; // 본인실명확인 요청시간 + String hpCertGb = "H"; // 본인실명확인 본인확인 인증수단 + String hpAddVar = ""; // 본인실명확인 추가 파라메터 + + //String hpRetUrl = "32http://ServerName/kmcis/kmcisIdSearch.jsp"; // 본인인증서비스 결과수신 POPUP URL + //String hpRetUrl = "32http://ServerName/user/extra/case/siren/hpParamPop/jsp/Page.do"; + + //hpRetUrl = "32http://kofair2.global-it.co.kr/kmcis/kmcisIdSearch.jsp"; + //hpRetUrl = hpRetUrl.replaceAll("ServerName", sServerName); //오픈할 때 주석으로 교체해줘야함 + + + /** + * + * reqNum 값은 최종 결과값 복호화를 위한 SecuKey로 활용 되므로 중요합니다. + * reqNum 은 본인 확인 요청시 항상 새로운 값으로 중복 되지 않게 생성 해야 합니다. + * 쿠키 또는 Session및 기타 방법을 사용해서 reqNum 값을 + * pcc_V3_result_seed.jsp에서 가져 올 수 있도록 해야 함. + * 샘플을 위해서 쿠키를 사용한 것이므로 참고 하시길 바랍니다. + * + */ + /*Cookie hpC = new Cookie("hpReqNum", hpReqNum); + //c.setMaxAge(1800); // <== 필요시 설정(초단위로 설정됩니다) + response.addCookie(hpC);*/ + +// session.setAttribute("hpReqNumKey", hpReqNum); + req.getSession().setAttribute("hpReqNumKey", hpReqNum); // 결과값 복호화시 필요 + + //01. 암호화 모듈 선언 + com.sci.v2.pcc.secu.SciSecuManager hpSeed = new com.sci.v2.pcc.secu.SciSecuManager(); + + //02. 1차 암호화 + String hpEncStr = ""; + String hpReqInfo = hpId+"^"+hpSrvNo+"^"+hpReqNum+"^"+hpCertDate+"^"+hpCertGb+"^"+hpAddVar+"^"+hpExVar; // 데이터 암호화 + hpEncStr = hpSeed.getEncPublic(hpReqInfo); + + //03. 위변조 검증 값 생성 + com.sci.v2.pcc.secu.hmac.SciHmac hpHmac = new com.sci.v2.pcc.secu.hmac.SciHmac(); + String hpHmacMsg = hpHmac.HMacEncriptPublic(hpEncStr); + + //03. 2차 암호화 + hpReqInfo = hpSeed.getEncPublic(hpEncStr + "^" + hpHmacMsg + "^" + "0000000000000000"); //2차암호화 + +// session.setAttribute("hpRetUrl", hpRetUrl); +// session.setAttribute("hpReqInfo", hpReqInfo); + req.getSession().setAttribute("hpRetUrl", hpRetUrl); + req.getSession().setAttribute("hpReqInfo", hpReqInfo); + + /** + * 핸드폰 인증 끝 */ + + } } \ No newline at end of file diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index e94bc3a6..9814a84c 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -224,4 +224,5 @@ oz.ozServerNm=http://119.193.215.98:8086 gw.url=https://ovis.opco.co.kr #\ubcf8\uc778\uc778\uc99d \uc11c\ubc84\uc8fc\uc18c -cert.sServerName=23http://fairnet.kofair.or.kr \ No newline at end of file +cert.retUrl=23http://119.193.215.98:8070 +cert.hpRetUrl=32http://119.193.215.98:8070 \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index 0035ba3a..6c778c84 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -154,6 +154,7 @@ /kccadr/adjPgrMgr/drtCtr/drtCtrReg_for_ApprovManageEndDetail.do /web/kccadr/adjst/adjstProgressTutorial.do /kccadr/textsence/textSenseResponse.do + /web/user/mypage/case/01/168/devCiMakePop.do diff --git a/src/main/webapp/WEB-INF/jsp/_extra/user/mediation/mediationApp.jsp b/src/main/webapp/WEB-INF/jsp/_extra/user/mediation/mediationApp.jsp index ce6e4a3c..c7b774f9 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/user/mediation/mediationApp.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/user/mediation/mediationApp.jsp @@ -7,7 +7,63 @@ <%@ page import="java.util.Date"%> <%@ page import="java.text.SimpleDateFormat"%> - + + + + + + + + +
+ + +
    +
  • +
  • 분쟁조정 신청
  • +
  • 분쟁조정 신청하기
  • +
+ + +

분쟁조정 신청하기

+

언제 어디서든 온라인으로 분쟁조정을 신청하실 수 있습니다.

+ +
+
    +
  • +

    분쟁조정 신청 유형을 잘 모르시겠다면 하단의 안내를 확인하시거나, 신청 전 상담을 받아보시기 바랍니다.

    +
    + + +
    +
  • +
  • +

    분쟁조정 신청 전 상담은 우리 원 분쟁조정콜센터(1588-1490)을 이용하여 주시기 바랍니다.

    +
      +
    • 우편접수를 통한 조정신청 및 신청서 작성 방법 등에 관한 문의도 가능합니다.
    • +
    +
  • +
+
+
+ +
+ +
+ + + + + + + + + + + + + +<%-- <c:out escapeXml='true' value='${siteMenuTitle}'/> @@ -81,4 +137,4 @@ - \ No newline at end of file + --%> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/_extra/user/mediation/mediationStep01.jsp b/src/main/webapp/WEB-INF/jsp/_extra/user/mediation/mediationStep01.jsp index 57caad04..c1bd1635 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/user/mediation/mediationStep01.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/user/mediation/mediationStep01.jsp @@ -2,7 +2,549 @@ <%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %> <%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%> - + + + + + + +
+ +
+ + + +
+ +
+ + +
+ + +
    +
  • +
  • 분쟁조정 신청
  • +
  • 분쟁조정 신청하기
  • +
+ + +

분쟁조정 신청하기

+

거래유형에 따른 분쟁조정 신청방법 및 절차를 알려드립니다.

+ +
    +
  • +
  • +
  • +
  • +
  • +
  • +
+ + +
+

공정거래 분쟁조정 대상이 되는 거래 유형

+
+ 공정거래 분쟁조정 신청 안내 +

공정거래조정원에 조정신청을 하기 위해서는 원칙적으로 독점규제 및 공정거래에 관한 법률(공정거래법) 제45조의 불공정거래행위에 해당되어야 합니다. 조정신청 대상이 되는 불공정거래행위는 다음과 같습니다.

+
+
1. 거래거절(제45조 제1항 제1호)
+
2. 차별적 취급(제45조 제1항 제2호)
+
3. 경쟁사업자 배제(제45조 제1항 제3호)
+
4. 부당한 고객유인(제45조 제1항 제4호)
+
5. 거래강제(제45조 제1항 제5호)
+
6. 거래상지위남용(제45조 제1항 제6호)
+
7. 구속조건부 거래(제45조 제1항 제7호)
+
8. 사업활동 방해(제45조 제1항 제8호)
+
+
+ +

조정신청의 대상에서 제외되는 행위

+
+

그 외 조정신청의 대상에서 제외되는 행위는 다음과 같습니다.

+
+
1. 부당한 자금ㆍ자산ㆍ인력의 지원
+
2. 분쟁조정 신청이 있기 전에 공정거래위원회가 공정거래법 제49조(위반행위의 인지ㆍ신고 등)에 따라 조사 중인 사건
+
3. 공정거래법 제23조 제1항 이외의 공정거래법 위반 행위
+
4. 조정신청의 내용과 직접적인 이해관계가 없는 자가 조정신청을 한 경우
+
5. 신청인이 사업자가 아닌 경우
+
+

소비자 피해 구제는 본 조정원의 조정 대상이 아니므로, 한국소비자원(www.kca.go.kr, 043-880-5500)으로 문의하여 주시기 바랍니다

+
+
+ + +
+

가맹사업거래 분쟁조정 대상이 되는 거래 유형

+
+ 가맹사업거래 분쟁조정 신청 안내 +

가맹사업거래의 공정화에 관한 법률 제2조 에 따라 가맹사업거래 분쟁조정신청 대상이 되는 가맹본부의 (주요)행위는 다음과 같습니다

+
+
1. 가맹금을 예치하지 않고 직접 수령하는 행위(제6조의5)
+
- 가맹본부가 가맹사업법 제15조의2에 따른 가맹점사업자피해보상보험계약 등을 체결한 경우에는 예치의무가 면제됨
+
2. 공정거래위원회에 등록된 정보공개서를 가맹희망자에게 제공하지 아니하거나, 제공한지 14일 이내에 가맹계약 체결/가맹금 수령을 하는 행위(제7조)
+
3. 가맹계약 체결 과정에서 예상매출액 등에 관한 허위·과장 정보를 제공하는 행위(제9조)
+
4. 가맹점사업자에 대해 상품이나 용역의 공급 또는 영업의 지원 등을 부당하게 중단 또는 거절하거나 그 내용을 현저히 제한하는 행위(제12조 제1항 제1호)
+
5. 가맹점사업자가 취급하는 상품 또는 용역의 가격, 거래상대방, 거래지역이나 가맹점사업자의 사업활동을 부당하게 구속하거나 제한하는 행위(제12조 제1항 제2호)
+
6. 거래상의 지위를 이용하여 부당하게 가맹점사업자에게 불이익을 주는 행위(제12조 제1항 제3호)
+
7. 계약의 목적과 내용, 발생할 손해액의 크기, 당사자간 귀책사유 유무 및 정도, 해당 업종의 정상적인 거래관행에 비하여 과중한 위약금을 부과하는 등 가맹점사업자에게 부당하게 손해배상 의무를 부담시키는 행위(제12조 제1항 제5호)
+
8. 정당한 사유 없이 점포환경개선을 강요하는 행위(제12조의2)
+
9. 정상적인 거래관행에 비추어 부당하게 가맹점사업자의 영업시간을 구속하는 행위(제12조의3)
+
10. 정당한 사유 없이 가맹계약서에 기재된 영업지역 안에 가맹점사업자와 동일한 업종의 자기 또는 계열회사의 직영점이나 가맹점을 설치하는 행위(제12조의4)
+
11. 정당한 사유없이 가맹점사업자의 가맹계약기간 만료 전 180일부터 90일 사이의 계약 갱신 요구를 거절하는 행위(제13조)
+
12. 가맹점사업자에게 2개월 이상의 유예기간을 두고 계약의 위반 사실을 구체적으 로 밝히고 이를 시정하지 아니하면 그 계약을 해지한다는 사실을 서면으로 2회 이상 통지하지 아니하고 가맹계약 해지를 통보한 행위(제14조)
+
+
+ +

조정신청의 대상에서 제외되는 행위

+
+ 조정신청 대상에서 제외되는 경우(가맹사업법 제 3조에 따라 적용 제외)는 다음과 같습니다 +

가맹사업거래의 공정화에 관한 법률 제2조 에 따라 가맹사업거래 분쟁조정신청 대상이 되는 가맹본부의 (주요)행위는 다음과 같습니다

+
+
1. 가맹점사업자가 가맹금의 최초 지급일부터 6개월까지의 기간동안 가맹본부에게 지급한 가맹금의 총액이 100만원을 초과하지 아니하는 경우
+
2. 가맹본부의 연간 매출액이 5천만 원 미만이면서 가맹본부와 계약을 맺은 가맹점사업자의 수가 5개 미만인 경우
+ (다만, 해당 가맹본부가 가맹사업을 시작하기 전에 해당 가맹사업과 같은 품질기준이나 영업방식에 따라 상품이나 용역을 판매하는 직영점을 개설하여 1년 이상 운영하고 있는 경우에는 연간 매출액이 2억 원 미만인 경우)
+
+

※ 연간 매출액 판단을 위한 금액 산정은 바로 전 사업연도의 손익계산서상의 매출액으로 하고, 가맹본부가 손익계산서를 작성하지 아니하는 경우에는 바로 전 2개 과세기간의 부가가치세확정신고서 상의 과세표준과 면세수입금액을 합한 금액을 기준으로 함

+
+
+ + +
+

하도급 분쟁조정 대상이 되는 거래 유형

+
+ 하도급 분쟁조정 신청 안내 +

하도급거래 공정화에 관한 법률(하도급법) 제24조의 4 에 따라 하도급 분쟁조정 신청 대상이 되는 (주요)행위는 다음과 같습니다

+
+ +
1. 계약체결 및 유지단계
+ +
(1) 원사업자가 서면 발급 및 서류 보존의무를 불이행한 경우 (제3조)
+
(2) 원사업자가 부당하게 하도급대금을 결정하거나 감액하는 경우 (제4조, 제11조)
+
(3) 원사업자가 물품 등의 구매를 강제한 경우 (제5조)
+
(4) 원사업자가 선급금 지급의무를 불이행한 경우 (제6조)
+
(5) 원사업자가 내국신용장 개설의무를 불이행한 경우 (제7조)
+
(6) 원사업자가 부당하게 위탁을 취소하거나 수령을 거부·지연하는 경우 (제8조)
+
(7) 원사업자가 건설 하도급대금 지급보증의무를 불이행한 경우 (제13조의2)
+
(8) 원사업자가 부당하게 기술자료 또는 경제적 이익을 요구하는 경우 (제12조의2, 제12조의3)
+
(9) 원사업자가 관세 등 환급액 지급의무를 불이행한 경우 (제15조)
+
(10) 원사업자가 설계변경, 공급원가 가격변동에 따른 하도급대금 조정의무를 불이행한 경우 (제16조, 제16조의2)
+ +
2. 물품 등 완성 및 하도급 대금 지급 단계
+ +
(1) 원사업자가 부당하게 검사기준을 적용한 경우 (제9조)
+
(2) 원사업자가 부당하게 목적물 등을 반품하는 경우 (제10조)
+
(3) 원사업자가 하도급대금, 지연이자, 어음할인료 등을 미지급한 경우 (제13조)
+
(4) 발주자가 하도급대금 직접지급의무를 불이행한 경우 (제14조)
+
(5) 수급사업자가 발주자에게 하도급대금 직접지급 요청시 원사업자가 협조를 하지 않은 경우 (제14조)
+
(6) 원사업자가 수급사업자의 의사에 반하여 대금을 대물로 변제한 경우 (제17조)
+ +
3. 위법 행위
+ +
(1) 원사업자가 부당하게 수급사업자의 경영에 간섭하는 경우 (제18조)
+
(2) 수급사업자의 신고 또는 조정신청을 이유로 원사업자가 보복조치를 하는 경우 (제19조)
+
(3) 원사업자가 우회적인 방법으로 하도급법의 적용을 피하려는 경우 (제20조)
+ +
4. 기타 하도급거래에서 발생한 분쟁
+ +
+
+ +

조정신청의 대상에서 제외되는 행위

+
+ 조정신청 대상에서 제외되는 경우(하도급법 적용 제외)는 다음과 같습니다 +
+
1. 하도급법 제2조 제1항에서 규정하는 '하도급거래'에 해당하지 않는 경우
+
2. 원사업자의 연간 매출액이 아래에 해당하는 경우
+
(1) 건설위탁의 경우: 계약체결시점 시공 능력 평가액이 45억원 미만인 중소기업자
+
(2) 제조·수리위탁의 경우: 계약 직전 사업연도 연간매출액이 30억원 미만인 중소기업자
+
(3) 용역위탁의 경우: 계약 직전 사업연도 연간매출액이 10억원 미만인 중소기업자
+
3. 건설하도급의 경우, 원사업자와 수급사업자 중 어느 한 쪽이라도 건설공사면허를 소지하지 않은 경우
+
- 다만, 하도급법 시행령 제2조 제6항의 ‘경미한 공사’에 해당할 경우에는 건설공사면허를 소지하지 않더라도 조정신청의 대상이 됨
+
4. 계약금 반환, 손해배상 등 단순 민사분쟁의 경우
+
5. 소송이 제기되거나 사망, 해산, 폐업 또는 이에 준하는 사유가 발생한 사업자를 상대로 조정신청을 하는 등 사실상 조정절차를 진행할 실익이 없는 경우
+
+
+
+ + +
+

대규모유통업거래 분쟁조정 대상이 되는 거래 유형

+
+ 대규모유통업거래 분쟁조정 신청 안내 +

공정거래조정원에 조정신청을 하기 위해서는 원칙적으로대규모유통업에서의 거래 공정화에 관한 법률(대규모유통업법) 제5조부터 제18조까지의 규정과 관련한 불공정거래행위에 해당되어야 합니다. 조정신청 대상이 되는 불공정거래행위 유형은 다음과 같습니다

+
+
1. 신의성실의 원칙(제5조)
+
2. 서면의 교부 및 서류의 보존 등(제6조)
+
3. 상품대금 감액의 금지(제7조)
+
4. 상품판매대금의 지급(제8조)
+
5. 상품 수령 거부 지체 금지(제9조)
+
6. 상품의 반품 금지(제10조)
+
7. 판매촉진비용의 부담전가 금지(제11조)
+
8. 납품업자 등의 종업원 사용 금지(제12조)
+
9. 배타적 거래 강요 금지(제13조)
+
10. 경영정보 제공 요구 금지(제14조)
+
11. 경제적 이익 제공 요구 금지(제15조)
+
12. 매장 설비 비용의 보상(제16조)
+
13. 상품권 구입 요구 금지 등 (제17조)
+
14. 불이익 등 금지(제18조)
+

※ 대규모유통업자와 납품업자등 사이의 분쟁

+
+ +
▶ 대규모유통업자란, 소비자가 사용하는 상품을 다수의 사업자로부터 납품 받아 판매하는 자로서, 다음 어느 하나에 해당되는 자
+
i) 직전 사업연도의 소매업종 매출액이 1천억원 이상인 자
+
ii) 매장면적(매장의 바닥면적에 95/100를 곱하여 산출된 면적)의 합계가 3천㎡ 이상인 점포를 소매업에 사용하는 자
+
▶ 납품업자등이란, 대규모유통업자가 판매할 상품을 공급하는 납품업자와 대규모유통업자로부터 매장의 일부를 임차하여 소비자가 사용하는 상품의 판매에 사용하고 그 대가를 대규모유통업자에게 지급하는 형태의 거래를 하는 매장임차인
+
+ +
+
+ +

조정신청의 대상에서 제외되는 행위

+
+ 그 외 조정신청 대상에서 제외되는 행위는 다음과 같습니다 +
+
1. 대규모유통업자와의 거래가 아닌 경우
+
2. 대규모유통업자가 납품업자 또는 매장임차인에 대하여 거래상 우월한 지위에 있다고 인정되지 아니하는 거래
+
+

* 유통시장의 구조, 소비자의 소비 실태, 사업 능력의 격차, 거래의존도, 거래 대상이 되는 상품의 특성 등을 종합적으로 고려하여 판단

+
+ +
+ + +
+

약관 분쟁조정 대상이 되는 거래 유형

+
+ 약관 분쟁조정 신청 안내 +

공정거래조정원에 조정신청을 하기 위해서는 원칙적으로약관의 규제에 관한 법률(약관법) 제17조에 위반하거나 이와 법률상 쟁점이 공통되는 약관으로 인한 피해가 있어야 합니다. 조정신청 대상이 되는 불공정약관조항은 다음과 같습니다

+
+ +
1. 신의성실의 원칙(제6조)
+
(1) 고객에게 부당하게 불리한 경우
+
(2) 고객이 예상하기 어려운 경우
+
(3) 고객의 본질적 권리 제한
+
2. 사업자 면책 조항(제7조)
+
(1) 사업자의 고의·중과실로 인한 법률상의 책임 배제
+
(2) 상당한 이유 없이 사업자의 손해배상범위를 제한하거나 위험을 고객에게 전가
+
(3) 상당한 이유 없이 사업자의 담보책임을 배제·제한하거나 고객의 권리행사요건을 가중
+
(4) 상당한 이유 없이 견본 제시된 내용에 대한 책임 배제·제한
+
3. 과도한 손해배상액의 예정·예정 조항(제8조)
+
- 고객에게 부당하게 과중한 손해배상의무를 부담시키는 경우
+
4. 사업자의 부당한 계약 해제·해지권 제한 조항(제9조)
+
(1) 고객의 법률상 해제·해지권을 배제·제한
+
(2) 사업자에게 법률에서 규정하지 않은 해제·해지권을 부여
+
(3) 사업자의 법률상 해제·해지권의 행사요건 완화
+
(4) 상당한 이유 없이 고객의 원상회복의무를 과중하게 부담시키거나 고객의 원상회복청구권을 부당하게 포기하도록 하는 경우
+
(5) 사업자의 원상회복의무 또는 손해배상의무를 부당하게 경감하는 경우
+
(6) 계속적 계약의 존속기간을 부당하게 단기 또는 장기로 정하거나 묵시적인 기간연장 또는 갱신이 가능하도록 하는 경우
+
5. 채무 이행 관련 조항(제10조)
+
(1) 상당한 이유 없이 사업자에게 급부 내용의 일방적인 결정·변경 권한을 부여
+
(2) 상당한 이유 없이 사업자의 채무를 일방적으로 중지하거나 제3자에게 대행할 수 있게 하는 경우
+
6. 고객의 권익 보호 관련 조항(제11조)
+
(1) 상당한 이유 없이 고객의 항변권, 상계권 등 법률상의 권리를 배제·제한
+
(2) 상당한 이유 없이 고객의 기한의 이익 박탈
+
(3) 고객의 제3자와의 계약 체결을 부당하게 제한
+
(4) 사업자가 업무상 알게된 고객의 비밀을 정당한 이유 없이 누설하는 것을 허용
+
7. 의사표시의 의제 조항(제12조)
+
(1) 일정한 작위·부작위가 있을 경우 고객의 의사표시 표명 또는 불표명으로 간주
+
(2) 고객의 의사표시의 형식이나 요건을 부당하게 제한
+
(3) 상당한 이유 없이 사업자의 의사표시가 고객에게 도달된 것으로 간주
+
(4) 사업자의 의사표시 기한을 부당하게 장기·불확정하게 정하는 경우
+
8. 대리인의 책임 가중 조항(제13조)
+
- 고객의 의무불이행시 대리인에게 의무 이행책임을 부담시키는 경우
+
9. 소송상 권리의 제한 조항(제14조)
+
(1) 고객에게 부당하게 불리한 소송제기 금지
+
(2) 고객에게 부당하게 불리한 재판관할의 합의
+
(3) 상당한 이유 없이 고객에게 입증책임을 부담시키는 경우
+
+
+ +

조정신청의 대상에서 제외되는 행위

+
+ 그 외 조정신청 대상에서 제외되는 행위는 다음과 같습니다 +
+
1. 분쟁조정 신청이 있기 이전에 공정거래위원회가 조사 중인 사건
+
2. 분쟁조정 신청의 내용이 약관의 해석이나 그 이행을 요구하는 사건
+
3. 약관의 무효판정을 요구하는 사건
+
4. 해당 분쟁조정사항에 대하여 법원에 소를 제기한 사건
+
5. 고객과 사업자 간에 분쟁해결이나 피해보상에 관한 합의가 이루어진 사건
+
6. 「중재법」에 따라 중재가 진행 중이거나 신청된 사건
+
7. 고객이 소비자기본법 제2조 제1호에 따른 소비자인 경우
+
+

소비자 피해 구제는 본 조정원의 조정 대상이 아니므로, 한국소비자원(www.kca.go.kr, 043-880-5500)으로 문의하여 주시기 바랍니다.

+
+ +
+ + +
+

대리점 분쟁조정 대상이 되는 거래 유형

+
+ 대리점 분쟁조정 신청 안내 +

공정거래조정원에 조정신청을 하기 위해서는 원칙적으로대리점거래 공정화에 관한 법률(대리점법) 제5조부터 제12조까지의 규정과 관련한 분쟁이어야 합니다. 조정신청 대상이 되는 불공정거래행위는 다음과 같습니다

+
+
1. 대리점거래 계약서 작성의무(제5조)
+
(1) 대리점 계약서를 작성하지 아니한 행위
+
(2) 대리점 게약서에 대리점법 제5조 제1항 제1호 상의 사항이 명시되지 아니한 행위
+
2. 구입강제 행위 금지(제6조)
+
(1) 대리점이 특정 상품 또는 용역을 주문하도록 강요하거나 주문할 수 밖에 없는 상황을 조성하여 구입을 강제하는 행위
+
(2) 대리점의 주문내용을 일방적으로 수정하여 대리점이 구입할 의사가 없는 상품 또는 용역을 공급하는 행위
+
(3) 그 밖에 대리점의 의사에 반하여 상품 또는 용역을 구입하도록 강제하는 행위로서 공정거래위원회가 정하여 고시하는 행위
+
3. 경제상 이익 제공 강요행위의 금지(제7조)
+
(1) 공급업자의 필요에 따라 판매촉진행사를 실시하면서 그 비용ㆍ인력 등을 대리점이 부담하도록 강요하는 행위
+
(2) 공급업자가 고용한 임직원 인건비의 전부 또는 일부를 대리점이 부담하도록 강요하는 행위
+
(3) 대리점이 고용한 임직원을 공급업자의 사업장 또는 공급업자가 지정한 사업장 등의 장소에서 근무하도록 강요하는 행위
+
(4) 기부금, 협찬금 등 그 명칭과 관계없이 대리점거래와 무관한 경제상 이익의 제공을 강요하는 행위
+
(5) 그 밖에 대리점의 의사에 반하여 대리점으로 하여금 금전ㆍ물품ㆍ용역, 그 밖의 경제상 이익을 제공하도록 강요하는 행위로서 공정거래위원회가 정하여 고시하는 행위
+
4. 판매목표 강제 행위의 금지(제8조)
+
(1) 대리점 계약을 중도에 해지하는 행위, 상품 또는 용역의 공급을 중단하는 행위, 대리점에 지급하여야 하는 금액의 전부 또는 일부를 지급하지 아니하는 행위 등을 하거나 하겠다는 의사를 표시함으로써 대리점에 공급업자가 공급하는 상품 또는 용역의 판매목표 달성을 강제하는 행위
+
(2) 그 밖에 대리점의 정상적인 영업을 방해하는 불이익을 주는 행위로서 공정거래위원회가 정하여 고시하는 행위
+
5. 불이익 제공행위의 금지(제9조)
+
(1) 계약서 내용에 관하여 공급업자와 대리점의 의견이 일치하지 아니하는 경우 공급업자의 해석에 따르도록 하는 계약을 체결하는 행위
+
(2) 계약 기간 중에 대리점의 의사에 반하여 거래조건을 추가하여 변경하는 행위
+
(3) 계약의 전부 또는 일부를 해지하더라도 대리점이 손해배상을 청구할 수 없도록 하는 행위
+
(4) 합리적인 이유 없이 상품 또는 용역의 공급이나 대리점과 약정한 영업지원을 중단하거나 제한하는 행위
+
(5) 대리점거래 계약서 상의 판매장려금 지급 제한 사유에 해당하지 아니함에도 불구하고 판매장려금을 삭감하거나 지급하지 아니하는 행위
+
(6) 대리점에 임대한 장비나 비품이 대리점의 귀책사유로 손실, 훼손된 경우 감가상각을 고려하지 아니한 가격으로 대리점이 변상하도록 하는 행위
+
(7) 공급업자의 귀책사유로 상품이 파손되거나 훼손되었음에도 불구하고 반품을 거부하는 행위
+
(8) 공급업자의 귀책사유로 인한 반품임에도 불구하고 운송비 등 반품에 드는 비용을 대리점에 부담하게 하는 행위
+
(9) 그 밖에 대리점에 불이익이 되도록 거래조건을 설정 또는 변경하거나 그 이행과정에서 대리점에 불이익을 주는 행위로서 공정거래위원회가 정하여 고시하는 행위
+
6. 경영활동 간섭 금지(제10조)
+
(1) 대리점이 임직원 등을 선임 또는 해임하거나 임직원 등의 근무지역 또는 근무조건을 결정하는 경우 공급업자의 사전 지시 또는 사후 승낙을 받도록 하는 행위
+
(2) 합리적인 이유 없이 대리점에 거래처 현황, 매출 내역 등 영업상 비밀에 해당하는 정보를 제공하도록 요구하는 행위
+
(3) 대리점의 거래처, 영업시간, 영업지역, 판촉활동 등을 공급업자가 일방적으로 정하여 이행을 요구하는 행위
+
(4) 그 밖에 대리점이 독자적으로 의사결정을 하고 수행하여야 하는 경영활동에 간섭하는 행위로서 공정거래위원회가 정하여 고시하는 행위
+
7. 주문내역의 확인요청 거부 또는 회피 금지(제11조)
+
- 대리점이 청약 또는 구입의사를 표시한 제품, 수량 등 주문내역의 정당한 확인요청에 대하여 이를 거부 또는 회피하는 행위
+
8. 보복조치의 금지(제12조)
+
- 분쟁조정 신청, 공정거래위원회 신고 또는 조사절차 협조 등을 이유로 거래 정지 또는 물량 축소, 그 밖에 불이익을 주는 행위
+
+
+ +

조정신청의 대상에서 제외되는 행위

+
+ 그 외 조정신청 대상에서 제외되는 행위는 다음과 같습니다 +
+
1. 분쟁조정 신청이 있기 이전에 공정거래위원회가 조사 중인 사건
+
2. 분쟁조정 신청내용이 대리점법 적용 대상이 아닌 경우
+
3. 조정신청의 내용과 직접적인 이해관계가 없는 자가 조정신청을 한 경우
+
4. 해당 분쟁조정사항에 대하여 법원에 소를 제기한 경우
+
5. 고객과 사업자 간에 분쟁해결이나 피해보상에 관한 합의가 이루어진 사건
+
6. 「중재법」에 따라 중재가 진행 중이거나 신청된 사건
+
+

소비자 피해 구제는 본 조정원의 조정 대상이 아니므로, 한국소비자원(www.kca.go.kr, 043-880-5500)으로 문의하여 주시기 바랍니다.

+
+
+ +
+ + +
+ +
+

참고로, 귀사가 본 내용을 임의로 제3자에게 제공할 경우 분쟁당사자 상대방의 기업비밀 등이
공개되어 피해가 발생할 수 있으니 주의를 부탁드립니다.

+
+ +
+ +
+ +
+ +
+
+
+ +<%-- <c:out escapeXml='true' value='${siteMenuTitle}'/> @@ -753,4 +1295,4 @@ - \ No newline at end of file + --%> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/myPage/myCheck.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/myPage/myCheck.jsp index 45dd4902..42b8348f 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/web/user/myPage/myCheck.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/myPage/myCheck.jsp @@ -11,6 +11,7 @@ + +
본인인증은 본인 명의의 휴대폰 인증을 통해서만 가능하며, 사업자 대표가 아닌 자(소속 임직원, 법무법인, 친인척 등)가
신청하는 경우 추후 조정절차 과정에서 추가로 관련 자료의 제출 요구를 받으실 수 있습니다. diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index a5cc650c..468cc905 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -68,6 +68,7 @@
+ diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp index bd5c76b7..560e0f04 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp @@ -53,6 +53,7 @@ content="default-src * self blob: data: gap:; style-src * self 'unsafe-inline' b + @@ -61,6 +62,19 @@ content="default-src * self blob: data: gap:; style-src * self 'unsafe-inline' b + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/xxx/devCiMakePop.jsp b/src/main/webapp/WEB-INF/jsp/web/xxx/devCiMakePop.jsp new file mode 100644 index 00000000..6c7869e8 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/xxx/devCiMakePop.jsp @@ -0,0 +1,40 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + + + + +
+ ci값 :: +
+ 휴대폰번호 :: +
+ + +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/xxx/xxxCert.jsp b/src/main/webapp/WEB-INF/jsp/web/xxx/xxxCert.jsp deleted file mode 100644 index eab133d5..00000000 --- a/src/main/webapp/WEB-INF/jsp/web/xxx/xxxCert.jsp +++ /dev/null @@ -1,97 +0,0 @@ -<%@ page contentType="text/html; charset=utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> - - - - - - -
-

분쟁조정 관련 서식

- -
-
-

- 본인인증 -

- -
- - - -
-
-
-
- - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index cefdb5a4..d78050dd 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -46,14 +46,14 @@ - - SessionCheckCustomFilter - kcc.let.uat.uia.web.SessionCheckCustomFilter - - - SessionCheckCustomFilter - *.do - + + + + + + + +