vince
2024-01-16 236cf59aae727d304487676413c4337f73b16e67
src/main/java/com/fzzy/gateway/hx2023/service/ApiInitService.java
@@ -1,28 +1,41 @@
package com.fzzy.gateway.hx2023.service;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.api.data.GatewayDeviceType;
import com.fzzy.gateway.api.GatewayRemoteManager;
import com.fzzy.gateway.api.GatewayRemoteService;
import com.fzzy.gateway.api.GatewaySyncLprService;
import com.fzzy.gateway.data.BaseReqData;
import com.fzzy.gateway.entity.GatewayConf;
import com.fzzy.gateway.entity.GatewayDevice;
import com.fzzy.gateway.service.GatewayConfService;
import lombok.extern.slf4j.Slf4j;
import com.fzzy.gateway.service.GatewayDeviceService;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
/**
 * 当前接口,初始化相关
 */
@Slf4j
@Component
public class ApiInitService {
    @Resource
    private GatewayConfService confService;
    @Resource
    private GatewayDeviceService deviceService;
    @Resource
    private GatewayRemoteManager gatewayRemoteManager;
    /**
     * apiInitService#init
     */
    @Expose
    public void init() {
        List<GatewayConf> list = confService.listAll();
@@ -34,9 +47,38 @@
        GatewayRemoteService gatewayRemoteService;
        for (GatewayConf gatewayConf : list) {
            gatewayRemoteService = gatewayRemoteManager.getRemoteService(gatewayConf.getPushProtocol());
            gatewayRemoteService.authorize(gatewayConf);
            gatewayRemoteService.init(gatewayConf);
        }
    }
    public void updateDeviceCache() {
        deviceService.flushCache();
    }
    public void initAllLpr() {
        List<GatewayDevice> list = deviceService.listAll();
        if (null == list || list.isEmpty()) {
            return;
        }
        BaseReqData reqData;
        int i = 0;
        GatewaySyncLprService syncLprService;
        for (GatewayDevice device : list) {
            if (!GatewayDeviceType.TYPE_02.getCode().equals(device.getType())) {
                continue;
            }
            reqData = new BaseReqData(device);
            reqData.setIndex(i);
            syncLprService = gatewayRemoteManager.getSyncLprService(device.getSyncProtocol());
            if(null == syncLprService) continue;
            syncLprService.initLpr(reqData);
            i++;
        }
    }
}