Commit 0bcceabd authored by 董建华's avatar 董建华

登出接口

parent 7bde5dec
...@@ -465,25 +465,13 @@ public class UserController implements IBaseController { ...@@ -465,25 +465,13 @@ public class UserController implements IBaseController {
/** /**
* 登出接口 * 登出接口
*
* @param channelId
* @param appChannel
* @param createdFrom
* @param key
* @param phoneNo
* @return
*/ */
@RequestMapping("/logout") @RequestMapping("/logout")
public JsonResult logout( public JsonResult logout(HttpServletRequest request) {
@RequestParam(required = false, defaultValue = "1") Long channelId, String appChannel,
@RequestParam(required = false, defaultValue = "1") Long createdFrom, String token = request.getHeader("x-auth-token");
@RequestParam(required = false, defaultValue = "xyqb") String key, userService.logout(token);
@RequestParam(name = "phoneNo") String phoneNo) {
Merchant merchant = merchantService.findMerchantByName(key);
if (merchant == null) {
return JsonResult.buildErrorStateResult("未知的连接", null);
}
userService.logout(channelId, appChannel, createdFrom, merchant, phoneNo);
return JsonResult.buildSuccessResult("登出成功"); return JsonResult.buildSuccessResult("登出成功");
} }
......
...@@ -39,9 +39,7 @@ public interface ISessionService { ...@@ -39,9 +39,7 @@ public interface ISessionService {
/** /**
* 删除会话 * 删除会话
* @param user
* @param loginProperties
*/ */
void deleteSession(User user, LoginProperties loginProperties); void deleteSession(String token);
} }
...@@ -252,30 +252,24 @@ public class SessionServiceImpl implements ISessionService { ...@@ -252,30 +252,24 @@ public class SessionServiceImpl implements ISessionService {
} }
@Override @Override
public void deleteSession(User user, LoginProperties loginProperties) { public void deleteSession(String token) {
String sessionId = findSessionIdByUserIdLoginProperties(user.getId(), loginProperties);
SessionStruct sessionStruct = null;
if (null != sessionId) { SessionStruct sessionStruct = findSessionBySessionId(token);
if (StringUtils.length(sessionId) == Constants.TOKEN_LENGTH) {
sessionStruct = findSessionBySessionId(sessionId);
if (null != sessionStruct) { if (null != sessionStruct) {
stringRedisTemplate.delete(Constants.Session.USER_SESSION_CACHE + sessionStruct.getSid()); stringRedisTemplate.delete(Constants.Session.USER_SESSION_CACHE + sessionStruct.getSid());
SessionValue values = sessionStruct.getValues(); SessionValue values = sessionStruct.getValues();
String key = generateLoginPropertiesKey(values.getUser().getId(), values.getLoginProperties()); User user = values.getUser();
String key = generateLoginPropertiesKey(user.getId(), values.getLoginProperties());
stringRedisTemplate.delete(key); stringRedisTemplate.delete(key);
log.info("登出成功token:{} , user: {}", token, user);
} }
} else {
log.warn("真的会有这种情况吗?应该是不存在吧user:{},sessionId:{} ", user, sessionId);
}
}
} }
/** /**
......
...@@ -99,5 +99,5 @@ public interface IUserService { ...@@ -99,5 +99,5 @@ public interface IUserService {
/** /**
* 登出 * 登出
*/ */
void logout(Long channelId, String appChannel, Long createdFrom,Merchant merchant, String phoneNo); void logout(String token);
} }
...@@ -459,19 +459,8 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -459,19 +459,8 @@ public class UserServiceImpl implements IUserService, IBaseController {
} }
@Override @Override
public void logout(Long channelId, String appChannel, Long createdFrom, Merchant merchant, String phoneNo) { public void logout(String token) {
User user = findByPhoneWithCache(phoneNo);
if (null == user) { sessionService.deleteSession(token);
throw new UserNotExistException("用户未找到");
}
LoginProperties properties = LoginProperties.builder()
.channelId(channelId)
.createdFrom(createdFrom)
.appChannel(appChannel)
.merchantId(merchant.getId())
.merchantName(merchant.getName())
.build();
sessionService.deleteSession(user, properties);
} }
} }
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