|
@@ -7,6 +7,7 @@ import cn.com.ty.lift.push.message.service.TimeMessageService;
|
|
|
import cn.com.ty.lift.push.websocket.dao.model.RealTimeMessage;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.web.socket.*;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
@@ -18,11 +19,14 @@ public class TimeyMessageHandler implements WebSocketHandler {
|
|
|
|
|
|
private TimeMessageService timeMessageService;
|
|
|
|
|
|
+ private RedisTemplate redisTemplate;
|
|
|
+
|
|
|
public TimeyMessageHandler() {
|
|
|
}
|
|
|
|
|
|
- public TimeyMessageHandler(TimeMessageService TimeMessageService) {
|
|
|
+ public TimeyMessageHandler(TimeMessageService TimeMessageService, RedisTemplate redisTemplate) {
|
|
|
this.timeMessageService = TimeMessageService;
|
|
|
+ this.redisTemplate = redisTemplate;
|
|
|
}
|
|
|
|
|
|
//在线用户列表
|
|
@@ -164,14 +168,16 @@ public class TimeyMessageHandler implements WebSocketHandler {
|
|
|
* @date 2018年9月18日
|
|
|
*/
|
|
|
private Long getCurrentUser(WebSocketSession session) {
|
|
|
- Long userId;
|
|
|
- try {
|
|
|
- userId = (Long) session.getAttributes().get(ApiConstants.CURRENT_USER_ID);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- return null;
|
|
|
+ String authToken = (String) session.getAttributes().get(ApiConstants.AUTHORIZATION_TOKEN);
|
|
|
+ Object mobileUserInfo = redisTemplate.opsForValue().get(authToken);
|
|
|
+ if(mobileUserInfo != null) {
|
|
|
+ Object userInfo = redisTemplate.opsForValue().get(mobileUserInfo);
|
|
|
+ if(userInfo != null) {
|
|
|
+ Map<String, Object> currentUserInfoMap = JSONUtil.parseObj(userInfo);
|
|
|
+ return (Long) currentUserInfoMap.get(ApiConstants.CURRENT_USER_ID);
|
|
|
+ }
|
|
|
}
|
|
|
- return userId;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
}
|