作者 crossoverJie

:bug: Fixing a bug.登录状态判断

... ... @@ -66,10 +66,6 @@
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
... ...
... ... @@ -3,6 +3,10 @@ package com.crossoverjie.cim.common.enums;
import java.util.ArrayList;
import java.util.List;
/**
* @author crossoverJie
*/
public enum StatusEnum {
/** 成功 */
... ... @@ -20,6 +24,9 @@ public enum StatusEnum {
/** 账号不在线 */
OFF_LINE("7000", "你选择的账号不在线,请重新选择!"),
/** 登录信息不匹配 */
ACCOUNT_NOT_MATCH("9000", "登录信息不匹配!"),
/** 请求限流 */
REQUEST_LIMIT("6000", "请求限流"),
;
... ...
... ... @@ -74,11 +74,6 @@
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
... ...
... ... @@ -144,8 +144,8 @@ public class RouteController {
BaseResponse<CIMServerResVO> res = new BaseResponse();
//登录校验
boolean login = accountService.login(loginReqVO);
if (login) {
StatusEnum status = accountService.login(loginReqVO);
if (status == StatusEnum.SUCCESS) {
String server = serverCache.selectServer();
String[] serverInfo = server.split(":");
CIMServerResVO vo = new CIMServerResVO(serverInfo[0], Integer.parseInt(serverInfo[1]),Integer.parseInt(serverInfo[2]));
... ... @@ -154,12 +154,10 @@ public class RouteController {
accountService.saveRouteInfo(loginReqVO,server);
res.setDataBody(vo);
res.setCode(StatusEnum.SUCCESS.getCode());
res.setMessage(StatusEnum.SUCCESS.getMessage());
} else {
res.setCode(StatusEnum.REPEAT_LOGIN.getCode());
res.setMessage(StatusEnum.REPEAT_LOGIN.getMessage());
}
res.setCode(status.getCode());
res.setMessage(status.getMessage());
return res;
}
... ...
package com.crossoverjie.cim.route.service;
import com.crossoverjie.cim.common.enums.StatusEnum;
import com.crossoverjie.cim.route.vo.req.ChatReqVO;
import com.crossoverjie.cim.route.vo.req.LoginReqVO;
import com.crossoverjie.cim.route.vo.res.CIMServerResVO;
... ... @@ -30,7 +31,7 @@ public interface AccountService {
* @return true 成功 false 失败
* @throws Exception
*/
boolean login(LoginReqVO loginReqVO) throws Exception ;
StatusEnum login(LoginReqVO loginReqVO) throws Exception ;
/**
* 保存路由信息
... ...
package com.crossoverjie.cim.route.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.crossoverjie.cim.common.enums.StatusEnum;
import com.crossoverjie.cim.common.exception.CIMException;
import com.crossoverjie.cim.common.pojo.CIMUserInfo;
import com.crossoverjie.cim.route.service.AccountService;
... ... @@ -69,26 +70,26 @@ public class AccountServiceRedisImpl implements AccountService {
}
@Override
public boolean login(LoginReqVO loginReqVO) throws Exception {
public StatusEnum login(LoginReqVO loginReqVO) throws Exception {
//再去Redis里查询
String key = ACCOUNT_PREFIX + loginReqVO.getUserId();
String userName = redisTemplate.opsForValue().get(key);
if (null == userName) {
return false;
return StatusEnum.ACCOUNT_NOT_MATCH;
}
if (!userName.equals(loginReqVO.getUserName())) {
return false;
return StatusEnum.ACCOUNT_NOT_MATCH;
}
//登录成功,保存登录状态
boolean status = userInfoCacheService.saveAndCheckUserLoginStatus(loginReqVO.getUserId());
if (status == false){
//重复登录
return false;
return StatusEnum.REPEAT_LOGIN ;
}
return true;
return StatusEnum.SUCCESS;
}
@Override
... ...
... ... @@ -64,10 +64,6 @@
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
<dependency>
<groupId>io.netty</groupId>
... ...