Browse Source

新增 获取监控控制接口

zhaiyifei 8 tháng trước cách đây
mục cha
commit
87f3e4673c

+ 17 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/controller/IotScreenController.java

@@ -12,6 +12,8 @@ import com.yunfeiyun.agmp.common.service.WeatherService;
 import com.yunfeiyun.agmp.common.service.modal.LocationAddressModel;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotYbqdataReqVo;
 import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorAddressGetReqVo;
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorCaptureReqVo;
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorPtzReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotHomeDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotScreenStatReqVo;
@@ -98,6 +100,21 @@ public class IotScreenController extends BaseController {
         return success(iIotScreenService.monitorAddress(reqVo));
     }
 
+    /**
+     * 监控拍照接口
+     */
+    @PostMapping("/device/monitor/capture")
+    public AjaxResult monitorCapture(@RequestBody IotMonitorCaptureReqVo reqVo) {
+        return success(iIotScreenService.monitorCapture(reqVo));
+    }
+
+    /**
+     * 监控控制接口
+     */
+    @PostMapping("/device/monitor/ptz")
+    public AjaxResult monitorPtz(@RequestBody IotMonitorPtzReqVo reqVo) {
+        return success(iIotScreenService.monitorPtz(reqVo));
+    }
 
     /**
      * 获取对应请求标识指令任务

+ 16 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/IIotScreenService.java

@@ -4,6 +4,8 @@ import com.yunfeiyun.agmp.iot.common.domain.IotDevicelasteddata;
 import com.yunfeiyun.agmp.iot.common.domain.IotYbqEnvData;
 import com.yunfeiyun.agmp.iot.common.domain.reqvo.IotYbqdataReqVo;
 import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorAddressGetReqVo;
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorCaptureReqVo;
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorPtzReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotHomeDeviceListReqVo;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotScreenStatReqVo;
@@ -25,6 +27,20 @@ public interface IIotScreenService {
 
     public String monitorAddress(IotMonitorAddressGetReqVo reqVo);
 
+    /**
+     * 监控拍照
+     * @param reqVo
+     * @return
+     */
+    public String monitorCapture(IotMonitorCaptureReqVo reqVo);
+
+    /**
+     * 监控控制
+     * @param reqVo
+     * @return
+     */
+    public String monitorPtz(IotMonitorPtzReqVo reqVo);
+
     public IotCmdTaskLogResVo cmdTaskResult(String taskId);
 
     public List<IotDeviceListResVo> qxsqList(HttpServletRequest request, IotDeviceListReqVo reqVo);

+ 37 - 0
src/main/java/com/yunfeiyun/agmp/iotm/web/service/impl/IotScreenServiceImpl.java

@@ -18,6 +18,8 @@ import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceBaseListReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.domin.IotDeviceDataListReqVo;
 import com.yunfeiyun.agmp.iotm.device.common.service.IotDeviceCommonService;
 import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorAddressGetReqVo;
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorCaptureReqVo;
+import com.yunfeiyun.agmp.iotm.device.monitor.domin.IotMonitorPtzReqVo;
 import com.yunfeiyun.agmp.iotm.device.monitor.service.IotMonitorService;
 import com.yunfeiyun.agmp.iotm.device.ybq.domain.IotYbqPredictIntoDto;
 import com.yunfeiyun.agmp.iotm.web.domain.reqvo.IotDeviceListReqVo;
@@ -125,6 +127,39 @@ public class IotScreenServiceImpl implements IIotScreenService {
     }
 
     @Override
+    public String monitorCapture(IotMonitorCaptureReqVo reqVo) {
+        String devBid = reqVo.getDevBid();
+        if(StringUtils.isEmpty(devBid)){
+            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(),"设备标识不能为空");
+        }
+        IotDeviceBaseCtlReqVo iotDeviceBaseCtlReqVo = new IotDeviceBaseCtlReqVo();
+        iotDeviceBaseCtlReqVo.setDevBid(devBid);
+        iotDeviceBaseCtlReqVo.setCtlType("capture");
+        iotDeviceBaseCtlReqVo.setParams(reqVo);
+        return iotDeviceCommonService.ctl(iotDeviceBaseCtlReqVo);
+    }
+
+    /**
+     * 监控控制
+     *
+     * @param reqVo
+     * @return
+     */
+    @Override
+    public String monitorPtz(IotMonitorPtzReqVo reqVo) {
+        String devBid = reqVo.getDevBid();
+        if(StringUtils.isEmpty(devBid)){
+            throw new IotBizException(ErrorCode.INVALID_PARAMETER.getCode(),"设备标识不能为空");
+        }
+        reqVo.setStep(1);
+        IotDeviceBaseCtlReqVo iotDeviceBaseCtlReqVo = new IotDeviceBaseCtlReqVo();
+        iotDeviceBaseCtlReqVo.setDevBid(devBid);
+        iotDeviceBaseCtlReqVo.setCtlType("ptz");
+        iotDeviceBaseCtlReqVo.setParams(reqVo);
+        return iotDeviceCommonService.ctl(iotDeviceBaseCtlReqVo);
+    }
+
+    @Override
     public IotCmdTaskLogResVo cmdTaskResult(String taskId) {
         IotCmdtask iotCmdtask = iotCmdtaskService.selectIotCmdtaskByCtBid(taskId);
         IotCmdTaskLogResVo iotCmdTaskLogResVo = new IotCmdTaskLogResVo();
@@ -368,4 +403,6 @@ public class IotScreenServiceImpl implements IIotScreenService {
         return (IotYbqEnvData) mongoService.findOne(IotYbqEnvData.class, map, "ybqdataCreatedDate", "desc");
     }
 
+
+
 }