应急ws调整

This commit is contained in:
tiger_zhou 2023-02-14 17:43:32 +08:00
parent 6d37169068
commit 6a0a8477f2
3 changed files with 20 additions and 14 deletions

View File

@ -30,7 +30,7 @@ public class TrainPositionService {
public void initTrainOrUpdate(String mapName,String json){ public void initTrainOrUpdate(String mapName,String json){
TrainPosition tp = JsonUtils.read(json, TrainPosition.class); TrainPosition tp = JsonUtils.read(json, TrainPosition.class);
tp.setReceiveTime(System.currentTimeMillis()); tp.setReceiveTime(System.currentTimeMillis());
log.info(json); log.debug(json);
// SocketMessageVO<TrainPosition> vo = SocketMessageFactory.buildBasic(WebSocketMessageType.YJDDZH_TRAIN_POSITION,tp); // SocketMessageVO<TrainPosition> vo = SocketMessageFactory.buildBasic(WebSocketMessageType.YJDDZH_TRAIN_POSITION,tp);
// this.messageService.send(vo); // this.messageService.send(vo);
this.timeOverService.addTrainAccept(mapName,tp); this.timeOverService.addTrainAccept(mapName,tp);

View File

@ -44,17 +44,22 @@ public class EnvLoggerFileTest {
} }
}); });
} }
public List<TrainPosition> query(List<TrainPosition> list, List<String> groups){
List<TrainPosition> newList = list.stream().filter(d->groups.contains(d.getGroupNum()) ).collect(Collectors.toList());
return newList;
}
public List<TrainPosition> query(List<TrainPosition> list, List<String> groups, Section.SectionRoadType roadType){ public List<TrainPosition> query(List<TrainPosition> list, List<String> groups, Section.SectionRoadType roadType){
List<TrainPosition> newList = list.stream().filter(d->groups.contains(d.getGroupNum()) && d.getRoadType() == roadType ).sorted(Comparator.comparing(TrainPosition::getReceiveTime)).collect(Collectors.toList()); List<TrainPosition> newList = list.stream().filter(d->groups.contains(d.getGroupNum()) && d.getRoadType() == roadType ).sorted(Comparator.comparing(TrainPosition::getReceiveTime)).collect(Collectors.toList());
return newList; return newList;
} }
public List<TrainPosition> query(List<TrainPosition> list, String groupNum, Section.SectionRoadType roadType){ public List<TrainPosition> query(List<TrainPosition> list, String groupNum, Section.SectionRoadType roadType){
List<TrainPosition> newList = list.stream().filter(d-> Objects.equals(d.getGroupNum(),groupNum) && d.getRoadType() == roadType ).sorted(Comparator.comparing(TrainPosition::getReceiveTime)).collect(Collectors.toList()); List<TrainPosition> newList = list.stream().filter(d-> Objects.equals(d.getGroupNum(),groupNum) && d.getRoadType() == roadType ).sorted(Comparator.comparing(TrainPosition::getReceiveTime)).collect(Collectors.toList());
return newList; return newList;
} }
public List<TrainPosition> query(List<TrainPosition> list,String groupNum){ public List<TrainPosition> query(List<TrainPosition> list,String groupNum){
List<TrainPosition> newList = list.stream().filter(d->Objects.equals(d.getGroupNum(),groupNum)).sorted(Comparator.comparing(TrainPosition::getReceiveTime)).collect(Collectors.toList()); List<TrainPosition> newList = list.stream().filter(d->Objects.equals(d.getGroupNum(),groupNum)).collect(Collectors.toList());
return newList; return newList;
} }

View File

@ -40,10 +40,11 @@ public class StompTest {
e.printStackTrace(); e.printStackTrace();
} }
EnvLoggerFileTest lt = new EnvLoggerFileTest(); EnvLoggerFileTest lt = new EnvLoggerFileTest();
List<TrainPosition> list = lt.readFile("d:\\spring.log2"); List<TrainPosition> list = lt.readFile("d:\\spring.log");
// List<TrainPosition> list = lt.readSource("d:\\t.txt"); // List<TrainPosition> list = lt.readSource("d:\\t.txt");
// runToLeft(stompSession,"001"); // runToLeft(stompSession,"001");
// runToRight(stompSession,"002"); // runToRight(stompSession,"002");
// list = lt.query(list,"031");
// list = lt.query(list,"004", Section.SectionRoadType.LEFT); // list = lt.query(list,"004", Section.SectionRoadType.LEFT);
// list = lt.query(list, Lists.newArrayList("015","037"), Section.SectionRoadType.RIGHT); // list = lt.query(list, Lists.newArrayList("015","037"), Section.SectionRoadType.RIGHT);
send(stompSession,list); send(stompSession,list);
@ -87,7 +88,7 @@ public class StompTest {
} }
public static void send(StompSession stompSession,List<TrainPosition> list){ public static void send(StompSession stompSession,List<TrainPosition> list){
for (int i = 25; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
// for (int i = 22; i < 23; i++) { // for (int i = 22; i < 23; i++) {
TrainPosition tp = list.get(i); TrainPosition tp = list.get(i);
tp.setCloseDoor(false); tp.setCloseDoor(false);
@ -95,21 +96,21 @@ public class StompTest {
tp.setSpeed(Float.valueOf(i)); tp.setSpeed(Float.valueOf(i));
// tp.setLocation(tp.getLocation() - 500); // tp.setLocation(tp.getLocation() - 500);
String val = JsonUtils.writeValueNullableFieldAsString(tp); String val = JsonUtils.writeValueNullableFieldAsString(tp);
Instant instant = Instant.ofEpochMilli(tp.getReceiveTime()); // Instant instant = Instant.ofEpochMilli(tp.getReceiveTime());
ZoneId zone = ZoneId.systemDefault(); // ZoneId zone = ZoneId.systemDefault();
String d = LocalDateTime.ofInstant(instant, zone).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); // String d = LocalDateTime.ofInstant(instant, zone).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(d + " ->" + i +" ->" + val); System.out.println(i +" ->" + val);
stompSession.send("/app/武汉8号线/trainPosition",val.getBytes(StandardCharsets.UTF_8)); stompSession.send("/app/武汉8号线/trainPosition",val.getBytes(StandardCharsets.UTF_8));
if(i > 0){ if(i > 0){
TrainPosition old = list.get(i - 1); TrainPosition old = list.get(i - 1);
try { try {
long sleepTime = (tp.getReceiveTime() - old.getReceiveTime()); // long sleepTime = (tp.getReceiveTime() - old.getReceiveTime());
if(sleepTime > 10000){ // if(sleepTime > 10000){
sleepTime = sleepTime / 1000; // sleepTime = sleepTime / 1000;
} // }
System.out.println("index:" + i + "sleep:"+sleepTime); // System.out.println("index:" + i + "sleep:"+sleepTime);
TimeUnit.MILLISECONDS.sleep(sleepTime); TimeUnit.MILLISECONDS.sleep(500);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }