package itn.let.mjo.msgagent.web; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import itn.com.cmm.ComDefaultCodeVO; import itn.com.cmm.LoginVO; import itn.com.cmm.service.CmmnDetailCode; import itn.com.cmm.service.EgovCmmUseService; import itn.com.cmm.util.RedirectUrlMaker; import itn.com.cmm.util.StringUtil; import itn.com.utl.fcc.service.EgovStringUtil; import itn.let.mjo.conf.service.MjonConfService; import itn.let.mjo.conf.service.MjonConfVO; import itn.let.mjo.msgagent.service.MjonMsgAgentStsService; import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO; @Controller public class MjonMsgAgentStsController { /** cmmUseService */ @Resource(name = "EgovCmmUseService") private EgovCmmUseService cmmUseService; @Resource(name = "mjonMsgAgentStsService") private MjonMsgAgentStsService mjonMsgAgentStsService; @Resource(name = "mjonConfService") private MjonConfService mjonConfService; /** * @Method Name : selectMjonMsgAgentStsDataView * @작성일 : 2022. 10. 6. * @작성자 : WYH * @Method 설명 : 전송사별 전송 비율 설정 화면 */ @RequestMapping(value={"/let/mjo/msgagent/selectMjonMsgAgentStsDataView.do"}) public String selectMjonMsgAgentStsDataView(HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes, ModelMap model) throws Exception{ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(StringUtil.isEmpty(userId)) { redirectAttributes.addFlashAttribute("message", "로그인 정보가 없습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uat/uia/EgovLoginUsr.do"); return redirectUrlMaker.getRedirectUrl(); } /* 공통코드 조회 */ ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("ITN019"); List frwrdAgent = cmmUseService.selectCmmCodeDetail(vo); model.addAttribute("frwrdAgent", frwrdAgent); List agentList = mjonMsgAgentStsService.selectMjonMsgAgentStsList(); model.addAttribute("agentList", agentList); MjonConfVO confVO = mjonConfService.selectConfDetail("CONF01"); model.addAttribute("confVO", confVO); return "agent/MjonMsgAgentStsUpdate"; } /** * @Method Name : updateMjonMsgAgentStsData * @작성일 : 2022. 10. 6. * @작성자 : WYH * @Method 설명 : 전송사별 전송 비율 수정 */ @RequestMapping(value={"/let/mjo/msgagent/updateMjonMsgAgentStsData.do"}) public String updateMjonMsgAgentStsData(MjonMsgAgentStsVO mjonMsgAgentStsVO, RedirectAttributes redirectAttributes , ModelMap model) throws Exception{ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(StringUtil.isEmpty(userId)) { redirectAttributes.addFlashAttribute("message", "로그인 정보가 없습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uat/uia/EgovLoginUsr.do"); return redirectUrlMaker.getRedirectUrl(); } mjonMsgAgentStsVO.setLastUpdusrId(userId); int result = mjonMsgAgentStsService.updateMjonMsgAgentStsData(mjonMsgAgentStsVO); if(result > 0) { redirectAttributes.addFlashAttribute("message", "수정이 완료되었습니다."); }else { redirectAttributes.addFlashAttribute("message", "수정이 실패되었습니다."); } RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/let/mjo/msgagent/selectMjonMsgAgentStsDataView.do"); return redirectUrlMaker.getRedirectUrl(); } /** * @Method Name : insertMjonMsgAgentStsDataAjax * @작성일 : 2022. 10. 6. * @작성자 : WYH * @Method 설명 : 전송사별 전송비율 등록 */ @RequestMapping(value = "/let/mjo/msgagent/insertMjonMsgAgentStsDataAjax.do") public ModelAndView insertMjonMsgAgentStsDataAjax(@ModelAttribute MjonMsgAgentStsVO mjonMsgAgentStsVO , Model model) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); try { LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(StringUtil.isEmpty(userId)) { modelAndView.addObject("message", "로그인 정보가 없습니다."); modelAndView.addObject("result", "fail"); modelAndView.setViewName("redirect:/uat/uia/EgovLoginUsr.do"); return modelAndView; } mjonMsgAgentStsVO.setUserId(loginVO.getId()); //등록전 문자발송 Agent 등록여부 확인 int insertCheck = 0; insertCheck = mjonMsgAgentStsService.selectMjonMsgAgentStsData(mjonMsgAgentStsVO); if(insertCheck != 0) { String message = "이미 등록되어 있는 Agent입니다."; modelAndView.addObject("message", message); modelAndView.addObject("result", "fail"); return modelAndView; }else { mjonMsgAgentStsService.insertMjonMsgAgentStsData(mjonMsgAgentStsVO); modelAndView.addObject("result", "success"); } }catch (Exception e) { modelAndView.addObject("message", "다시 시도 부탁드립니다."); modelAndView.addObject("result", "fail"); } return modelAndView; } /** * @Method Name : selectMjonMsgAgentStsDataView * @작성일 : 2023. 02. 27. * @작성자 : JSP * @Method 설명 : 전송사별 테스트 문자발송 화면 */ @RequestMapping(value={"/let/mjo/msgagent/selectMjonMsgAgentSendView.do"}) public String selectMjonMsgAgentSendView(HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes, ModelMap model) throws Exception{ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(StringUtil.isEmpty(userId)) { redirectAttributes.addFlashAttribute("message", "로그인 정보가 없습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uat/uia/EgovLoginUsr.do"); return redirectUrlMaker.getRedirectUrl(); } return "agent/MjonMsgAgentSend"; } /** * @Method Name : selectMjonMsgAgentStsDataView * @작성일 : 2023. 05. 22. * @작성자 : Hans * @Method 설명 : 전송사별 전송 비율 다건 설정 화면 */ @RequestMapping(value={"/let/mjo/msgagent/selectMjonMsgAgentStsMultiList.do"}) public String selectMjonMsgAgentStsMultiList(@ModelAttribute("searchVO") MjonMsgAgentStsVO mjonMsgAgentStsVO, HttpServletRequest request, ModelMap model) throws Exception{ // public String selectMjonMsgAgentStsMultiList(HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes, ModelMap model) throws Exception{ System.out.println("ctr mjonMsgAgentStsVO.getSearchUseYn()1:" + mjonMsgAgentStsVO.getSearchUseYn()); if (mjonMsgAgentStsVO.getSearchUseYn()==null ) // 최초 조회시 null 이고 , 전체 선택시 '-' 로 전달 됨. , 즉 최초 조회시에는 사용여부='Y'만 조회 { mjonMsgAgentStsVO.setSearchUseYn("Y"); } else if ("-".equals(mjonMsgAgentStsVO.getSearchUseYn().toString())) // 전체 선택시 사용여부를 null로 하여 전체 조회 하도록 함. { mjonMsgAgentStsVO.setSearchUseYn(""); } System.out.println("ctr mjonMsgAgentStsVO.getSearchUseYn()2:" + mjonMsgAgentStsVO.getSearchUseYn()); LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(StringUtil.isEmpty(userId)) { // redirectAttributes.addFlashAttribute("message", "로그인 정보가 없습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uat/uia/EgovLoginUsr.do"); return redirectUrlMaker.getRedirectUrl(); } /* 공통코드 조회 */ ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("ITN019"); List frwrdAgent = cmmUseService.selectCmmCodeDetail(vo); model.addAttribute("frwrdAgent", frwrdAgent); List agentList = mjonMsgAgentStsService.selectMjonMsgAgentStsMultiList(mjonMsgAgentStsVO); model.addAttribute("agentList", agentList); MjonConfVO confVO = mjonConfService.selectConfDetail("CONF01"); model.addAttribute("confVO", confVO); return "agent/MjonMsgAgentStsMultiUpdate"; } /** * @Method Name : updateMultiMjonMsgAgentStsData * @작성일 : 2023.05.19 * @작성자 : Hans * @Method 설명 : 전송사별 전송 비율 수정 */ /* @RequestMapping(value={"/let/mjo/msgagent/updateMultiMjonMsgAgentStsDataAjax.do"}) public ModelAndView updateMultiMjonMsgAgentStsDataAjax(@ModelAttribute("mjonMsgAgentStsVO") MjonMsgAgentStsVO mjonMsgAgentStsVO) throws Exception { //public ModelAndView updateMultiMjonMsgAgentStsData(@ModelAttribute MjonMsgAgentStsVO mjonMsgAgentStsVO, Model model) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; String msg = ""; // 로그인VO에서 사용자 정보 가져오기 //LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); // String frstRegisterId = loginVO == null ? "" : loginVO.getId(); mjonMsgAgentStsVO.setLastUpdtPnttm("ss"); // 최초등록자ID System.out.print("\n updateMultiMjonMsgAgentStsData 1==== \n"); System.out.print("updateMultiMjonMsgAgentStsData 2==== getSelectAgentCode: " + mjonMsgAgentStsVO.getSelectAgentCode() + ":===end=== \n"); System.out.print("mjonMsgAgentStsVO.getUseYns().size() 3==== : " + mjonMsgAgentStsVO.getUseYns().size() + ":===end===\n"); System.out.print("mjonMsgAgentStsVO.getMsgTypes().get(0) 4==== :" + mjonMsgAgentStsVO.getMsgTypes().get(0)+ ":===end===\n"); System.out.print("mjonMsgAgentStsVO.getSelectAgentCode() 5==== : " + mjonMsgAgentStsVO.getSelectAgentCode() + ":===end===\n"); System.out.print("mjonMsgAgentStsVO.getAgentCodes().size() 6 ==== : " +mjonMsgAgentStsVO.getAgentCodes().get(0) + ":===end===\n"); try{ for(int i = 0; i < mjonMsgAgentStsVO.getAgentCodes().size(); i++){ System.out.println("getAgentCodes: " + mjonMsgAgentStsVO.getAgentCodes().get(i)); // System.out.println("getMsgTypes: " + mjonMsgAgentStsVO.getMsgTypes().get(i)) ; } // 제목, 해쉬태그 일괄변경 System.out.print("==== updateMultiMjonMsgAgentStsDataAjax controller ==== \n"); mjonMsgAgentStsService.updateMjonMsgAgentStsDataList(mjonMsgAgentStsVO); // letterService.updateHashTagList(mjonMsgAgentStsVO); System.out.print("==== updateMultiMjonMsgAgentStsDataAjax controller try - catch ==== \n"); } catch(Exception e) { isSuccess = false; msg = e.getMessage(); } modelAndView.addObject("result", "success"); modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); System.out.println("modelAndView.getViewName(): " + modelAndView.getViewName()) ; return modelAndView; } */ }