|  |  | 
 |  |  | package com.genersoft.iot.vmp.vmanager.gb28181.device; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.genersoft.iot.vmp.conf.DynamicTask; | 
 |  |  | import com.genersoft.iot.vmp.conf.exception.ControllerException; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.Device; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.SyncStatus; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.task.ISubscribeTask; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.task.impl.CatalogSubscribeTask; | 
 |  |  | 
 |  |  | import io.swagger.v3.oas.annotations.Parameter; | 
 |  |  | import io.swagger.v3.oas.annotations.tags.Tag; | 
 |  |  | import org.apache.commons.compress.utils.IOUtils; | 
 |  |  | import org.apache.http.HttpResponse; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | 
 |  |  | import org.springframework.http.MediaType; | 
 |  |  | import org.springframework.http.ResponseEntity; | 
 |  |  | import org.springframework.util.ObjectUtils; | 
 |  |  | import org.springframework.util.StringUtils; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  | import org.springframework.web.context.request.async.DeferredResult; | 
 |  |  |  | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  | import javax.sip.DialogState; | 
 |  |  | import javax.sip.InvalidArgumentException; | 
 |  |  | import javax.sip.SipException; | 
 |  |  | import java.io.*; | 
 |  |  | import java.io.File; | 
 |  |  | import java.io.IOException; | 
 |  |  | import java.io.InputStream; | 
 |  |  | import java.nio.file.Files; | 
 |  |  | import java.text.ParseException; | 
 |  |  | import java.util.*; | 
 |  |  | 
 |  |  |    @GetMapping("/devices") | 
 |  |  |    public PageInfo<Device> devices(int page, int count){ | 
 |  |  |        | 
 |  |  |       return storager.queryVideoDeviceList(page, count); | 
 |  |  |       return storager.queryVideoDeviceList(page, count,null); | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    /** | 
 |  |  | 
 |  |  |     */ | 
 |  |  |    @Operation(summary = "同步设备通道") | 
 |  |  |    @Parameter(name = "deviceId", description = "设备国标编号", required = true) | 
 |  |  |    @PostMapping("/devices/{deviceId}/sync") | 
 |  |  |    @GetMapping("/devices/{deviceId}/sync") | 
 |  |  |    public WVPResult<SyncStatus> devicesSync(@PathVariable String deviceId){ | 
 |  |  |        | 
 |  |  |       if (logger.isDebugEnabled()) { |