Merge remote-tracking branch 'origin/test' into ats-restruct
# Conflicts: # src/main/java/club/joylink/rtss/simulation/cbtc/onboard/ATO/service/ATOService.java # src/main/java/club/joylink/rtss/simulation/cbtc/onboard/ATP/ATPLogicLoop.java
This commit is contained in:
commit
bdd35ae336
@ -550,6 +550,12 @@ public class DraftMapService implements IDraftMapService {
|
|||||||
this.draftMapOverlapDAO.insert(draftMapOverlap);
|
this.draftMapOverlapDAO.insert(draftMapOverlap);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(logicDataVO.getOverrunList())) {
|
||||||
|
for (MapRouteOverrunVO vo : logicDataVO.getOverrunList()) {
|
||||||
|
vo.setMapId(id);
|
||||||
|
this.draftMapOverrunService.createOverrun(id, vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!CollectionUtils.isEmpty(logicDataVO.getAutoReentryList())) {
|
if (!CollectionUtils.isEmpty(logicDataVO.getAutoReentryList())) {
|
||||||
logicDataVO.getAutoReentryList().forEach(autoReentry -> {
|
logicDataVO.getAutoReentryList().forEach(autoReentry -> {
|
||||||
autoReentry.setMapId(id);
|
autoReentry.setMapId(id);
|
||||||
@ -564,7 +570,6 @@ public class DraftMapService implements IDraftMapService {
|
|||||||
this.draftMapRouteFlankProtectionDAO.insert(entity);
|
this.draftMapRouteFlankProtectionDAO.insert(entity);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteMapLogicData(Long id) {
|
private void deleteMapLogicData(Long id) {
|
||||||
|
@ -650,11 +650,10 @@ public class MapService implements IMapService {
|
|||||||
if (Objects.nonNull(map3dDataVO)) {
|
if (Objects.nonNull(map3dDataVO)) {
|
||||||
this.publish3DData(mapVO, map3dDataVO, user);
|
this.publish3DData(mapVO, map3dDataVO, user);
|
||||||
}
|
}
|
||||||
// 地图拷贝成功,拷贝运行图相关
|
|
||||||
this.iRunPlanTemplateService.copyAllOfMap(id, mapNewVO.getId(), user);
|
|
||||||
|
|
||||||
//根据选项拷贝相关数据
|
//根据选项拷贝相关数据
|
||||||
if (copyOption.isCopyOtherData()) {
|
if (copyOption.isCopyOtherData()) {
|
||||||
|
// 地图拷贝成功,拷贝运行图相关
|
||||||
|
this.iRunPlanTemplateService.copyAllOfMap(id, mapNewVO.getId(), user);
|
||||||
//拷贝实训
|
//拷贝实训
|
||||||
Map<Long, Long> relMap = this.iTrainingService
|
Map<Long, Long> relMap = this.iTrainingService
|
||||||
.copyAllOfMapAndPrd(id, mapNewVO.getId());
|
.copyAllOfMapAndPrd(id, mapNewVO.getId());
|
||||||
|
@ -21,9 +21,12 @@ import club.joylink.rtss.vo.AccountVO;
|
|||||||
import club.joylink.rtss.vo.LoginUserInfoVO;
|
import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||||
import club.joylink.rtss.vo.client.LoginStatusVO;
|
import club.joylink.rtss.vo.client.LoginStatusVO;
|
||||||
import club.joylink.rtss.vo.client.LoginUserVO;
|
import club.joylink.rtss.vo.client.LoginUserVO;
|
||||||
|
import club.joylink.rtss.vo.client.SocketMessageVO;
|
||||||
|
import club.joylink.rtss.vo.client.factory.SocketMessageFactory;
|
||||||
import club.joylink.rtss.vo.client.project.ProjectDeviceVO;
|
import club.joylink.rtss.vo.client.project.ProjectDeviceVO;
|
||||||
import club.joylink.rtss.vo.client.project.RelationLoginConfigVO;
|
import club.joylink.rtss.vo.client.project.RelationLoginConfigVO;
|
||||||
import club.joylink.rtss.vo.wx.WmUserSession;
|
import club.joylink.rtss.vo.wx.WmUserSession;
|
||||||
|
import club.joylink.rtss.websocket.StompMessageService;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -74,6 +77,9 @@ public class AuthenticateService implements IAuthenticateService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ProjectSimulationService projectSimulationService;
|
private ProjectSimulationService projectSimulationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private StompMessageService stompMessageService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LoginStatusVO getWmLoginUrl(String clientId, String secret, Project project, String deviceCode) {
|
public LoginStatusVO getWmLoginUrl(String clientId, String secret, Project project, String deviceCode) {
|
||||||
String envId = SystemEnv.getSystemEnvIdByName(this.otherConfig.getEnv());
|
String envId = SystemEnv.getSystemEnvIdByName(this.otherConfig.getEnv());
|
||||||
@ -322,6 +328,8 @@ public class AuthenticateService implements IAuthenticateService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (LoginUserInfoVO infoVO : removeList) {
|
for (LoginUserInfoVO infoVO : removeList) {
|
||||||
|
SocketMessageVO<LoginUserInfoVO> message = SocketMessageFactory.buildLoginSomewhereElseMessage(infoVO);
|
||||||
|
stompMessageService.sendToUser(infoVO.getAccountVO().getIdStr(), message);
|
||||||
this.logout(infoVO);
|
this.logout(infoVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ public class DraftMapOverrunServiceImpl implements DraftMapOverrunService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createOverrun(long mapId, MapRouteOverrunVO overrunVO) {
|
public void createOverrun(long mapId, MapRouteOverrunVO overrunVO) {
|
||||||
|
overrunVO.setMapId(mapId);
|
||||||
List<DraftMapRouteOverrun> entities = findEntitiesByMapId(mapId);
|
List<DraftMapRouteOverrun> entities = findEntitiesByMapId(mapId);
|
||||||
String prefix_overrun = DraftMapCiDataGeneratorImpl.CodeGenerator.Prefix_Overrun;
|
String prefix_overrun = DraftMapCiDataGeneratorImpl.CodeGenerator.Prefix_Overrun;
|
||||||
DraftMapCiDataGeneratorImpl.CodeGenerator generator;
|
DraftMapCiDataGeneratorImpl.CodeGenerator generator;
|
||||||
|
@ -144,11 +144,11 @@ public class AtpSectionService {
|
|||||||
*/
|
*/
|
||||||
public void sectionARBCheck(Simulation simulation, Section section, List<Section> sectionList) {
|
public void sectionARBCheck(Simulation simulation, Section section, List<Section> sectionList) {
|
||||||
//目前ARB故障才会导致ARB判定
|
//目前ARB故障才会导致ARB判定
|
||||||
if (Section.AxleFault.ARB.equals(section.getFault())) {
|
if (Section.AxleFault.ARB.equals(section.getFault()) && section.getVirtualAxleCounter().isOccupy()) {
|
||||||
if (section.getVirtualAxleCounter().isOccupy() && !sectionList.contains(section)) {
|
if (!sectionList.contains(section)) {
|
||||||
section.judgeAsARB();
|
section.judgeAsARB();
|
||||||
} else if (Section.AxleFault.FAULT.equals(section.getFault()) && section.getVirtualAxleCounter().isOccupy()) {
|
} else {
|
||||||
section.judgeAsNctOccupied();
|
section.setFault(Section.AxleFault.FAULT);
|
||||||
}
|
}
|
||||||
} else if (Section.AxleFault.FAULT.equals(section.getFault()) && section.getVirtualAxleCounter().isOccupy()) {
|
} else if (Section.AxleFault.FAULT.equals(section.getFault()) && section.getVirtualAxleCounter().isOccupy()) {
|
||||||
section.judgeAsNctOccupied();
|
section.judgeAsNctOccupied();
|
||||||
@ -174,9 +174,9 @@ public class AtpSectionService {
|
|||||||
public List<Section> getTrainExistAxleSectionsUnderDelay(Simulation simulation, List<VirtualRealityTrain> trainList) {
|
public List<Section> getTrainExistAxleSectionsUnderDelay(Simulation simulation, List<VirtualRealityTrain> trainList) {
|
||||||
List<Section> list = new ArrayList<>();
|
List<Section> list = new ArrayList<>();
|
||||||
for (VirtualRealityTrain train : trainList) {
|
for (VirtualRealityTrain train : trainList) {
|
||||||
// //只统计非通信车
|
//只统计非通信车
|
||||||
// if (train.isCBTC())
|
if (train.isCommunicable())
|
||||||
// continue;
|
continue;
|
||||||
boolean right = train.isRight();
|
boolean right = train.isRight();
|
||||||
SectionPosition headPosition = train.getHeadPosition();
|
SectionPosition headPosition = train.getHeadPosition();
|
||||||
float offset = 50;
|
float offset = 50;
|
||||||
|
@ -370,7 +370,7 @@ public class MaService {
|
|||||||
Ma ma = null;
|
Ma ma = null;
|
||||||
boolean front = false;
|
boolean front = false;
|
||||||
Section section = tailPosition.getSection();
|
Section section = tailPosition.getSection();
|
||||||
for (int i = 0; i < 20 && section != null; i++) {
|
for (int i = 0; i < 50 && section != null; i++) {
|
||||||
if (section.equals(headPosition.getSection())) {
|
if (section.equals(headPosition.getSection())) {
|
||||||
front = true;
|
front = true;
|
||||||
}
|
}
|
||||||
|
@ -68,6 +68,7 @@ public class ATSLogicLoop {
|
|||||||
this.trainOutboundLoadTool.loadOutboundTrain(simulation);
|
this.trainOutboundLoadTool.loadOutboundTrain(simulation);
|
||||||
this.atsStandService.countDown(simulation);
|
this.atsStandService.countDown(simulation);
|
||||||
this.atsTrainMonitorService.monitor(simulation);
|
this.atsTrainMonitorService.monitor(simulation);
|
||||||
|
this.atsStationService.updateFieldThatChangeOverTime(simulation);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addJobs(Simulation simulation) {
|
public void addJobs(Simulation simulation) {
|
||||||
|
@ -284,6 +284,8 @@ public class AtsRouteService {
|
|||||||
routeService.isApproachLock(repository, route), "进路接近锁闭,无法取消");
|
routeService.isApproachLock(repository, route), "进路接近锁闭,无法取消");
|
||||||
BusinessExceptionAssertEnum.OPERATION_FAIL.assertNotTrue(
|
BusinessExceptionAssertEnum.OPERATION_FAIL.assertNotTrue(
|
||||||
route.getStart().isGuideOpen(), "引导进路,需要人解进路");
|
route.getStart().isGuideOpen(), "引导进路,需要人解进路");
|
||||||
|
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertNotTrue(route.isFleetMode(),
|
||||||
|
String.format("进路[%s]已开启自动通过进路,无法取消", route.debugStr()));
|
||||||
this.ciApiService.unlockRoute(simulation, route.getCode());
|
this.ciApiService.unlockRoute(simulation, route.getCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -703,7 +703,7 @@ public class AtsRouteSettingService {
|
|||||||
++count;
|
++count;
|
||||||
Signal signal = base.getSignalOf(right);
|
Signal signal = base.getSignalOf(right);
|
||||||
if (Objects.isNull(signal) || !signal.isClose() ||
|
if (Objects.isNull(signal) || !signal.isClose() ||
|
||||||
(!train.isCommunication() && signal.isVirtual())) {
|
(!train.isCommunicable() && signal.isVirtual())) {
|
||||||
// 指定方向信号机不存在,或已经开放,或非通信车碰到虚拟信号机,继续往下找
|
// 指定方向信号机不存在,或已经开放,或非通信车碰到虚拟信号机,继续往下找
|
||||||
base = base.getNextRunningSectionOf(right);
|
base = base.getNextRunningSectionOf(right);
|
||||||
continue;
|
continue;
|
||||||
|
@ -401,7 +401,7 @@ public class AtsStationService {
|
|||||||
/**
|
/**
|
||||||
* 更新车站随时间变化的属性
|
* 更新车站随时间变化的属性
|
||||||
*/
|
*/
|
||||||
public void updateField(Simulation simulation) {
|
public void updateFieldThatChangeOverTime(Simulation simulation) {
|
||||||
List<Station> stations = simulation.getRepository().getStationList();
|
List<Station> stations = simulation.getRepository().getStationList();
|
||||||
for (Station station : stations) {
|
for (Station station : stations) {
|
||||||
//更新车站控制权转换倒计时及有效性
|
//更新车站控制权转换倒计时及有效性
|
||||||
|
@ -66,7 +66,10 @@ public abstract class AtsRouteSelectService {
|
|||||||
|
|
||||||
public Route queryTriggerRoutes4TurnBack(SimulationDataRepository repository, Section standSection, Section tbSection, TrainInfo trainInfo) {
|
public Route queryTriggerRoutes4TurnBack(SimulationDataRepository repository, Section standSection, Section tbSection, TrainInfo trainInfo) {
|
||||||
Station station = standSection.getStation();
|
Station station = standSection.getStation();
|
||||||
StationTurnBackStrategyOption strategy = station.getCurrentTurnBackStrategy();
|
StationTurnBackStrategyOption strategy = null;
|
||||||
|
if (station.getTbStrategyId() != null) {
|
||||||
|
strategy = station.getCurrentTurnBackStrategy();
|
||||||
|
}
|
||||||
List<Section> tbSectionList = new ArrayList<>();
|
List<Section> tbSectionList = new ArrayList<>();
|
||||||
if (Objects.isNull(strategy)) {
|
if (Objects.isNull(strategy)) {
|
||||||
tbSectionList.add(tbSection);
|
tbSectionList.add(tbSection);
|
||||||
@ -192,7 +195,15 @@ public abstract class AtsRouteSelectService {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (route.getStart().equals(signal) && !route.isTurnBack() && !triggerList.contains(route)) {
|
if (route.getStart().equals(signal) && !route.isTurnBack() && !triggerList.contains(route)) {
|
||||||
triggerList.add(route);
|
if (repository.getConfig().isRouteLikeHa1()) {
|
||||||
|
if (trainInfo.isCommunicable() && route.isAtp()) {
|
||||||
|
triggerList.add(route);
|
||||||
|
} else if (!trainInfo.isCommunicable() && route.isGround()) {
|
||||||
|
triggerList.add(route);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
triggerList.add(route);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//选择要触发的进路
|
//选择要触发的进路
|
||||||
|
@ -213,6 +213,8 @@ public class CiApiServiceImpl implements CiApiService {
|
|||||||
@Override
|
@Override
|
||||||
public void forceUnlockRoute(Simulation simulation, String routeCode) {
|
public void forceUnlockRoute(Simulation simulation, String routeCode) {
|
||||||
Route route = simulation.getRepository().getByCode(routeCode, Route.class);
|
Route route = simulation.getRepository().getByCode(routeCode, Route.class);
|
||||||
|
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertNotTrue(route.isFleetMode(),
|
||||||
|
String.format("进路[%s]已开启自动通过进路,无法取消", route.debugStr()));
|
||||||
SimulationDataRepository repository = simulation.getRepository();
|
SimulationDataRepository repository = simulation.getRepository();
|
||||||
if (routeService.isApproachLock(repository, route)) {
|
if (routeService.isApproachLock(repository, route)) {
|
||||||
routeService.humanCancel(simulation, route);
|
routeService.humanCancel(simulation, route);
|
||||||
|
@ -781,8 +781,8 @@ public class RouteService {
|
|||||||
* @param route
|
* @param route
|
||||||
*/
|
*/
|
||||||
public void cancelWithoutCheck(Simulation simulation, Route route) {
|
public void cancelWithoutCheck(Simulation simulation, Route route) {
|
||||||
// // 取消自动进路
|
// 取消自动进路
|
||||||
// this.cancelFleet(route);
|
this.cancelFleet(route);
|
||||||
// 关闭始端信号机
|
// 关闭始端信号机
|
||||||
this.routeClose(simulation, route);
|
this.routeClose(simulation, route);
|
||||||
log.debug(String.format("取消进路,信号机[%s(%s)]关灯",
|
log.debug(String.format("取消进路,信号机[%s(%s)]关灯",
|
||||||
|
@ -156,10 +156,13 @@ public class TrainHmiDisplay {
|
|||||||
private boolean inTheStandArea;
|
private boolean inTheStandArea;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* true牵引false制动
|
* true牵引false制动。1牵引,2制动,3惰行,4无
|
||||||
*/
|
*/
|
||||||
private int tow;
|
private int tow;
|
||||||
|
|
||||||
|
/** 牵引、制动力百分比 */
|
||||||
|
private int forcePercent;
|
||||||
|
|
||||||
public TrainHmiDisplay(VirtualRealityTrain train) {
|
public TrainHmiDisplay(VirtualRealityTrain train) {
|
||||||
this.code = train.getCode();
|
this.code = train.getCode();
|
||||||
this.groupNumber = train.getGroupNumber();
|
this.groupNumber = train.getGroupNumber();
|
||||||
@ -213,6 +216,17 @@ public class TrainHmiDisplay {
|
|||||||
this.parking = train.isParkingAt();
|
this.parking = train.isParkingAt();
|
||||||
this.inTheStandArea = train.isInTheStandArea();
|
this.inTheStandArea = train.isInTheStandArea();
|
||||||
this.tow = getTow(train);
|
this.tow = getTow(train);
|
||||||
|
this.forcePercent = getForcePercent(train);
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getForcePercent(VirtualRealityTrain train) {
|
||||||
|
if (train.getFk() > 0) {
|
||||||
|
return (int) (train.getFk() / train.getCurrentFkMax() * 100);
|
||||||
|
} else if (train.getFb() > 0) {
|
||||||
|
return (int) (train.getFb() / train.getCurrentFbMax() * 100);
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getTow(VirtualRealityTrain train) {
|
private int getTow(VirtualRealityTrain train) {
|
||||||
@ -373,6 +387,11 @@ public class TrainHmiDisplay {
|
|||||||
this.tow = tow;
|
this.tow = tow;
|
||||||
map.put("tow", tow);
|
map.put("tow", tow);
|
||||||
}
|
}
|
||||||
|
int forcePercent = getForcePercent(train);
|
||||||
|
if (!Objects.equals(this.forcePercent, forcePercent)) {
|
||||||
|
this.forcePercent = forcePercent;
|
||||||
|
map.put("forcePercent", forcePercent);
|
||||||
|
}
|
||||||
if (map.size() > 0) {
|
if (map.size() > 0) {
|
||||||
map.put("code", this.code);
|
map.put("code", this.code);
|
||||||
return map;
|
return map;
|
||||||
|
@ -257,7 +257,8 @@ public class TrainInfo extends MapElement {
|
|||||||
/** ATS为此列车触发的进路 */
|
/** ATS为此列车触发的进路 */
|
||||||
private Map<String, Route> atsTriggerRouteMap = new ConcurrentHashMap<>();
|
private Map<String, Route> atsTriggerRouteMap = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
private boolean communication;
|
/** 通信是否正常 */
|
||||||
|
private boolean communicable;
|
||||||
|
|
||||||
public TrainInfo(String groupNumber) {
|
public TrainInfo(String groupNumber) {
|
||||||
super(groupNumber, DeviceType.TRAIN);
|
super(groupNumber, DeviceType.TRAIN);
|
||||||
@ -373,9 +374,10 @@ public class TrainInfo extends MapElement {
|
|||||||
SectionPosition headPosition = train.getHeadPosition();
|
SectionPosition headPosition = train.getHeadPosition();
|
||||||
this.physicalSection = headPosition.getSection().getCode();
|
this.physicalSection = headPosition.getSection().getCode();
|
||||||
this.offsetp = headPosition.getPercent();
|
this.offsetp = headPosition.getPercent();
|
||||||
|
this.communicable = train.isCommunicable();
|
||||||
if (headPosition.getSection().isSwitchTrack()) {
|
if (headPosition.getSection().isSwitchTrack()) {
|
||||||
this.section = headPosition.getSection().getParent().getCode();
|
this.section = headPosition.getSection().getParent().getCode();
|
||||||
} else if (this.isCommunication()) {
|
} else if (this.isCommunicable()) {
|
||||||
this.section = headPosition.getLogicSection().getCode();
|
this.section = headPosition.getLogicSection().getCode();
|
||||||
} else {
|
} else {
|
||||||
this.section = headPosition.getSection().getCode();
|
this.section = headPosition.getSection().getCode();
|
||||||
@ -403,7 +405,6 @@ public class TrainInfo extends MapElement {
|
|||||||
} else if (speed != 0 && this.turnBackStatus.equals(STOP)) {
|
} else if (speed != 0 && this.turnBackStatus.equals(STOP)) {
|
||||||
this.turnBackStatus = EXIT;
|
this.turnBackStatus = EXIT;
|
||||||
}
|
}
|
||||||
this.communication = train.isCommunication();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isCtcLevel() {
|
public boolean isCtcLevel() {
|
||||||
|
@ -682,8 +682,8 @@ public class VirtualRealityTrain extends VirtualRealityDevice {
|
|||||||
if (linkTrain != null && linkTrain.isEB()) {
|
if (linkTrain != null && linkTrain.isEB()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.fk = fk;
|
this.fk = Math.min(fk, getCurrentFkMax());
|
||||||
this.fb = fb;
|
this.fb = Math.min(fb, getCurrentFbMax());
|
||||||
if (fk > 0) {
|
if (fk > 0) {
|
||||||
this.tbControl = TrainTBControl.TRACTION;
|
this.tbControl = TrainTBControl.TRACTION;
|
||||||
} else if (fb > 0) {
|
} else if (fb > 0) {
|
||||||
|
@ -211,6 +211,7 @@ public class ATPLogicLoop {
|
|||||||
// EB 触发速度计算
|
// EB 触发速度计算
|
||||||
SpeedCurve ebTriggerCurve = ma.getEbTriggerCurve();
|
SpeedCurve ebTriggerCurve = ma.getEbTriggerCurve();
|
||||||
float ebTriggerRemain = ma.calculateDistanceOfEbTriggerEnd();
|
float ebTriggerRemain = ma.calculateDistanceOfEbTriggerEnd();
|
||||||
|
ma.setEbTriggerCurve(ebTriggerCurve);
|
||||||
float totalDistance = ebTriggerCurve.getTotalDistance();
|
float totalDistance = ebTriggerCurve.getTotalDistance();
|
||||||
if (totalDistance < ebTriggerRemain) {
|
if (totalDistance < ebTriggerRemain) {
|
||||||
ebTriggerRemain = totalDistance;
|
ebTriggerRemain = totalDistance;
|
||||||
|
@ -10,6 +10,7 @@ import club.joylink.rtss.simulation.cbtc.data.vo.*;
|
|||||||
import club.joylink.rtss.simulation.cbtc.member.SimulationMember;
|
import club.joylink.rtss.simulation.cbtc.member.SimulationMember;
|
||||||
import club.joylink.rtss.simulation.cbtc.member.SimulationUser;
|
import club.joylink.rtss.simulation.cbtc.member.SimulationUser;
|
||||||
import club.joylink.rtss.simulation.cbtc.message.websocket.SimulationSubscribeTopic;
|
import club.joylink.rtss.simulation.cbtc.message.websocket.SimulationSubscribeTopic;
|
||||||
|
import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||||
import club.joylink.rtss.vo.client.SocketMessageVO;
|
import club.joylink.rtss.vo.client.SocketMessageVO;
|
||||||
import club.joylink.rtss.vo.client.WebSocketMessageType;
|
import club.joylink.rtss.vo.client.WebSocketMessageType;
|
||||||
import club.joylink.rtss.vo.client.passenger.PassengerFlowMessage2TD;
|
import club.joylink.rtss.vo.client.passenger.PassengerFlowMessage2TD;
|
||||||
@ -269,6 +270,10 @@ public class SocketMessageFactory {
|
|||||||
return build(WebSocketMessageType.STATION_PFI_NUM, group, data);
|
return build(WebSocketMessageType.STATION_PFI_NUM, group, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static SocketMessageVO<LoginUserInfoVO> buildLoginSomewhereElseMessage(LoginUserInfoVO infoVO) {
|
||||||
|
return build(WebSocketMessageType.Be_Logged_Out, null, infoVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
private static class SpringContextUtil implements ApplicationContextAware {
|
private static class SpringContextUtil implements ApplicationContextAware {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
server:
|
server:
|
||||||
port: 9010
|
port: 9000
|
||||||
|
|
||||||
modbus-tcp:
|
modbus-tcp:
|
||||||
port: 19100
|
port: 19000
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
|
Loading…
Reference in New Issue
Block a user