Browse Source

add:海康威视智能告警订阅

show
luyie 1 month ago
parent
commit
34db44da95
  1. 31
      hzims-service/hikvision/pom.xml
  2. 28
      hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/HikvisionApplication.java
  3. 33
      hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/config/HikvisionConfig.java
  4. 26
      hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/controller/HikvisionController.java
  5. 14
      hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/service/IHikvisionService.java
  6. 55
      hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/service/impl/HikvisionServiceImpl.java
  7. 10
      hzims-service/hikvision/src/main/resources/application-dev.yml
  8. 6
      hzims-service/hikvision/src/main/resources/application-prod.yml
  9. 6
      hzims-service/hikvision/src/main/resources/application-test.yml
  10. 15
      hzims-service/hikvision/src/main/resources/application.yml
  11. 1
      hzims-service/inspect/pom.xml
  12. 1
      hzims-service/pom.xml
  13. 1
      hzims-service/ticket/pom.xml
  14. 1
      hzims-service/video-image/pom.xml
  15. 2
      pom.xml

31
hzims-service/hikvision/pom.xml

@ -0,0 +1,31 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.hnac.hzims</groupId>
<artifactId>hzims-service</artifactId>
<version>4.0.0-SNAPSHOT</version>
</parent>
<artifactId>hikvision</artifactId>
<packaging>jar</packaging>
<name>hikvision</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.hzinfo.framework</groupId>
<artifactId>hnac-framework-mqtt-starters</artifactId>
<version>${bladex.project.version}</version>
</dependency>
<dependency>
<groupId>com.hikvision.ga</groupId>
<artifactId>artemis-http-client</artifactId>
</dependency>
</dependencies>
</project>

28
hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/HikvisionApplication.java

@ -0,0 +1,28 @@
package com.hnac.hzims.hikvision;
import org.mybatis.spring.annotation.MapperScan;
import org.springblade.core.cloud.feign.EnableBladeFeign;
import org.springblade.core.launch.BladeApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.SpringCloudApplication;
/**
* 海康威视微服务
*
* @author ypj
* @date 2025-06-12
*/
@EnableBladeFeign
@SpringCloudApplication
@MapperScan(basePackages = {"com.hnac.hzinfo.**.mapper"})
public class HikvisionApplication {
static String APPLICATION_NAME = "hzims-hikvision";
public static void main(String[] args) {
BladeApplication.run(APPLICATION_NAME, HikvisionApplication.class, args);
}
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return BladeApplication.createSpringApplicationBuilder(builder, APPLICATION_NAME, HikvisionApplication.class);
}
}

33
hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/config/HikvisionConfig.java

@ -0,0 +1,33 @@
package com.hnac.hzims.hikvision.config;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
/**
* 海康威视配置
*
* @author ypj
* @date 2025-06-13
*/
@Configuration
@ConfigurationProperties(prefix = "hikvision.server")
@Data
@RefreshScope
public class HikvisionConfig {
private String host;
private String appKey;
private String appSecret;
public ArtemisConfig toArtemisConfig() {
ArtemisConfig artemisConfig = new ArtemisConfig();
artemisConfig.setHost(host);
artemisConfig.setAppKey(appKey);
artemisConfig.setAppSecret(appSecret);
return artemisConfig;
}
}

26
hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/controller/HikvisionController.java

@ -0,0 +1,26 @@
package com.hnac.hzims.hikvision.controller;
import com.hnac.hzims.hikvision.service.IHikvisionService;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 海康威视智能告警
*
* @author ypj
* @date 2025-06-13
*/
@RestController
@RequestMapping("/hikvision")
@RequiredArgsConstructor
public class HikvisionController {
private final IHikvisionService hikvisionService;
@GetMapping("/getSubscriptionResult")
public R<String> getSubscriptionResult() {
return R.data(hikvisionService.getSubscriptionResult());
}
}

14
hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/service/IHikvisionService.java

@ -0,0 +1,14 @@
package com.hnac.hzims.hikvision.service;
/**
* 海康威视视频服务
*
* @author ypj
* @date 2025-06-12
*/
public interface IHikvisionService {
String getSubscriptionResult();
Boolean subscribe();
}

