package th.co.muangthai.endrprint.controller; import org.apache.log4j.Logger; import org.hibernate.cfg.Configuration; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import th.co.muangthai.endrprint.controller.service.LoginService; import th.co.muangthai.endrprint.model.bean.form.*; import th.co.muangthai.endrprint.model.bean.form.master.EndrUserLoginForm; import th.co.muangthai.endrprint.model.bean.master.EndrUserLoginBean; //import th.co.muangthai.endrprint.model.wfservice.MTLGetUrlService; //import th.co.muangthai.endrprint.model.wfservice.SearchPolicyDetailProxyService; import th.co.muangthai.endrprint.util.SessionUtil; import th.co.muangthai.endrprint.util.TextContent; import th.co.muangthai.endrprint.util.VSMUtil; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.*; /** * Login management */ @Controller public class LoginController extends AbstractMasterController { private Logger log = Logger.getLogger(LoginController.class); /** * Check Login * * @param request * @return Object[] */ @RequestMapping(value = "/LoginJsonController", method = RequestMethod.POST) public @ResponseBody Object[] searchGetLogin(HttpServletRequest request) { Object[] obj = new Object[2]; try { //log.info("LoginJsonController { " + SessionUtil.getIpClient()); log.info("LoginJsonController { "); //รับค่าจาก page String user = request.getParameter("user"); //แปลงค่าจาก เป็น Bean,List EndrUserLoginForm userBeans = mapper.readValue(user, EndrUserLoginForm.class); LoginService loginService = new LoginService(); EndrUserLoginForm loginBean = new EndrUserLoginForm(); loginBean.setUserId(userBeans.getUserId()); loginBean.setUserPassword(userBeans.getUserPassword()); EndrUserLoginForm userLogin = loginService.autherizeUser(loginBean); obj[0] = userLogin; obj[1] = SessionUtil.getSession().getAttribute("dv"); log.info("LoginJsonController }"); log.info("Login Id : " + obj[0]); return obj;//toStringJson(gsonData.toJson(obj)); } catch (Exception ex) { log.error(ex.toString(), ex); obj[0] = new EndrUserLoginForm(); } return obj; } /** * Check Login * * @param request * @return Object[] */ @RequestMapping(value = "/json/doCheckLogin", method = RequestMethod.POST) public @ResponseBody Object[] doCheckLogin(HttpServletRequest request) { Object[] obj = new Object[1]; try { obj[0] = SessionUtil.getSession().getAttribute("dv"); return obj;//toStringJson(gsonData.toJson(obj)); } catch (Exception ex) { log.error(ex.toString(), ex); obj[0] = new EndrUserLoginForm(); } return obj; } /** * get session * * @param request * @return Object[] */ @RequestMapping(value = "/json/getSessionLogin", method = RequestMethod.POST) public @ResponseBody Object[] getSessionLogin(HttpServletRequest request) { Object[] obj = new Object[4]; try { log.info("getSessionLogin {"); EndrUserLoginBean loginForm = SessionUtil.getUserLoginForm(); if (null != loginForm && null != loginForm.getUserId()) { //check admin EndrUserLoginForm user = commonService.searchUserLoginBeanByUserId(loginForm.getUserId(), null); obj[0] = loginForm; obj[1] = TextContent.DEPLOYMENT_VERSION; obj[2] = "anupong".equals(loginForm.getUserId()) ? true : false; // obj[2] = "anupong".equals(loginForm.getUserId()) || "mtl86903".equalsIgnoreCase(loginForm.getUserId()) ? true : false; obj[3] = user.getDepcode(); log.info("getSessionLogin }"); return obj; } obj[0] = 1; } catch (Exception ex) { log.error(ex.toString(), ex); obj[0] = 2; //ex.printStackTrace(); } return obj; } /** * logout clearSession * * @param request */ @RequestMapping(value = "/logoutJsonController", method = RequestMethod.POST) public void logout(HttpServletRequest request) { try { log.info("logoutJsonController"); VSMUtil.SystemPrintDebugMode("........................... {"); clearSession(request); VSMUtil.SystemPrintDebugMode("........................... }"); } catch (Exception ex) { // log.error(ex.toString(), ex); } } // /** // * Get Cookie // * // * @param request // * @param response // * @param ipAddress // * @return String // * @throws IOException // * @throws ServletException // */ // @RequestMapping(value = "/getCookieController", method = RequestMethod.POST) // public // @ResponseBody // String doGetCookie(HttpServletRequest request, HttpServletResponse response, String ipAddress) // throws IOException, ServletException { // String color = null; // // try { // // String classId = request.getParameter("classId"); // String flag = request.getParameter("flag"); // // Cookie[] cookies = request.getCookies(); // boolean foundCookie = false; // // for (int i = 0; i < cookies.length; i++) { // Cookie cookie1 = cookies[i]; // if (cookie1.getName().equals("color")) { // color = cookie1.getValue(); // //log.info("bgcolor = " + cookie1.getValue()); // //log.info("ip = " + cookie1.getValue()); // foundCookie = true; // } else if (cookie1.getName().equals("ip")) { // //log.info("ip = " + cookie1.getValue()); // foundCookie = true; // } // // } // // if (VSMUtil.isNotEmpty(ipAddress)) { // if (flag.equals("1")) { // Cookie cookie1 = new Cookie("color", VSMUtil.isNotEmpty(classId) ? classId : "pink"); // cookie1.setMaxAge(24 * 60 * 60); // response.addCookie(cookie1); // } // // if (!foundCookie) { // Cookie cookie2 = new Cookie("ip", ipAddress); // cookie2.setMaxAge(24 * 60 * 60); // response.addCookie(cookie2); // } // } // // } catch (Exception ex) { // // } // return color; // } // /** // * logout clearSession // * // * @param request // */ // @RequestMapping(value = "/callProcessWFMT", method = RequestMethod.POST) // public // @ResponseBody // Object[] doCallProcessWFMT(HttpServletRequest request) { // String applicationNo = "", url = ""; // try { // String policyNo = request.getParameter("policyNoParam"); // String documentType = request.getParameter("documentTypeParam"); // if (VSMUtil.isNotEmpty(policyNo)) { // SearchPolicyDetailProxyService wfService = new SearchPolicyDetailProxyService(); // applicationNo = wfService.querySearchPolicyDetail(policyNo); // // if (VSMUtil.isNotEmpty(applicationNo)) { // MTLGetUrlService getUrlService = new MTLGetUrlService(); // url = getUrlService.querySearchPolicyDetail(applicationNo, documentType); // } // } else { // // } // } catch (Exception ex) { //// log.error(ex.toString(), ex); // } // // return new Object[]{applicationNo, url}; // } }