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<Device> deviceList = deviceService.getAllOnlineDevice();
|
|
for (Device device : deviceList) {
|
if (deviceService.expire(device)){
|
deviceService.offline(device.getDeviceId());
|
}else {
|
deviceService.online(device);
|
}
|
}
|
// 重置cseq计数
|
redisCatchStorage.resetAllCSEQ();
|
}
|
}
|