@RequestMapping(value = "/login.json", method = {RequestMethod.POST,
RequestMethod.GET}, produces = "application/json;charset=UTF-8")
public
@ResponseBody
Object login(@RequestBody UrsUserQuery ursUserQuery, HttpServletRequest request, HttpServletResponse httpServletResponse, HttpSession session) throws Exception {
//update-20180614-LuoLiang-添加查询所属机构
String sql = "select uu.*,ur.role_id,ur.role_desc,regexp_replace(tt.comname,'^\\d+','') as comname from t_urs_user uu " +
"left join t_urs_user_role uur on uur.user_id=uu.user_id " +
"left join t_urs_role ur on ur.role_id=uur.role_id " +
"left join v_pub_company tt on substr(uu.comcode,0,8) = substr(tt.comcode,0,8) " +
"where uu.enable='1' and ur.enable='1' and uu.user_id='%s' and uu.user_password='%s'";
sql = String.format(sql, ursUserQuery.getUserId(), MD5Util.MD5(ursUserQuery.getUserPassword(), ""));
Object object = commonServiceImp.find(sql);
if (object != null) {
Map<String, Object> ursUser = (Map<String, Object>) object;
Object obj = ursUser.get("COMCODE");
if (obj != null) {
String comcode = String.valueOf(obj);
if (comcode.length() > 6) {
ursUser.put("COMCODE", comcode.substring(0, 6));
}
}
//ursUser.put("M_PASSPORT", CognosUtil.getPassportId());
String ursUserStr = JsonUtil.toJson(ursUser);
LOGGER.info("{}登录成功", ursUserStr);
logLoginServiceImp.loginlog(ursUserQuery.getUserId(), request.getRemoteAddr());
ursUserStr = URLEncoder.encode(ursUserStr, CharEncoding.UTF_8);
CookieUtil.addCookie(httpServletResponse, CookieKeyConstant.USER_KEY, ursUserStr);
session.setAttribute("user_session", ursUser);
if (ursUser.get("DESCRIPTION") == null) {
return new RestBean(MsgCodeConstant.MUST_EDITPASSWORD);
}
return new RestBean(MsgCodeConstant.LOGIN_SUCCESS);
} else {
throw new RestException(-1, "账户名或密码错误");
}
}
返回json:@ResponseBody会返回一个json串,将返回的数值直接返回给HTTP Response Body,通过Ajax异步传值,前台会的到返回的HTTP Response Body 也就是就送串