From 4a293865ac437a812eea8800cc0b04314efbd210 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期二, 24 十月 2023 10:06:24 +0800 Subject: [PATCH] 异步登录增加延迟时间避免接口频繁 修改大华通道数量获取 --- ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java | 89 ++++++++++++++++++++++++-------------------- 1 files changed, 49 insertions(+), 40 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java index eca36f8..4a4976e 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java @@ -3,15 +3,22 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; 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.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.service.ISysDeptService; +import com.ruoyi.inspect.service.IArdVideoInspectTaskService; +import com.ruoyi.media.service.IVtduService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -27,10 +34,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.core.page.TableDataInfo; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 鐩告満璁惧Controller @@ -44,9 +48,15 @@ @Api(tags = "鐩告満绠$悊鎺ュ彛") public class ArdCamerasController extends BaseController { @Resource - private HikClientServiceImpl sdk; + private IHikClientService hikSdk; + @Resource + private IDhClientService dhSdk; + @Resource + private ICameraSdkService cameraSdkService; @Resource private IArdCamerasService ardCamerasService; + @Resource + private IArdVideoInspectTaskService ardVideoInspectTaskService; /** * 鏌ヨ鐩告満璁惧鍒楄〃 @@ -91,20 +101,12 @@ @Log(title = "鐩告満璁惧", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdCameras camera) { - //娉ㄩ攢 - sdk.loginOut(camera.getId()); - //鐧诲綍 - camera = sdk.login(camera); - if (camera.getLoginId() >= 0) { - log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛锛�" + camera.getLoginId()); - camera.setUpdateBy(SecurityUtils.getUsername()); - ardCamerasService.updateArdCameras(camera); + int i = ardCamerasService.insertArdCameras(camera); + if (i > 0) { + cameraSdkService.logout(camera.getId()); + cameraSdkService.login(camera); } - else - { - log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId()); - } - return toAjax(ardCamerasService.insertArdCameras(camera)); + return toAjax(i); } /** @@ -116,19 +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()); - camera = sdk.login(cameras); - if (camera.getLoginId() >= 0) { - log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛锛�" + camera.getLoginId()); - ardCamerasService.updateArdCameras(camera); - } - else - { - log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId()); - } + if (i > 0) { + cameraSdkService.logout(camera.getId()); + cameraSdkService.login(camera); } return toAjax(i); } @@ -142,10 +134,11 @@ @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { for (String id : ids) { - sdk.loginOut(id); - } + cameraSdkService.logout(id); + } return toAjax(ardCamerasService.deleteArdCamerasByIds(ids)); } + @GetMapping("/options") @ApiOperation("閫夋嫨鐩告満鏁版嵁") public List options(ArdCameras ardCameras) { @@ -155,17 +148,33 @@ Map option = new HashMap(); option.put("value", item.getId()); option.put("label", item.getName()); - option.put("channel", item.getChannel()); - // option.put("description", item.getOilProduction()); + option.put("channel", item.getChanNo()); + List timeList = ardVideoInspectTaskService.getCameraIdleTimeList(item.getId()); + option.put("idleTimeList", timeList);//绌洪棽鏃堕棿娈� options.add(option); } return options; } + @GetMapping("/getDeptAndCamera") @ApiOperation("鑾峰彇閮ㄩ棬鍜岀浉鏈�") - public AjaxResult getDeptAndCamera() - { - Map deptAndCamera = ardCamerasService.getChildDeptAndCamera(); + public AjaxResult getDeptAndCamera() { + Map deptAndCamera = ardCamerasService.getChildDeptAndCamera(true); return AjaxResult.success(deptAndCamera); } + + @GetMapping("/getDeptAndCameraWithCheckBox") + @ApiOperation("鑾峰彇閮ㄩ棬鍜岀浉鏈�(寮�鍚閫夋)") + public AjaxResult getDeptAndCameraWithCheckBox() { + Map deptAndCamera = ardCamerasService.getChildDeptAndCamera(false); + return AjaxResult.success(deptAndCamera); + } + + @PostMapping("/getNearCamerasBycoordinate") + @ApiOperation("鑾峰彇闄勮繎鐨勭浉鏈�") + @ApiOperationSupport(includeParameters = {"targetPosition"}) + public AjaxResult getNearCamerasBycoordinate(@RequestBody CameraCmd cmd) { + TreeMap nearCamerasBycoordinate = ardCamerasService.getNearCamerasBycoordinate(cmd); + return AjaxResult.success(nearCamerasBycoordinate); + } } -- Gitblit v1.9.3