From 75bdfdf411599623b4fc87fb6905f57cd0361b74 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Fri, 6 Sep 2024 09:43:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E7=94=A8=E6=B5=B7=E5=BA=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=9B=91=E6=8E=A7=E7=82=B9=E5=88=97=E8=A1=A8v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../video/controller/VideoItemController.java | 15 +++++++++++++++ .../video/service/IVideoItemService.java | 2 ++ .../service/impl/VideoItemServiceImpl.java | 13 +++++++++++++ .../zhgd/xmgl/security/WebSecurityConfig.java | 17 +++++++++++++++++ .../java/com/zhgd/xmgl/util/HikVideoUtil.java | 17 +++++++++++++++++ 5 files changed, 64 insertions(+) diff --git a/src/main/java/com/zhgd/xmgl/modules/video/controller/VideoItemController.java b/src/main/java/com/zhgd/xmgl/modules/video/controller/VideoItemController.java index e082c3ea1..6c7793f52 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/controller/VideoItemController.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/controller/VideoItemController.java @@ -379,5 +379,20 @@ public class VideoItemController { return Result.success(videoItemService.countStatusTrend(param)); } + @ApiOperation(value = "调用海康查询监控点列表v2", notes = "调用海康查询监控点列表v2", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "name", value = "名称,模糊搜索,最大长度32,若包含中文,最大长度指不超过按照指定编码的字节长度,即getBytes(\"utf-8\").length", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "isSubRegion", value = "true时,搜索regionIndexCodes及其子孙区域的资源; false时,只搜索 regionIndexCodes的资源", paramType = "body", required = true, dataType = "Boolean"), + @ApiImplicitParam(name = "pageNo", value = "当前页码", paramType = "body", required = true, dataType = "Number"), + @ApiImplicitParam(name = "pageSize", value = "分页大小", paramType = "body", required = true, dataType = "Number"), + @ApiImplicitParam(name = "orderBy", value = "排序字段,注意:排序字段必须是查询条件,否则返回参数错误", paramType = "body", required = true, dataType = "String"), + @ApiImplicitParam(name = "orderType", value = "降序升序,降序:desc 升序:asc", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/camera/search") + public Result searchCameraFromHk(@ApiIgnore @RequestBody Map param) { + return Result.success(videoItemService.searchCameraFromHk(param)); + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java b/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java index 13f10319f..59466215d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/IVideoItemService.java @@ -257,4 +257,6 @@ public interface IVideoItemService extends IService { * @return */ List countStatusTrend(Map param); + + String searchCameraFromHk(Map param); } diff --git a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java index bf9d0e8f2..8089dd73a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/video/service/impl/VideoItemServiceImpl.java @@ -756,4 +756,17 @@ public class VideoItemServiceImpl extends ServiceImpl param) { + ProjectVideoConfig projectVideoConfig = getEnableProjectVideoConfigByProjectSn(param); + if (projectVideoConfig == null) { + throw new OpenAlertException("未启用视频配置"); + } + if (Objects.equals(projectVideoConfig.getVideoType(), ProjectVideoConfigVideoTypeEnum.ISC.getValue())) { + return HikVideoUtil.searchCamera(param, projectVideoConfig.getAccount(), projectVideoConfig.getPassword(), projectVideoConfig.getAppId(), projectVideoConfig.getAppSecret()); + } else { + throw new OpenAlertException("未启用海康视频配置"); + } + } + } diff --git a/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java b/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java index 7fad43e86..5a7123e2d 100644 --- a/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java +++ b/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java @@ -80,6 +80,23 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { http.authorizeRequests() //请求路径允许访问 + .antMatchers("/xmgl/videoItem/camera/search").permitAll() + .antMatchers("/xmgl/videoItem/getVideoItemInfo").permitAll() + .antMatchers("/xmgl/contractorProjectMonthlyWeeklyReport/flow/add").permitAll() + .antMatchers("/xmgl/projectEnterprise/flow/add").permitAll() + .antMatchers("/xmgl/flowExceptionLog/flow/add").permitAll() + .antMatchers("/xmgl/flowExceptionLog/add").permitAll() + .antMatchers("/xmgl/civilEngineeringQualityInspectionOrder/flow/add").permitAll() + .antMatchers("/xmgl/nondestructiveTestOrderTicket/flow/add").permitAll() + .antMatchers("/xmgl/constructionEquipmentTool/flow/add").permitAll() + .antMatchers("/xmgl/xzSupplierQualificationApply/flow/start/token").permitAll() + .antMatchers("/xmgl/xzSupplierQualificationApply/flow/saveInfo").permitAll() + .antMatchers("/xmgl/pouringOrderLedger/flow/add").permitAll() + .antMatchers("/xmgl/qualityCommonProblemRecord/flow/add").permitAll() + .antMatchers("/xmgl/liftingOperation/flow/add").permitAll() + .antMatchers("/xmgl/confinedSpaceOperation/flow/add").permitAll() + .antMatchers("/xmgl/firstOrderFire/flow/add").permitAll() + .antMatchers("/xmgl/heightPermit/flow/add").permitAll() .antMatchers("/xmgl/dangerEnvironmentEvaluate/flow/add").permitAll() .antMatchers("/xmgl/firstExampleManage/flow/add").permitAll() .antMatchers("/actuator/**").permitAll() diff --git a/src/main/java/com/zhgd/xmgl/util/HikVideoUtil.java b/src/main/java/com/zhgd/xmgl/util/HikVideoUtil.java index b7180e947..f3abc7a83 100644 --- a/src/main/java/com/zhgd/xmgl/util/HikVideoUtil.java +++ b/src/main/java/com/zhgd/xmgl/util/HikVideoUtil.java @@ -565,4 +565,21 @@ public class HikVideoUtil { //log.info(data); } + public static String searchCamera(Map param, String ip, String port, String appke, String appSecret) { + final String getCamsApi = ARTEMIS_PATH + "/api/resource/v2/camera/search"; + String body = JSON.toJSONString(param); + Map path = new HashMap(2) { + { + put("https://", getCamsApi); + } + }; + String host = ip + ":" + port; + String result = doPostStringArtemis(host, path, body, null, null, "application/json", appke, appSecret); + log.info("海康查询监控点列表v2返回结果:{}", result); + if (result != null && result.length() > 0) { + return result; + } else { + throw new OpenAlertException(MessageUtil.get("failErr")); + } + } }