MobileLoginController.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package com.lemon.lifecenter.controller;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import org.json.JSONObject;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Controller;
  10. import org.springframework.web.bind.annotation.ModelAttribute;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12. import org.springframework.web.bind.annotation.RequestMethod;
  13. import org.springframework.web.bind.annotation.ResponseBody;
  14. import org.springframework.web.servlet.ModelAndView;
  15. import com.lemon.lifecenter.common.LifeCenterController;
  16. import com.lemon.lifecenter.common.LifeCenterFunction;
  17. import com.lemon.lifecenter.common.LifeCenterSessionController;
  18. import com.lemon.lifecenter.dto.AcceptDTO;
  19. import com.lemon.lifecenter.dto.CenterInfoDTO;
  20. import com.lemon.lifecenter.dto.LocationDTO;
  21. import com.lemon.lifecenter.dto.PatientDTO;
  22. import com.lemon.lifecenter.service.AcceptService;
  23. import com.lemon.lifecenter.service.CenterService;
  24. import com.lemon.lifecenter.service.DeviceService;
  25. import com.lemon.lifecenter.service.MobilePatientService;
  26. import com.lemon.lifecenter.service.StaffService;
  27. @Controller
  28. @RequestMapping("/mobile")
  29. public class MobileLoginController extends LifeCenterController {
  30. private final Logger logger = LoggerFactory.getLogger(this.getClass());
  31. @Autowired
  32. private StaffService memberService;
  33. @Autowired
  34. private CenterService centerService;
  35. @Autowired
  36. private MobilePatientService patientService;
  37. @Autowired
  38. private DeviceService deviceService;
  39. @Autowired
  40. private AcceptService acceptService;
  41. @RequestMapping("/login")
  42. public ModelAndView login() {
  43. List<LocationDTO> locationList = centerService.selectLocation();
  44. List<CenterInfoDTO> centerList = memberService.selectCenterList();
  45. ModelAndView mv = setMobileMV("login/login");
  46. mv.addObject("locationList", locationList);
  47. mv.addObject("centerList", centerList);
  48. return mv;
  49. }
  50. @RequestMapping( value="/check", method = RequestMethod.POST )
  51. @ResponseBody
  52. public String loginCheck(
  53. @ModelAttribute("dto") PatientDTO dto,
  54. HttpServletRequest request, HttpServletResponse response) throws Exception {
  55. String resultCode = "99";
  56. String message = "";
  57. JSONObject object = new JSONObject();
  58. // dto.setPw(LifeCenterFunction.aesEncrypt(config.aesKey, config.IV, dto.getPw()));
  59. dto.setPw( LifeCenterFunction.sha256Encrypt(dto.getPw()) );
  60. int cnt = patientService.selectMPatientCount(dto);
  61. if (cnt == 0) {
  62. resultCode = "01";
  63. message = "사용자정보가 일치하지 않습니다.";
  64. } else {
  65. dto = patientService.selectMPatientInfo(dto);
  66. LifeCenterSessionController.sessionInvalidate( request );
  67. LifeCenterSessionController.setSessionMobile(request, "sesMpIdx",String.valueOf(dto.getPatientIdx()));
  68. LifeCenterSessionController.setSessionMobile(request, "sesMId", dto.getId());
  69. LifeCenterSessionController.setSessionMobile(request, "sesMName", dto.getPatientName());
  70. LifeCenterSessionController.setSessionMobile(request, "sesMGender", dto.getGender());
  71. LifeCenterSessionController.setSessionMobile(request, "sesMWardNum", dto.getWardNumber());
  72. LifeCenterSessionController.setSessionMobile(request, "sesMRoomNum", dto.getRoomNumber());
  73. LifeCenterSessionController.setSessionMobile(request, "sesMCenterCode", String.valueOf(dto.getCenterCode()));
  74. LifeCenterSessionController.setSessionMobile(request, "sesMCenterName", dto.getCenterName());
  75. LifeCenterSessionController.setSessionMobile(request, "sesMJumin", dto.getJumin());
  76. LifeCenterSessionController.setSessionMobile(request, "sesMAdminPhone", dto.getAdminPhone());
  77. AcceptDTO acceptDTO = new AcceptDTO();
  78. acceptDTO.setPatientIdx(dto.getPatientIdx());;
  79. int acceptTotal = acceptService.selectPatientLogTotal( acceptDTO );
  80. // 동의하지않은 필수약관 갯수가 0이상일 경우
  81. // if( acceptTotal > 0 ) {
  82. // LifeCenterSessionController.setSessionMobile( request, "sesMAcceptCheck", "Y" );
  83. // } else {
  84. // LifeCenterSessionController.setSessionMobile( request, "sesMAcceptCheck", "N" );
  85. // }
  86. object.put("id", dto.getId());
  87. object.put("pw", dto.getPw());
  88. object.put("cc" , String.valueOf(dto.getCenterCode()) );
  89. resultCode = "00";
  90. }
  91. object.put("code", resultCode);
  92. object.put("message", message);
  93. return object.toString();
  94. }
  95. @RequestMapping("/logout")
  96. public String patientLogout( HttpServletRequest request, HttpServletResponse response ) {
  97. String remoteIp = LifeCenterFunction.getRemoteAddr( request );
  98. String sesMId = LifeCenterSessionController.getSession( request, "sesMId" );
  99. LifeCenterSessionController.sessionInvalidate( request );
  100. JSONObject json = new JSONObject();
  101. json.put("patientIdx", 1);
  102. logger.error( "[PATIENT LOGOUT] RemoteIP : " + remoteIp + " UserId : " + sesMId );
  103. // deviceService.deleteDeviceInfo(Integer.parseInt(sesMId));
  104. LifeCenterFunction.scriptMessage(response, "localStorage.clear();location.href='/mobile/login';");
  105. return "/common/blank";
  106. }
  107. }