‘liusuyi’
2023-10-24 3ed3f6c299eabbda1c161408732d71ecb60b8959
ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
@@ -7,6 +7,9 @@
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.camera.service.IArdCamerasService;
import com.ruoyi.device.camera.service.ICameraSdkService;
import com.ruoyi.device.camera.service.impl.CameraSdkServiceImpl;
import com.ruoyi.device.dhsdk.service.IDhClientService;
import com.ruoyi.device.hiksdk.service.IHikClientService;
import com.ruoyi.device.hiksdk.service.impl.HikClientServiceImpl;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -30,6 +33,7 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.core.page.TableDataInfo;
import java.util.*;
/**
@@ -44,7 +48,11 @@
@Api(tags = "相机管理接口")
public class ArdCamerasController extends BaseController {
    @Resource
    private IHikClientService sdk;
    private IHikClientService hikSdk;
    @Resource
    private IDhClientService dhSdk;
    @Resource
    private ICameraSdkService cameraSdkService;
    @Resource
    private IArdCamerasService ardCamerasService;
    @Resource
@@ -94,11 +102,9 @@
    @PostMapping
    public AjaxResult add(@RequestBody ArdCameras camera) {
        int i = ardCamerasService.insertArdCameras(camera);
        if(i>0) {
            //注销
            sdk.loginOut(camera.getId());
            //异步登录
            sdk.asyncLogin(camera);
        if (i > 0) {
            cameraSdkService.logout(camera.getId());
            cameraSdkService.login(camera);
        }
        return toAjax(i);
    }
@@ -112,11 +118,9 @@
    @PutMapping
    public AjaxResult edit(@RequestBody ArdCameras camera) {
        int i = ardCamerasService.updateArdCameras(camera);
        if(i>0)
        {
            ArdCameras cameras = ardCamerasService.selectArdCamerasById(camera.getId());
            sdk.loginOut(cameras.getId());
            sdk.asyncLogin(cameras);
        if (i > 0) {
            cameraSdkService.logout(camera.getId());
            cameraSdkService.login(camera);
        }
        return toAjax(i);
    }
@@ -129,9 +133,8 @@
    @Log(title = "相机设备", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids) {
        for(String id :ids)
        {
            sdk.loginOut(id);
        for (String id : ids) {
            cameraSdkService.logout(id);
        }
        return toAjax(ardCamerasService.deleteArdCamerasByIds(ids));
    }
@@ -140,37 +143,38 @@
    @ApiOperation("选择相机数据")
    public List options(ArdCameras ardCameras) {
        List<ArdCameras> list = ardCamerasService.findOptions(ardCameras);
        System.out.println("list:"+list.size());
        List options = new ArrayList();
        for (ArdCameras item : list) {
            Map option = new HashMap();
            option.put("value", item.getId());
            option.put("label", item.getName());
            option.put("channel", item.getChanNo());
            option.put("channelList", item.getChannelList());
            List timeList = ardVideoInspectTaskService.getCameraIdleTimeList(item.getId());
            option.put("idleTimeList", timeList);//空闲时间段
            options.add(option);
        }
        return options;
    }
    @GetMapping("/getDeptAndCamera")
    @ApiOperation("获取部门和相机")
    public AjaxResult getDeptAndCamera()
    {
    public AjaxResult getDeptAndCamera() {
        Map deptAndCamera = ardCamerasService.getChildDeptAndCamera(true);
        return AjaxResult.success(deptAndCamera);
    }
    @GetMapping("/getDeptAndCameraWithCheckBox")
    @ApiOperation("获取部门和相机(开启复选框)")
    public AjaxResult getDeptAndCameraWithCheckBox()
    {
    public AjaxResult getDeptAndCameraWithCheckBox() {
        Map deptAndCamera = ardCamerasService.getChildDeptAndCamera(false);
        return AjaxResult.success(deptAndCamera);
    }
    @PostMapping("/getNearCamerasBycoordinate")
    @ApiOperation("获取附近的相机")
    @ApiOperationSupport(includeParameters = {"targetPosition"})
    public AjaxResult getNearCamerasBycoordinate(@RequestBody CameraCmd cmd)
    {
    public AjaxResult getNearCamerasBycoordinate(@RequestBody CameraCmd cmd) {
        TreeMap nearCamerasBycoordinate = ardCamerasService.getNearCamerasBycoordinate(cmd);
        return AjaxResult.success(nearCamerasBycoordinate);
    }