package com.xiaopeng.pushMessage.webSocket.handler; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.xiaopeng.api.vo.TaskVO; import com.xiaopeng.pushMessage.webSocket.service.WebSocketUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.HashMap; @Component @Slf4j public class TestMsgHandler implements BusinessMsgHandler{ @Override public String getMessageType() { return "test"; } @Autowired private WebSocketUserService webSocketUserService; @Override public void handle(String uid, String msg) { TaskVO vo = new TaskVO(); vo.setHandleUserId("1"); vo.setId(1L); vo.setStatus(1); vo.setTaskCode("1"); vo.setTaskTypeId("1"); vo.setTaskTypeName("1"); vo.setTaskUrgencyLevel(1); vo.setVehicleId(1L); vo.setVehicleLocation("1"); vo.setPlateNumber("1"); vo.setVehicleLat(BigDecimal.ZERO); vo.setVehicleLon(BigDecimal.ZERO); vo.setCanArriveRange(1D); vo.setEndTime(null); vo.setHandleUserId("1"); vo.setVehicleLocation("1"); vo.setPlateNumber("1"); vo.setVehicleId(1L); vo.setCanArriveRange(1D); vo.setEndTime(null); vo.setHandleUserId("1"); vo.setVehicleLocation("1"); vo.setPlateNumber("1"); vo.setVehicleId(1L); vo.setHandleUserId("1341243234"); HashMap ret = new HashMap<>(); ret.put("type", "task"); ret.put("data", vo); try { msg = om.writeValueAsString(ret); } catch (JsonProcessingException e) { log.error("Failed to serialize message for uid: {}", uid, e); throw new RuntimeException("Message serialization failed", e); } webSocketUserService.sendMessageToUser(uid, msg); } @Autowired ObjectMapper om; @Autowired MongoTemplate mongoTemplate; }