#
Junjie
8 小时以前 e9b531edd2917b01a80dfa14e917ec21ddad8882
src/main/java/com/zy/core/network/ZyStationConnectDriver.java
@@ -9,7 +9,6 @@
import com.zy.core.network.api.ZyStationConnectApi;
import com.zy.core.network.entity.ZyStationStatusEntity;
import java.util.List;
import com.zy.core.network.fake.ZyStationFakeConnect;
import com.zy.core.network.fake.ZyStationFakeSegConnect;
import com.zy.core.network.fake.ZyStationV4FakeSegConnect;
import com.zy.core.network.real.ZyStationRealConnect;
@@ -28,7 +27,6 @@
@Slf4j
public class ZyStationConnectDriver implements ThreadHandler {
    private static final ZyStationFakeConnect zyStationFakeConnect = new ZyStationFakeConnect();
    private static final ZyStationFakeSegConnect zyStationFakeSegConnect = new ZyStationFakeSegConnect();
    private static final ZyStationV4FakeSegConnect zyStationV4FakeSegConnect = new ZyStationV4FakeSegConnect();
@@ -38,6 +36,7 @@
    private RedisUtil redisUtil;
    private volatile ZyStationConnectApi zyStationConnectApi;
    private volatile boolean closed = false;
    private volatile boolean fakeConfigUnsupported = false;
    private ScheduledExecutorService executor;
    private final Object connectLock = new Object();
@@ -57,6 +56,9 @@
            if (closed) {
                return false;
            }
            if (fakeConfigUnsupported) {
                return false;
            }
            if (connected && zyStationConnectApi != null) {
                return true;
            }
@@ -67,7 +69,8 @@
                if (deviceConfig.getFake() == 0) {
                    if ("ZyStationV3Thread".equals(deviceConfig.getThreadImpl())) {
                        connectApi = new ZyStationV3RealConnect(deviceConfig, redisUtil);
                    } else if ("ZyStationV4Thread".equals(deviceConfig.getThreadImpl())) {
                    } else if ("ZyStationV4Thread".equals(deviceConfig.getThreadImpl())
                            || "ZyStationV5Thread".equals(deviceConfig.getThreadImpl())) {
                        connectApi = new ZyStationV4RealConnect(deviceConfig, redisUtil);
                    } else {
                        connectApi = new ZyStationRealConnect(deviceConfig, redisUtil);
@@ -76,12 +79,16 @@
                    if ("ZyStationV3Thread".equals(deviceConfig.getThreadImpl())) {
                        zyStationFakeSegConnect.addFakeConnect(deviceConfig, redisUtil);
                        connectApi = zyStationFakeSegConnect;
                    } else if ("ZyStationV4Thread".equals(deviceConfig.getThreadImpl())) {
                    } else if ("ZyStationV4Thread".equals(deviceConfig.getThreadImpl())
                            || "ZyStationV5Thread".equals(deviceConfig.getThreadImpl())) {
                        zyStationV4FakeSegConnect.addFakeConnect(deviceConfig, redisUtil);
                        connectApi = zyStationV4FakeSegConnect;
                    } else {
                        zyStationFakeConnect.addFakeConnect(deviceConfig, redisUtil);
                        connectApi = zyStationFakeConnect;
                        fakeConfigUnsupported = true;
                        zyStationConnectApi = null;
                        log.error("旧版输送站 fake 已移除,deviceNo={}, threadImpl={}, 请切换到 ZyStationV3Thread、ZyStationV4Thread 或 ZyStationV5Thread",
                                deviceConfig.getDeviceNo(), deviceConfig.getThreadImpl());
                        return false;
                    }
                }