From 1c1d7c326700a36dc0fe8fa065043c3a8c7da7e7 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 19 Dec 2024 14:01:47 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=ED=98=91?= =?UTF-8?q?=EC=9D=98=ED=9A=8C=EC=9C=84=EC=9B=90=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EC=9D=B8=EC=A6=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...uteResolutionCommitteeLoginController.java | 271 ++++++++++++++++++ .../service/CommonStatisticsServiceImpl.java | 3 + src/main/java/seed/utils/FairnetUtils.java | 16 ++ .../message/com/message-common_ko.properties | 3 +- src/main/webapp/WEB-INF/decorators.xml | 2 + .../user/trublcfrncmng/trublcfrncmngLogin.jsp | 4 +- .../user/trublcfrncmng/trublcfrncmngView.jsp | 2 +- .../web/user/onlineCounsel/lawWrite.jsp | 4 +- 8 files changed, 299 insertions(+), 6 deletions(-) create mode 100644 src/main/java/seed/com/user/login/web/WebDisputeResolutionCommitteeLoginController.java diff --git a/src/main/java/seed/com/user/login/web/WebDisputeResolutionCommitteeLoginController.java b/src/main/java/seed/com/user/login/web/WebDisputeResolutionCommitteeLoginController.java new file mode 100644 index 00000000..7aa4f714 --- /dev/null +++ b/src/main/java/seed/com/user/login/web/WebDisputeResolutionCommitteeLoginController.java @@ -0,0 +1,271 @@ +package seed.com.user.login.web; + +import java.net.InetAddress; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +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.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; + +import seed.com.user.login.service.DisputeResolutionCommitteeAttendanceRateVO; +import seed.com.user.login.service.DisputeResolutionCommitteeService; +import seed.com.user.login.service.DisputeResolutionCommitteeVO; +import seed.manager.group.service.ManagerGroupService; +import seed.manager.member.service.ManagerMemberService; +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; + +@Controller +public class WebDisputeResolutionCommitteeLoginController { + + private Logger log = Logger.getLogger(this.getClass()); + + @Autowired + private ManagerSiteMenuService managerSiteMenuService; + + @Autowired + private ManagerSiteManagerService managerSiteManagerService; + + @Autowired + private ManagerMemberService managerMemberService; + + @Autowired + private ManagerSiteMenuManagerService managerSiteMenuManagerService; + + @Autowired + private ManagerSiteMenuAuthService managerSiteMenuAuthService; + + @Autowired + private ManagerGroupService managerGroupService; + + @Autowired + private DisputeResolutionCommitteeService disputeResolutionCommitteeService; + + + + @Value("#{config['member.merge']}") + private String memberMerge; + + @Value("#{config['member.merge.siteIdx']}") + private String memberMergeSiteIdx; + + @Value("#{config['was.session.time']}") + private Integer wasSessionTime; + + public void setSessionRemove(HttpSession session){ + session.removeAttribute("url"); + session.removeAttribute("message"); + session.removeAttribute("opener"); + session.removeAttribute("append"); + session.removeAttribute("self"); + } + + public void setSessionMessageRemove(HttpSession session){ + session.removeAttribute("url"); + session.removeAttribute("message"); + session.removeAttribute("opener"); + session.removeAttribute("append"); + session.removeAttribute("self"); + } + + + //협의회 로그인화면. + @RequestMapping("/web/user/{siteIdx}/{siteMenuIdx}/login.do") + public ModelAndView getLogin(ModelMap map, HttpSession session, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx + ){ + + //여기서부터 작업할거 + + return new ModelAndView("/_extra/user/trublcfrncmng/trublcfrncmngLogin"); + } + + + //분쟁조정위원 로그인로직. + @RequestMapping(value="/web/user/proc/{siteIdx}/ResolutionCommittee/loginProc.do") + public ModelAndView actionCaseDisputeResolutionCommitteeLoginProc( + HttpSession session, + HttpServletRequest request, + HttpServletResponse response, + Map map, + @ModelAttribute("disputeResolutionCommitteeVO") DisputeResolutionCommitteeVO disputeResolutionCommitteeVO, + @PathVariable(value="siteIdx") String siteIdx + ) throws Exception { + + + this.setSessionRemove(session); + String memberNo = SeedUtils.setReplaceNull(session.getAttribute("memberNo"),"0"); + System.out.println("test1"); + HttpServletRequest httpRequest = (HttpServletRequest)request; + session = httpRequest.getSession(); + System.out.println("test12"); + //입력받은 비밀번호를 복호화 후 voSET + String strCode = SeedUtils.getSeedMD5Code(disputeResolutionCommitteeVO.getMemberPwd()); + String memberPw = SeedUtils.getSeedSHA256Code(strCode); + disputeResolutionCommitteeVO.setMemberPwd(memberPw); + System.out.println("test13"); + // 1. 일반 로그인 처리 + DisputeResolutionCommitteeVO resultVO = disputeResolutionCommitteeService.resolutionCommitteeLogin(disputeResolutionCommitteeVO); + System.out.println("test14"); + InetAddress local = InetAddress.getLocalHost(); + String memberIp = local.getHostAddress(); + //비밀번호 변경 + /*if(resultVO != null && resultVO.getUserSe() != null && resultVO.getUserSe().equals("PASSWORD_CHANGE")){ + LOG.debug("PASSWORD_CHANGE -> getWebUserId:" + resultVO.getWebUserId()); + request.getSession().setAttribute("SESS_PASSWORD_CHANGE", resultVO.getWebUserId()); + return "/main"; + }*/ + System.out.println("test15"); + + if (resultVO != null && resultVO.getMemberId() != null && !resultVO.getMemberPwd().equals("")) {//로그인 성공 + + //userLoginService.setLoginProc(Integer.parseInt(disputeResolutionCommitteeVO.getMemberNo()), memberIp); + + //if(resultVO.getMemberIp().equals(memberIp)){ + + boolean isSuccess = disputeResolutionCommitteeService.resolutionCommitteeLoginLog(resultVO); + + if(isSuccess){ + + //세션타임 설정 + session.setMaxInactiveInterval(60*wasSessionTime); + session.setAttribute("memberIdx", resultVO.getMemberNo()); + session.setAttribute("memberId", resultVO.getMemberId()); + session.setAttribute("memberName", resultVO.getMemberName()); + session.setAttribute("memberDept", resultVO.getMemberDept()); + session.setAttribute("memberTel", resultVO.getMemberTel()); + session.setAttribute("memberPhone", resultVO.getMemberHp()); + + String email = resultVO.getMemberEmail(); + String email1 = ""; + String email2 = ""; + int i = email.indexOf("@"); + email1 = email.substring(0,i); + email2 = email.substring(i+1); + session.setAttribute("memberEmail1", resultVO.getMemberEmail()); + session.setAttribute("memberEmail2", resultVO.getMemberEmail()); + + + + session.setAttribute("memberIp", resultVO.getMemberIp()); + + map.put("message", "common.message.login.success"); + map.put("url", "/web/user/case/203/disputeResolutionCommitteeDet.do"); + + }else{ + map.put("message", "(message)로그인 db실패."); + map.put("url", "/user/case/202/login.do"); + } + + + + //}else if(resultVO.getMemberIp().equals("-")){ + //map.put("message", "(message)접근가능한 아이피주소가등록되지않았습니다."); + //map.put("url", "/user/case/202/login.do"); + + //}else{ + //map.put("message", "(message)접근이 허가된 아이피주소가 아닙니다."); + //map.put("url", "/user/case/202/login.do"); + //} + + }else{ //로그인 실패 (아이디나 비밀번호 확인) + map.put("message", "(message)아이디 또는 패스워드를 확인하세요."); + map.put("url", "/user/case/202/login.do"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + + //협의회 로그인화면. + @RequestMapping("/web/user/{siteIdx}/{siteMenuIdx}/disputeResolutionCommitteeDet.do") + public ModelAndView disputeResolutionCommitteePage(ModelMap map, HttpSession session, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("disputeResolutionCommitteeVO") DisputeResolutionCommitteeVO disputeResolutionCommitteeVO, + @RequestParam Map commandMap, + @ModelAttribute("disputeResolutionCommitteeAttendanceRateVO") DisputeResolutionCommitteeAttendanceRateVO disputeResolutionCommitteeAttendanceRateVO + ){ + + if(!FairnetUtils.cmLoginCheck(map, session)) { + return new ModelAndView("/_common/jsp/umessage"); + } + + System.out.println("1"); + + //여기서부터 작업할거 + String memberNo = (String)session.getAttribute("memberIdx"); + + System.out.println("12"); + + //1.사건명칭을 어떤것을 넣어야하는지 확인해주세요. + //2.참석현황 예시 > (2/4회, 50%) 작업필요합니다. + disputeResolutionCommitteeVO = disputeResolutionCommitteeService.resolutionCommitteeInfo(memberNo); + + System.out.println("13="); + System.out.println("13="+memberNo); + + //참석률 + //disputeResolutionCommitteeAttendanceRateVO =disputeResolutionCommitteeService.resolutionCommitteeRate(session.getAttribute("memberIdx").toString()); + disputeResolutionCommitteeAttendanceRateVO =disputeResolutionCommitteeService.resolutionCommitteeRate(memberNo); + + System.out.println("14"); + + ModelAndView mav = new ModelAndView(); + mav.addObject("drcVO", disputeResolutionCommitteeVO); + mav.addObject("rateVO", disputeResolutionCommitteeAttendanceRateVO); + mav.setViewName("/_extra/user/trublcfrncmng/trublcfrncmngView"); + + System.out.println("15"); + + return mav; + } + + @RequestMapping(value = "/web/user/proc/{siteIdx}/{siteMenuIdx}/logoutDRC_Proc.do", method=RequestMethod.GET) + public ModelAndView getLogoutProc(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + setSessionRemove(session); + //session.invalidate(); + session.removeAttribute("memberIdx"); + session.removeAttribute("memberId"); + session.removeAttribute("memberName"); + session.removeAttribute("memberDept"); + session.removeAttribute("memberTel"); + session.removeAttribute("memberPhone"); + session.removeAttribute("memberEmail1"); + session.removeAttribute("memberEmail2"); + + 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", ""); + map.put("message", "common.message.logout.success"); + + //위치이동은 변경하세요. + map.put("url", "/user/case/202/login.do"); + return new ModelAndView("/_common/jsp/umessage"); + } + + +} diff --git a/src/main/java/seed/common/service/CommonStatisticsServiceImpl.java b/src/main/java/seed/common/service/CommonStatisticsServiceImpl.java index 9d9cb68e..4473ab2f 100644 --- a/src/main/java/seed/common/service/CommonStatisticsServiceImpl.java +++ b/src/main/java/seed/common/service/CommonStatisticsServiceImpl.java @@ -179,6 +179,9 @@ public class CommonStatisticsServiceImpl extends AbstractServiceImpl implements }else if(pageUrl.indexOf("/login") >= 0 || pageUrl.indexOf("/member") >= 0 || pageUrl.indexOf("/jsp/LayOutPage.do") >= 0){ siteIdx = pageUrls[2]; siteMenuIdx = pageUrls[3]; + }else if(pageUrl.indexOf("/web") >= 0 || pageUrl.indexOf("/user") >= 0 || pageUrl.indexOf("/case") >= 0){ + siteIdx = pageUrls[2]; + siteMenuIdx = pageUrls[3]; }else{ siteIdx = pageUrls[3]; siteMenuIdx = pageUrls[5]; diff --git a/src/main/java/seed/utils/FairnetUtils.java b/src/main/java/seed/utils/FairnetUtils.java index bf19126d..23f9568b 100644 --- a/src/main/java/seed/utils/FairnetUtils.java +++ b/src/main/java/seed/utils/FairnetUtils.java @@ -763,4 +763,20 @@ public class FairnetUtils { } return true; } + + //분쟁조정위원(협의회) 로그인 체크 + public static Boolean cmLoginCheck(ModelMap map, HttpSession session) { + String memberIdx = SeedUtils.setReplaceNull(session.getAttribute("memberIdx")); + if("".equals(memberIdx)){ + map.put("siteIdx", "case"); + map.put("url", "/web/user/case/202/login.do"); + map.put("message", "user.message.cmLoginCheck.alert"); + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + + return false; + } + return true; + } } \ No newline at end of file diff --git a/src/main/resources/egovframework/message/com/message-common_ko.properties b/src/main/resources/egovframework/message/com/message-common_ko.properties index d9ae158f..218d5dd1 100644 --- a/src/main/resources/egovframework/message/com/message-common_ko.properties +++ b/src/main/resources/egovframework/message/com/message-common_ko.properties @@ -3167,4 +3167,5 @@ common.confirm.cancle=\uc2b9\uc778\ucde8\uc18c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. -user.message.medi.ci.alert=\ubcf8\uc778\uc778\uc99d\uc744 \uc9c4\ud589\ud574 \uc8fc\uc138\uc694 \ No newline at end of file +user.message.medi.ci.alert=\ubcf8\uc778\uc778\uc99d\uc744 \uc9c4\ud589\ud574 \uc8fc\uc138\uc694 +user.message.cmLoginCheck.alert=\ub85c\uadf8\uc778\uc744 \uc9c4\ud589\ud574 \uc8fc\uc138\uc694 diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index 43606046..0296d3ad 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -85,6 +85,8 @@ */gtm/case/trublprocessmng/fileHistoryPop/jsp/Page.do* + */web/user/*20*.do* + */web/user/proc/case/ResolutionCommittee/loginProc.do* diff --git a/src/main/webapp/WEB-INF/jsp/_extra/user/trublcfrncmng/trublcfrncmngLogin.jsp b/src/main/webapp/WEB-INF/jsp/_extra/user/trublcfrncmng/trublcfrncmngLogin.jsp index 0cb3fc23..fe448bb8 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/user/trublcfrncmng/trublcfrncmngLogin.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/user/trublcfrncmng/trublcfrncmngLogin.jsp @@ -48,8 +48,8 @@ - - + +