package com.ruoyi.device.camera.strategy; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.utils.sdk.dhsdk.service.impl.DhSdkStrategy; import com.ruoyi.utils.sdk.hiksdk.service.impl.HikSdkStrategy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * @Description: SDK策略工厂类 * @ClassName: SdkStrategyFactory * @Author: 刘苏义 * @Date: 2023年11月07日10:53:00 **/ @Component public class SdkStrategyFactory { @Resource private HikSdkStrategy hikSdkStrategy; @Resource private DhSdkStrategy dhSdkStrategy; /** * 根据传入的工厂参数获取对应的Sdk策略 * * @param factory 工厂参数 * @return 对应的Sdk策略 * @throws IllegalArgumentException 如果不支持该工厂参数 */ public SdkStrategy getSdkStrategy(String factory) { if (factory.equals("1")) { return hikSdkStrategy; } else if (factory.equals("2")) { return dhSdkStrategy; } else { throw new IllegalArgumentException("Unsupported device: " + factory); } } }