From 8dcf0af29d03e596a5071dfea3df3d5e89f4ff3b Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期四, 19 十月 2023 13:52:15 +0800 Subject: [PATCH] 修改RTU --- ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java | 109 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 78 insertions(+), 31 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 1ba9a14..2ffda2a 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,20 @@ 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.hiksdk.service.impl.hikClientServiceImpl; -import com.ruoyi.common.annotation.Anonymous; -import com.ruoyi.common.utils.SecurityUtils; +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; +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,7 +32,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.core.page.TableDataInfo; -import java.util.List; +import java.util.*; /** * 鐩告満璁惧Controller @@ -41,9 +46,13 @@ @Api(tags = "鐩告満绠$悊鎺ュ彛") public class ArdCamerasController extends BaseController { @Resource - private hikClientServiceImpl sdk; + private IHikClientService hikSdk; + @Resource + private IDhClientService dhSdk; @Resource private IArdCamerasService ardCamerasService; + @Resource + private IArdVideoInspectTaskService ardVideoInspectTaskService; /** * 鏌ヨ鐩告満璁惧鍒楄〃 @@ -88,20 +97,21 @@ @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) { + if (camera.getFactory().equals("1")) { + //娉ㄩ攢 + hikSdk.logout(camera.getId()); + //寮傛鐧诲綍 + hikSdk.asyncLogin(camera); + } + else if(camera.getFactory().equals("2")) + { + dhSdk.logout(camera.getId()); + dhSdk.login(camera); + } } - else - { - log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId()); - } - return toAjax(ardCamerasService.insertArdCameras(camera)); + return toAjax(i); } /** @@ -113,18 +123,15 @@ @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); + if (i > 0) { + camera= ardCamerasService.selectArdCamerasById(camera.getId()); + if(camera.getFactory().equals("1")) { + hikSdk.logout(camera.getId()); + hikSdk.asyncLogin(camera); } - else - { - log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId()); + else if(camera.getFactory().equals("2")) { + dhSdk.logout(camera.getId()); + dhSdk.login(camera); } } return toAjax(i); @@ -139,8 +146,48 @@ @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { for (String id : ids) { - sdk.loginOut(id); - } + hikSdk.logout(id); + dhSdk.logout(id); + } return toAjax(ardCamerasService.deleteArdCamerasByIds(ids)); } + + @GetMapping("/options") + @ApiOperation("閫夋嫨鐩告満鏁版嵁") + public List options(ArdCameras ardCameras) { + List<ArdCameras> list = ardCamerasService.findOptions(ardCameras); + 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()); + 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(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