@POST
@Path("login")
@Produces(APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Maplogin(@FormParam("loginId")String loginId,
@FormParam("password")String password) {
if (StringUtils.isBlank(loginId)) {
return ResponseBuilder.error(50000, "请输入用户名");
}
if (StringUtils.isBlank(password)) {
return ResponseBuilder.error(50000, "请输入密码");
}
Mapcondition =new HashMap<>();
if (StringUtils.contains(loginId, "@")) {
if (StringUtils.indexOf(loginId, "@") ==0 ||StringUtils.indexOf(loginId, "@") ==loginId.length() -1) {
return ResponseBuilder.error(50000, "请输入正确的邮箱地址");
}
condition.put("email", loginId);
}else {
condition.put("phone", loginId);
}
Manager manager =entityDao.findOne("manager", condition, ManagerRowMapper.getInstance());
if (manager ==null) {
return ResponseBuilder.error(50000, "用户名或密码错误。");
}
if (manager.isDisabled()) {
return ResponseBuilder.error(50000, "用户名或密码错误,请稍后再试。");
}
try {
password =PasswordUtils.encodeFromWeb(password);
}catch (Exception e) {
LOG.error("Failed to encode password.", e);
return ResponseBuilder.error(50000, "用户名或密码错误。");
}
if (!StringUtils.equals(manager.getPassword(), password)) {
return ResponseBuilder.error(50000, "用户名或密码错误。");
}
setSessionAttribute("_manager", manager);
return ResponseBuilder.OK;
}
网友评论