Commit 65ad7c50 authored by suntao's avatar suntao

登陆 错误信息等 不抛出异常

parent 06881d74
......@@ -4,8 +4,11 @@ import cn.quantgroup.cashloanflowboss.api.login.model.LoginFormModel;
import cn.quantgroup.cashloanflowboss.api.login.service.LoginService;
import cn.quantgroup.cashloanflowboss.component.security.Authority;
import cn.quantgroup.cashloanflowboss.component.security.annotiation.Security;
import cn.quantgroup.cashloanflowboss.core.Application;
import cn.quantgroup.cashloanflowboss.core.base.Result;
import cn.quantgroup.cashloanflowboss.core.base.Tuple;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -31,7 +34,12 @@ public class LogController {
*/
@PostMapping("/login")
public Result<String> login(@RequestBody @Valid LoginFormModel loginFormModel) {
return new Result<>(ApplicationStatus.SUCCESS, this.loginService.login(loginFormModel.getUsername(), loginFormModel.getPassword()));
Tuple<Boolean, ApplicationStatus> tuple = this.loginService.login(loginFormModel.getUsername(), loginFormModel.getPassword());
if (BooleanUtils.isTrue(tuple.getKey())) {
return new Result<>(ApplicationStatus.SUCCESS, Application.getSession().getId());
} else {
return new Result<>(tuple.getValue(), "");
}
}
/**
......
package cn.quantgroup.cashloanflowboss.api.login.service;
import cn.quantgroup.cashloanflowboss.core.base.Tuple;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus;
import java.util.Map;
/**
......@@ -9,7 +12,7 @@ import java.util.Map;
* @author: suntao
*/
public interface LoginService {
String login(String username, String password);
Tuple<Boolean, ApplicationStatus> login(String username, String password);
boolean logout();
......
......@@ -7,6 +7,7 @@ import cn.quantgroup.cashloanflowboss.api.user.model.UserInfo;
import cn.quantgroup.cashloanflowboss.api.user.service.UserService;
import cn.quantgroup.cashloanflowboss.api.user.service.UserServiceImpl;
import cn.quantgroup.cashloanflowboss.core.asserts.Assert;
import cn.quantgroup.cashloanflowboss.core.base.Tuple;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationDictionary;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus;
import cn.quantgroup.cashloanflowboss.utils.JSONTools;
......@@ -47,18 +48,28 @@ public class LoginServiceImpl implements LoginService {
* @return
*/
@Override
public String login(String username, String password) {
public Tuple<Boolean, ApplicationStatus> login(String username, String password) {
User user = this.userService.getUser(username);
// 检查用户是否有效
Assert.isNull(user, ApplicationStatus.INVALID_USER);
if (user == null) {
log.info("用户不存在username=" + username);
return new Tuple<>(Boolean.FALSE, ApplicationStatus.INVALID_USER);
}
// 检查用户是否被禁用
Assert.isTrue(UserStatus.DISABLED.equals(user.getStatus()), ApplicationStatus.DISABLED_USER);
if (UserStatus.DISABLED.equals(user.getStatus())) {
log.info("用户已禁用username=" + username);
return new Tuple<>(Boolean.FALSE, ApplicationStatus.DISABLED_USER);
}
// 检查密码是否正确
Assert.isFalse(user.getPassword().equalsIgnoreCase(MD5Tools.md5(password)), ApplicationStatus.USERNAME_OR_PASSWORD_ERROR);
final String passwordMd5 = MD5Tools.md5(password);
if (!user.getPassword().equalsIgnoreCase(passwordMd5)) {
log.info("用户名或密码错误username=" + username);
return new Tuple<>(Boolean.FALSE, ApplicationStatus.USERNAME_OR_PASSWORD_ERROR);
}
// 创建Session
HttpSession session = this.request.getSession(true);
......@@ -86,8 +97,7 @@ public class LoginServiceImpl implements LoginService {
user.setLastLoginTime(new Date());
userService.updateUser(user);
log.info("登陆成功sessionId="+ session.getId());
return session.getId();
return new Tuple<>(Boolean.TRUE, ApplicationStatus.SUCCESS);
}
/**
......
......@@ -55,6 +55,7 @@ import javax.persistence.criteria.Predicate;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -340,12 +341,12 @@ public class OrderServiceImpl implements OrderService{
OrderApprove orderApprove = this.orderApproveRepository.findByChannelOrderNumber(lendingFormModel.getChannelOrderNumber());
if (orderApprove == null) {
return new Tuple<>(result, "需要使用KA联调平台先审批操作,才能使用放款操作");
return new Tuple<>(false, "需要使用KA联调平台先审批操作,才能使用放款操作");
}
ClfOrderMapping orderMapping = this.clfOrderMappingRepository.findByChannelOrderNoAndRegisteredFromLastOne(lendingFormModel.getChannelOrderNumber(), lendingFormModel.getChannelId());
String optDetail = lendingFormModel.getResult() ? "放款成功:" : "放款失败:";
String optDetail = BooleanUtils.isTrue(lendingFormModel.getResult()) ? "放款成功:" : "放款失败:";
// 更新合同状态
......
......@@ -185,7 +185,11 @@ public class UserServiceImpl implements UserService{
public User saveUserInfo(UserInfoModel userInfoModel) {
User user1 = new User();
BeanUtils.copyProperties(userInfoModel, user1);
user1.setPassword(MD5Tools.md5(userInfoModel.getUsername()));
if (StringUtils.isEmpty(userInfoModel.getPassword())) {
user1.setPassword(MD5Tools.md5(userInfoModel.getUsername()));
} else {
user1.setPassword(MD5Tools.md5(userInfoModel.getPassword()));
}
user1.setRoles(userInfoModel.getRoles());
return userRepository.save(user1);
}
......
......@@ -176,7 +176,7 @@ public class Application implements ApplicationContextAware, ServletContextAware
HttpSession session = getSession();
if (Objects.nonNull(session)) {
Principal principal = JSONTools.deserialize(String.valueOf(session.getAttribute(ApplicationDictionary.PRINCIPAL)), Principal.class);
log.info("后来访问获取sessionId={},userName={}", session.getId(), principal != null ? principal.getUserInfo().getUsername() : "null");
// log.info("后来访问获取sessionId={},userName={}", session.getId(), principal != null ? principal.getUserInfo().getUsername() : "null");
return principal;
} else {
log.info("后来访问获取session为空");
......@@ -194,7 +194,7 @@ public class Application implements ApplicationContextAware, ServletContextAware
if (Objects.nonNull(request)) {
HttpSession session = request.getSession();
if (Objects.nonNull(session)) {
log.info("后来访问获取sessionId={},requestIp={}", session.getId(), IpUtil.getRemoteIP(request));
// log.info("后来访问获取sessionId={},requestIp={}", session.getId(), IpUtil.getRemoteIP(request));
return session;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment