|
@@ -5,6 +5,7 @@ import cn.com.ty.lift.common.constants.WebSocketConstants;
|
|
|
import cn.com.ty.lift.common.model.TimeMessage;
|
|
|
import cn.com.ty.lift.push.message.service.TimeMessageService;
|
|
|
import cn.com.ty.lift.push.websocket.model.RealTimeMessage;
|
|
|
+import cn.com.ty.lift.push.websocket.model.TimeMessageVo;
|
|
|
import cn.hutool.extra.spring.SpringUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -44,13 +45,13 @@ public class TimeyMessageHandler implements WebSocketHandler {
|
|
|
if (userId != null) {
|
|
|
users.put(userId, session);
|
|
|
//获取用户实时消息
|
|
|
- List<TimeMessage> TimeMessageList = timeMessageService.list(new QueryWrapper<TimeMessage>()
|
|
|
+ List<TimeMessage> timeMessageList = timeMessageService.list(new QueryWrapper<TimeMessage>()
|
|
|
.eq("view_flag", WebSocketConstants.IS_NOT_VIEW)
|
|
|
.eq("user_id", userId)
|
|
|
.eq("device_model", ApiConstants.DeviceModel.PC)
|
|
|
);
|
|
|
//将消息推送给用户
|
|
|
- pushMessageToUser(userId, TimeMessageList);
|
|
|
+ pushMessageToUser(userId, timeMessageList);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -87,7 +88,7 @@ public class TimeyMessageHandler implements WebSocketHandler {
|
|
|
* @Date 21:36 2019-04-19
|
|
|
* @Param [userIds, TimeMessages, count]
|
|
|
**/
|
|
|
- public static boolean pushMessageToUsers(List<Long> userIds, List<TimeMessage> TimeMessages) {
|
|
|
+ public static boolean pushMessageToUsers(List<Long> userIds, List<TimeMessage> timeMessages) {
|
|
|
try {
|
|
|
if (userIds != null && userIds.size() > 0) {
|
|
|
for (Long userId : userIds) {
|
|
@@ -95,9 +96,10 @@ public class TimeyMessageHandler implements WebSocketHandler {
|
|
|
if (session != null) {
|
|
|
//新建消息体
|
|
|
RealTimeMessage realTimeMessage;
|
|
|
- if (TimeMessages != null && TimeMessages.size() > 0) {
|
|
|
- realTimeMessage = new RealTimeMessage(TimeMessages);
|
|
|
- realTimeMessage.setSize((long) TimeMessages.size());
|
|
|
+ if (timeMessages != null && timeMessages.size() > 0) {
|
|
|
+ //将消息实体转化为消息vo
|
|
|
+ realTimeMessage = new RealTimeMessage(transToVo(timeMessages));
|
|
|
+ realTimeMessage.setSize((long) timeMessages.size());
|
|
|
} else {
|
|
|
realTimeMessage = new RealTimeMessage();
|
|
|
realTimeMessage.setSize(0L);
|
|
@@ -171,10 +173,36 @@ public class TimeyMessageHandler implements WebSocketHandler {
|
|
|
*/
|
|
|
private Long getCurrentUser(WebSocketSession session) {
|
|
|
String userId = (String) session.getAttributes().get(ApiConstants.CURRENT_USER_ID);
|
|
|
- if(StringUtils.isNotBlank(userId)) {
|
|
|
+ if (StringUtils.isNotBlank(userId)) {
|
|
|
return Long.parseLong(userId);
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ * @description 消息二次封装
|
|
|
+ * @date 2020/6/1 4:27 下午
|
|
|
+ */
|
|
|
+ private static List<TimeMessageVo> transToVo(List<TimeMessage> timeMessageList) {
|
|
|
+ List<TimeMessageVo> voList = new ArrayList<>();
|
|
|
+ if (timeMessageList != null && timeMessageList.size() > 0) {
|
|
|
+ timeMessageList.forEach(timeMessage -> {
|
|
|
+ if (timeMessage.getId() != null) {
|
|
|
+ TimeMessageVo vo = new TimeMessageVo();
|
|
|
+ vo.setId(timeMessage.getId().toString());
|
|
|
+ vo.setContent(timeMessage.getContent());
|
|
|
+ vo.setCreateTime(timeMessage.getCreateTime());
|
|
|
+ vo.setCreateUserId(timeMessage.getCreateUserId());
|
|
|
+ vo.setDeviceModel(timeMessage.getDeviceModel());
|
|
|
+ vo.setUserId(timeMessage.getUserId());
|
|
|
+ vo.setViewFlag(timeMessage.getViewFlag());
|
|
|
+ vo.setType(timeMessage.getType());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return voList;
|
|
|
+ }
|
|
|
+
|
|
|
}
|