liusuyi
2026-05-18 b5cd784d0cde5b7c82ea78aef4ac0e5a161d8c5d
ard-modules/ard-modules-work/src/main/java/com/ard/work/sdk/factory/CameraSDKFactory.java
@@ -3,14 +3,13 @@
import com.ard.work.sdk.dh.service.DaHuaSDK;
import com.ard.work.sdk.fjr.service.FjrSDK;
import com.ard.work.sdk.hb.service.HbSDK;
import com.ard.work.sdk.hik.service.AbstractHikVisionSDK;
import com.ard.work.sdk.hik.service.HikSDK;
import com.ard.work.sdk.hp.service.HpSDK;
import com.ard.work.sdk.service.CameraSDK;
import com.ard.work.sdk.zlxd.service.ZlxdSDK;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
@@ -22,29 +21,24 @@
@Component
public class CameraSDKFactory {
    @Autowired
    @Qualifier("hikSDK")
    private HikSDK hikSDK;
    private final Map<String, CameraSDK> sdkRegistry;
    @Autowired
    @Qualifier("dahuaSDK")
    private DaHuaSDK dahuaSDK;
    public CameraSDKFactory(HikSDK hikSDK,
                            DaHuaSDK dahuaSDK,
                            HpSDK hpSDK,
                            ZlxdSDK zlxdSDK,
                            HbSDK hbSDK,
                            FjrSDK fjrSDK) {
        this.sdkRegistry = Map.of(
                "1", hikSDK,
                "2", dahuaSDK,
                "4", zlxdSDK,
                "5", hpSDK,
                "7", hbSDK,
                "8", fjrSDK
        );
    }
    @Autowired
    @Qualifier("hpSDK")
    private HpSDK hpSDK;
    @Autowired
    @Qualifier("zlxdSDK")
    private ZlxdSDK zlxdSDK;
    @Autowired
    @Qualifier("hbSDK")
    private HbSDK hbSDK;
    @Autowired
    @Qualifier("fjrSDK")
    private FjrSDK fjrSDK;
    /**
     * 根据传入的工厂参数创建相应的相机SDK实例
     *
@@ -53,21 +47,10 @@
     * @throws IllegalArgumentException 如果传入的工厂参数不支持
     */
    public CameraSDK createCameraSDK(String factory) {
        switch (factory) {
            case "1":
                return hikSDK;
            case "2":
                return dahuaSDK;
            case "4":
                return zlxdSDK;
            case "5":
                return hpSDK;
            case "7":
                return hbSDK;
            case "8":
                return fjrSDK;
            default:
                throw new IllegalArgumentException("Unsupported device: " + factory);
        CameraSDK sdk = sdkRegistry.get(factory);
        if (sdk == null) {
            throw new IllegalArgumentException("Unsupported camera factory: " + factory);
        }
        return sdk;
    }
}
}