@RequestMapping(value = "/issysn", method = RequestMethod.GET) @ResponseBody public String isSysn(User user, HttpServletRequest request, HttpServletResponse response) { Map<String, String> map = new HashMap<String, String>(); // 判断该用户在数据库中是否存在 int isExist = userService.isUserExist(user.getStudent_id(), user.getSchool()); // 0,表示存在 1,表示不存在 ,2,表示数据库异常 switch (isExist) { case 0: map.put("state", "0"); map.put("msg", "存在"); break; case 1: String codeUrl = CodeFactory.getCode(Integer.parseInt(user.getSchool())); if (codeUrl != null) { String fileName = user.getSchool() + user.getStudent_id() + ".jpg"; boolean flag = CodeUtil.downloadImage(codeUrl, fileName, request); if (flag) { map.put("state", "1"); map.put("msg", "用户不存在,code下载成功"); map.put("mcode", fileName); } else { map.put("state", "3"); map.put("msg", "用户不存在,code下载失败"); } } else { map.put("state", "1"); map.put("msg", "用户不存在,无验证码"); } break; case 2: map.put("state", "2"); map.put("msg", "网络异常"); break; } return Object2JsonUtil.Object2Json(map); }
/** * @param user * @param txtSecretCode * @param cookie * @param request * @param response * @return state <br> * 没有:成功<br> * 1:请登录教务系统完成教师评价后在登录!!<br> * 2:网络异常<br> * 3:验证码不正确!!<br> * 4:用户名不存在或未按照要求参加教学活动!!<br> * 5:密码错误!!<br> */ @SuppressWarnings("unchecked") @RequestMapping(value = "/login", method = RequestMethod.GET) @ResponseBody public String login( User user, String code, String issysn, HttpServletRequest request, HttpServletResponse response) { // 1表示用户名或密码错误,2表示数据库异常 // 判断该用户在数据库中是否存在 /* * int isExist = userService.isUserExist(user.getStudent_id(), * user.getSchool()); */ Map<String, Object> returnMap = new HashMap<String, Object>(); // 该用户在数据库中存在,即已经同步过 if (issysn.equals("1")) { log.debug("login from database ..."); returnMap = userService.login(user.getStudent_id(), user.getPwd(), user.getSchool()); Map<String, Object> u = (Map<String, Object>) returnMap.get("user"); SessionUtil.setUser(request, u); returnMap.remove("user"); // 还未同步过 } else if (issysn.equals("2")) { // 该用户在数据库中不存在,到教务系统中获取用户信息保存到数据库中 Sysn sysn = SysnFac.getConn(user.getSchool(), user.getStudent_id(), user.getPwd(), code); Map<String, String> stuInfo = null; try { log.debug("login from net ..."); stuInfo = sysn.login(request); // 删除验证码,同步完成后 String fileName = user.getSchool() + user.getStudent_id() + ".jpg"; File file = new File( request.getSession().getServletContext().getRealPath("/image/code") + "/" + fileName); if (file.exists()) { file.delete(); } // 该用户在教务系统中登录失败,表示用户名或密码错误。 if (stuInfo.get("isLogined").equals("true")) { log.debug("login from net succeed"); stuInfo.put("pwd", user.getPwd()); stuInfo.put("school", user.getSchool()); stuInfo.put("users_id", util.getUUID()); // 该用户在教务系统中的信息保存到数据库中 log.debug("save user ..."); if (userService.saveUserInfo(stuInfo)) { log.debug("save user succeed"); returnMap = userService.login(user.getStudent_id(), user.getPwd(), user.getSchool()); Map<String, Object> u = (Map<String, Object>) returnMap.get("user"); SessionUtil.setUser(request, u); returnMap.remove("user"); } else { log.debug("save user failed"); returnMap.put("isLogined", "false"); returnMap.put("state", "2"); // 2 表示数据库异常 } } else { log.debug("login from net failed"); returnMap.putAll(stuInfo); // returnMap.put("isLogined", "false"); // returnMap.put("state", "1"); // 1 用户名密码错误 } } catch (IOException e) { log.debug("login from net failed in catch"); e.printStackTrace(); returnMap.put("isLogined", "false"); returnMap.put("state", "2"); // 2 表示数据库异常 } } /* * else if (isExist == 2) { returnMap.put("isLogined", "false"); * returnMap.put("state", "2"); // 2 表示数据库异常 } */ return Object2JsonUtil.Object2Json(returnMap); }