55
hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/service/impl/HikvisionServiceImpl.java

@ -0,0 +1,55 @@
package com.hnac.hzims.hikvision.service.impl;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import com.hnac.hzims.hikvision.config.HikvisionConfig;
import com.hnac.hzims.hikvision.service.IHikvisionService;
import lombok.RequiredArgsConstructor;
import lombok.extern.java.Log;
import lombok.extern.slf4j.Slf4j;
import org.springblade.mqtt.config.MqttConfig;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
* 海康威视服务
*
* @author ypj
* @date 2025-06-12
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class HikvisionServiceImpl implements IHikvisionService {
private final MqttConfig mqttConfig;
private final HikvisionConfig hikvisionConfig;
@Override
public String getSubscriptionResult() {
ArtemisConfig.host = this.hikvisionConfig.getHost();
ArtemisConfig.appKey = this.hikvisionConfig.getAppKey();
ArtemisConfig.appSecret = this.hikvisionConfig.getAppSecret();
final Map<String, String> subscriptionPath = new HashMap<String, String>(2) {
{
this.put("https://", "/artemis/api/eventService/v1/eventSubscriptionView");
}
};
return ArtemisHttpUtil.doPostStringArtemis(subscriptionPath,
"{\"subWay\":2}",
(Map<String, String>) null,
(String) null,
"application/json",
(Map<String, String>) null);
}
@Override
public Boolean subscribe() {
String result = this.getSubscriptionResult();
log.info("海康威视订阅结果:{}", result);
return Boolean.TRUE;
}
}

10
hzims-service/hikvision/src/main/resources/application-dev.yml

@ -0,0 +1,10 @@
#服务器端口
server:
port: 8271
#数据源配置
spring:
datasource:
url: ${blade.datasource.dev.url}
username: ${blade.datasource.dev.username}
password: ${blade.datasource.dev.password}

6
hzims-service/hikvision/src/main/resources/application-prod.yml

@ -0,0 +1,6 @@
#数据源配置
spring:
datasource:
url: ${blade.datasource.prod.url}
username: ${blade.datasource.prod.username}
password: ${blade.datasource.prod.password}

6
hzims-service/hikvision/src/main/resources/application-test.yml

@ -0,0 +1,6 @@
#数据源配置
spring:
datasource:
url: ${blade.datasource.test.url}
username: ${blade.datasource.test.username}
password: ${blade.datasource.test.password}

15
hzims-service/hikvision/src/main/resources/application.yml

@ -0,0 +1,15 @@
spring:
application:
name: hzims-hikvision
#mybatis-plus配置
mybatis-plus:
mapper-locations: classpath:org/springbalde/**/mapper/*Mapper.xml,classpath:com/hnac/hzinfo/**/mapper/*Mapper.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: org.springbalde.**.entity,com.hnac.hzinfo.**.entity
#swagger扫描路径配置
swagger:
base-packages:
- org.springbalde
- com.hnac.hzinfo

1
hzims-service/inspect/pom.xml

@ -102,7 +102,6 @@
<dependency>
<groupId>com.hikvision.ga</groupId>
<artifactId>artemis-http-client</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>

1
hzims-service/pom.xml

@ -35,6 +35,7 @@
<module>water-rain</module>
<module>message-alarm-service</module>
<module>simulate</module>
<module>hikvision</module>
</modules>
<dependencies>

1
hzims-service/ticket/pom.xml

@ -188,7 +188,6 @@
<dependency>
<groupId>com.hikvision.ga</groupId>
<artifactId>artemis-http-client</artifactId>
<version>1.1.2</version>
</dependency>
<!-- ApacheHttp请求工具 Start -->

1
hzims-service/video-image/pom.xml

@ -54,7 +54,6 @@
<dependency>
<groupId>com.hikvision.ga</groupId>
<artifactId>artemis-http-client</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>com.hnac.hzinfo.data</groupId>

2
pom.xml

@ -161,7 +161,7 @@
<dependency>
<groupId>com.hikvision.ga</groupId>
<artifactId>artemis-http-client</artifactId>
<version>1.1.2</version>
<version>1.1.3</version>
</dependency>
<dependency>

Loading…
Cancel
Save