|
@@ -10,6 +10,7 @@ import com.fdkankan.manage.common.RedisKeyUtil;
|
|
|
import com.fdkankan.manage.entity.*;
|
|
|
import com.fdkankan.manage.exception.BusinessException;
|
|
|
import com.fdkankan.manage.service.*;
|
|
|
+import com.fdkankan.manage.vo.request.ManageLoginRequest;
|
|
|
import com.fdkankan.manage.vo.response.ManageLoginResponse;
|
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -35,23 +36,26 @@ public class ManageService {
|
|
|
RedisUtil redisUtil;
|
|
|
|
|
|
|
|
|
- public ManageLoginResponse login(String ip,String userName, String password,Boolean flag) {
|
|
|
+ public ManageLoginResponse login(ManageLoginRequest param) {
|
|
|
|
|
|
- this.checkLoginNum(ip,userName);
|
|
|
-
|
|
|
- if(StringUtils.isBlank(userName) || StringUtils.isBlank(password)){
|
|
|
- throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
- }
|
|
|
- //对前端传的密码解密
|
|
|
- String decode = password;
|
|
|
- if(!flag){
|
|
|
- decode = Base64Converter.decode(Base64Converter.subText(password));
|
|
|
+ this.checkLoginNum(param.getClientIp(),param.getUserName());
|
|
|
+ String passwordMd5 = null;
|
|
|
+ if(param.getNeedPassword()){
|
|
|
+ if(StringUtils.isBlank(param.getUserName()) || StringUtils.isBlank(param.getPassword())){
|
|
|
+ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
+ }
|
|
|
+ //对前端传的密码解密
|
|
|
+ String decode = param.getPassword();
|
|
|
+ if(!param.getMingwen()){
|
|
|
+ decode = Base64Converter.decode(Base64Converter.subText(decode));
|
|
|
+ }
|
|
|
+ passwordMd5 = SecurityUtil.MD52(decode);
|
|
|
}
|
|
|
- String passwordMd5 = SecurityUtil.MD52(decode);
|
|
|
- ManageLoginResponse result = sysUserService.getUserByUserNameAndPassword(userName, passwordMd5);
|
|
|
+
|
|
|
+ ManageLoginResponse result = sysUserService.getUserByUserNameAndPassword(param.getUserName(), passwordMd5,param.getNeedPassword());
|
|
|
if(result == null){
|
|
|
- this.addLoginErrorNum(ip,userName);
|
|
|
- SysUser sysUser = sysUserService.getByUserName(userName);
|
|
|
+ this.addLoginErrorNum(param.getClientIp(),param.getUserName());
|
|
|
+ SysUser sysUser = sysUserService.getByUserName(param.getUserName());
|
|
|
if(sysUser == null){
|
|
|
throw new BusinessException(ResultCode.USER_NOT_EXIST);
|
|
|
}
|
|
@@ -84,9 +88,14 @@ public class ManageService {
|
|
|
|
|
|
result.setToken(StpUtil.getTokenValue());
|
|
|
result.setUserId(user.getId());
|
|
|
- redisUtil.set(String.format(RedisKeyUtil.loginToken ,result.getToken()), JSONObject.toJSONString(result), 2*60*60);
|
|
|
+ if(param.getTime() != null){
|
|
|
+ redisUtil.set(String.format(RedisKeyUtil.loginToken ,result.getToken()), JSONObject.toJSONString(result), param.getTime());
|
|
|
+ redisUtil.set(String.format(RedisKeyUtil.loginTokenTime ,result.getToken()), param.getTime().toString(), param.getTime());
|
|
|
+ }else {
|
|
|
+ redisUtil.set(String.format(RedisKeyUtil.loginToken ,result.getToken()), JSONObject.toJSONString(result), RedisKeyUtil.loginTime);
|
|
|
+ }
|
|
|
|
|
|
- String redisUserNameKey = String.format(RedisKeyUtil.loginUserName, userName);
|
|
|
+ String redisUserNameKey = String.format(RedisKeyUtil.loginUserName, param.getUserName());
|
|
|
|
|
|
redisUtil.lRightPush(redisUserNameKey,result.getToken());
|
|
|
|