| | |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | import com.qianwen.smartman.common.cache.cps.WorkstationCache; |
| | | import com.qianwen.core.tool.utils.Func; |
| | |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.socket.WebSocketSession; |
| | | |
| | | /** |
| | | * 实现了websocket模块中的JsonMessageHandler,实时看板使用该处理器,payload中应该携带type:"realTimeData"属性 |
| | | */ |
| | | @Component |
| | | public class RealTimeDataJsonMessageHandler implements JsonMessageHandler<RealTimeDataRequestJsonWebSocketMessage> { |
| | | private final IOrderWorkstationService orderWorkstationService; |
| | |
| | | public void handle(WebSocketSession session, RealTimeDataRequestJsonWebSocketMessage message) { |
| | | List<String> workstationIdList = message.getWorkstationIdList(); |
| | | List<OrderWorkstation> workstationInProcess = this.orderWorkstationService.getWorkstationInProcess(workstationIdList.stream().map(Long::valueOf).collect(Collectors.toSet())); |
| | | Map<Long, String> orderWorkstationMap = (Map) workstationInProcess.stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getWorkstationId(); |
| | | }, (v0) -> { |
| | | return v0.getOrderCode(); |
| | | })); |
| | | Map<Long, String> orderWorkstationMap = workstationInProcess.stream().collect(Collectors.toMap(OrderWorkstation::getWorkstationId, OrderWorkstation::getOrderCode)); |
| | | if (Func.isNotEmpty(workstationIdList)) { |
| | | for (String workstationId : workstationIdList) { |
| | | RealTimeDaraResponseJsonWebSocketMessage jsonWebSocketMessage = new RealTimeDaraResponseJsonWebSocketMessage(); |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public String type() { |
| | | return "realTimeData"; |
| | | } |
| | | |
| | | @Override |
| | | public Class<RealTimeDataRequestJsonWebSocketMessage> getMessageClass() { |
| | | return RealTimeDataRequestJsonWebSocketMessage.class; |
| | | } |