package com.mes.job; import cn.hutool.json.JSONObject; import com.mes.edgglasstask.entity.EdgGlassTaskInfo; import com.mes.edgglasstask.service.EdgGlassTaskInfoService; import com.mes.edgstoragecage.service.EdgStorageCageDetailsService; import com.mes.edgstoragecage.service.EdgStorageCageService; import com.mes.tools.WebSocketServer; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * @Author : zhoush * @Date: 2024/12/4 9:41 * @Description: */ @Component @Slf4j public class PushMessageToIndex { @Resource EdgStorageCageDetailsService edgStorageCageDetailsService; @Resource EdgStorageCageService edgStorageCageService; @Resource EdgGlassTaskInfoService edgGlassTaskInfoService; @Scheduled(fixedDelay = 1000) public void CacheGlassTasks() { JSONObject jsonObject = new JSONObject(); List> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory(); jsonObject.append("currentCutTerritory", currentCutTerritorys); //log.info("本次识别版图{},++++{}",engineerId,currentCutTerritorys); //卧室缓存笼内信息 List> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages(); jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos); ArrayList sendwServer = WebSocketServer.sessionMap.get("cacheGlass"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { if (webserver != null) { webserver.sendMessage(jsonObject.toString()); List messages = webserver.getMessages(); if (!messages.isEmpty()) { // // 将最后一个消息转换为整数类型的列表 webserver.clearMessages(); } } else { log.info("Home is closed"); } } } } @Scheduled(fixedDelay = 1000) public void cacheGlassIsRun() { JSONObject jsonObject = new JSONObject(); //正在进行的任务 List taskCaches = edgGlassTaskInfoService.selectTaskCacheIsRun(); jsonObject.append("taskCaches", taskCaches); ArrayList sendwServer = WebSocketServer.sessionMap.get("cacheGlassIsRun"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { if (webserver != null) { webserver.sendMessage(jsonObject.toString()); } else { log.info("Home is closed"); } } } } @Scheduled(fixedDelay = 1000) public void CacheGlassTaskss() { JSONObject jsonObject = new JSONObject(); //log.info("本次识别版图{},++++{}",engineerId,currentCutTerritorys); //磨边信息 List edgTasks = edgGlassTaskInfoService.selectEdgInfo(); jsonObject.append("edgTasks", edgTasks); ArrayList sendwServer = WebSocketServer.sessionMap.get("edgTasks"); if (sendwServer != null) { for (WebSocketServer webserver : sendwServer) { if (webserver != null) { webserver.sendMessage(jsonObject.toString()); List messages = webserver.getMessages(); if (!messages.isEmpty()) { // // 将最后一个消息转换为整数类型的列表 webserver.clearMessages(); } } else { log.info("edgTasks is closed"); } } } } }