/** * 获取用户信息 * * @return */ @RequestMapping(value = "/v1.0/users/{id}", method = RequestMethod.GET) @ResponseBody public ResultJSON getUserInfo( @PathVariable Long id, HttpServletRequest request, HttpServletResponse response) { // 返回json的结果对象 ResultJSON result = new ResultJSON(); // 异常 CustomException exception = (CustomException) request.getAttribute(CustomException.request_key); // 当前登录用户id Long currentUserId = (Long) request.getAttribute("currentUserId"); // 不同的子系统,使用不同的model参数 String model = request.getParameter("model") == null ? " " : request.getParameter("model"); // 返回 Object data = null; try { if (currentUserId != null && exception == null) { data = userService.getUserSimpleById(id, model); exception = CustomException.SUCCESS; } else { exception = CustomException.INVALIDACCESSTOKEN; } } catch (Exception e) { exception = CustomException.getCustomExceptionByCode(e.getMessage()); // 如果是普通的异常 if (exception.getStatus() == 500) { e.printStackTrace(); } } finally { result.setCode(exception.getCode()); result.setMessage(exception.getMessage()); result.setData(data == null ? "" : data); result.setSign(""); } return result; }
/** * 登陆、注销 * * @param request * @param response * @return */ @RequestMapping("/v1.0/users/login") @ResponseBody public ResultJSON Login(HttpServletRequest request, HttpServletResponse response) { // 返回json的结果对象 ResultJSON result = new ResultJSON(); // 异常 CustomException exception = (CustomException) request.getAttribute(CustomException.request_key); // 当前登录用户id Long currentUserId = (Long) request.getAttribute("currentUserId"); String _method = request.getParameter("_method"); // 不同的子系统,使用不同的model参数 String model = request.getParameter("model") == null ? " " : request.getParameter("model"); // 注销 if (StringUtils.isNotEmpty(_method) && HttpMethod.DELETE.name().equals(_method)) { try { if (currentUserId != null && exception == null) { String token = request.getHeader("Authorization"); userService.logout(token); exception = CustomException.SUCCESS; } else { exception = CustomException.INVALIDACCESSTOKEN; } } catch (Exception e) { exception = CustomException.getCustomExceptionByCode(e.getMessage()); // 如果是普通的异常 if (exception.getStatus() == 500) { e.printStackTrace(); } } finally { result.setCode(exception.getCode()); result.setMessage(exception.getMessage()); result.setData(""); result.setSign(""); } } else { String userName = request.getParameter("user_name"); String userPwd = request.getParameter("user_pwd"); // 返回用户的信息 // UserLoginResultInfo data = new UserLoginResultInfo(); UserSimple user = null; try { // 用户登录 SRegister reg = registerService.login(userName, userPwd); // 获取用户信息 user = userService.getUserSimpleById(reg.getId(), model); // 如果头像不是系统头像,而是在文件服务中保存的头像的话,需要修改userimage 为 (文件服务中保存的)头像的可访问路径 if (user.getUserImage() != null && user.getUserImage().trim().contains(ZhlResourceCenterWrap.userimage_upload_prefix)) { // 获取文件服务器的访问url String resServiceLocal = (String) request.getAttribute("resServiceLocal"); String currentResPath = (String) request.getAttribute("currentResPath"); String temp = ZhlResourceCenterWrap.getDownUrl(resServiceLocal, user.getUserImage()); temp = temp.replace(resServiceLocal, currentResPath); user.setUserImage(temp); } // // 成功,增加用户的在线信息 // Boolean repeatLoginVaildFlag = false;// // repeatLoginVaildFlag资源中心不允许一个用户重复登录 // JOnlineUsers online = jOnlineUsersService.getUserOnlines(reg.getId(), // request, repeatLoginVaildFlag); // BeanUtils.copyProperties(data, user); // data.setToken(user.getToken()); exception = CustomException.SUCCESS; } catch (Exception e) { exception = CustomException.getCustomExceptionByCode(e.getMessage()); // 如果是普通的异常 if (exception.getStatus() == 500) { e.printStackTrace(); } } finally { result.setCode(exception.getCode()); result.setMessage(exception.getMessage()); result.setData(user == null ? "" : user); result.setSign(""); } } return result; }