package com.genersoft.iot.vmp.gb28181.task; import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.service.IDeviceService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; /** * 系统启动时控制设备 * @author lin */ @Component @Order(value=4) public class SipDeviceRunner implements CommandLineRunner { @Autowired private IVideoManagerStorage storager; @Autowired private IRedisCatchStorage redisCatchStorage; @Autowired private UserSetting userSetting; @Autowired private IDeviceService deviceService; @Override public void run(String... args) throws Exception { List deviceList = deviceService.getAllOnlineDevice(); for (Device device : deviceList) { if (deviceService.expire(device)){ deviceService.offline(device.getDeviceId()); }else { deviceService.online(device); } } // 重置cseq计数 redisCatchStorage.resetAllCSEQ(); } }