648540858
2023-06-20 21a96ad20fd75e55d03c00af8df8adb039f0c77a
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
@@ -14,6 +14,7 @@
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.service.IDeviceChannelService;
import com.genersoft.iot.vmp.service.IDeviceService;
import com.genersoft.iot.vmp.service.IInviteStreamService;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.vmanager.bean.BaseTree;
@@ -62,6 +63,9 @@
   @Autowired
   private IRedisCatchStorage redisCatchStorage;
   @Autowired
   private IInviteStreamService inviteStreamService;
   
   @Autowired
   private SIPCommander cmder;
@@ -184,7 +188,7 @@
      // 清除redis记录
      boolean isSuccess = deviceService.delete(deviceId);
      if (isSuccess) {
         redisCatchStorage.clearCatchByDeviceId(deviceId);
         inviteStreamService.clearInviteInfo(deviceId);
         // 停止此设备的订阅更新
         Set<String> allKeys = dynamicTask.getAllKeys();
         for (String key : allKeys) {
@@ -462,10 +466,12 @@
   @Operation(summary = "请求截图")
   @Parameter(name = "deviceId", description = "设备国标编号", required = true)
   @Parameter(name = "channelId", description = "通道国标编号", required = true)
   public void getSnap(HttpServletResponse resp, @PathVariable String deviceId, @PathVariable String channelId) {
   @Parameter(name = "mark", description = "标识", required = false)
   public void getSnap(HttpServletResponse resp, @PathVariable String deviceId, @PathVariable String channelId, @RequestParam(required = false) String mark) {
      try {
         final InputStream in = Files.newInputStream(new File("snap" + File.separator + deviceId + "_" + channelId + ".jpg").toPath());
         final InputStream in = Files.newInputStream(new File("snap" + File.separator + deviceId + "_" + channelId + (mark == null? ".jpg": ("_" + mark + ".jpg"))).toPath());
         resp.setContentType(MediaType.IMAGE_PNG_VALUE);
         IOUtils.copy(in, resp.getOutputStream());
      } catch (IOException e) {