diff --git a/hzims-service/hikvision/pom.xml b/hzims-service/hikvision/pom.xml
new file mode 100644
index 0000000..713320c
--- /dev/null
+++ b/hzims-service/hikvision/pom.xml
@@ -0,0 +1,31 @@
+
+ 4.0.0
+
+ com.hnac.hzims
+ hzims-service
+ 4.0.0-SNAPSHOT
+
+
+ hikvision
+ jar
+
+ hikvision
+ http://maven.apache.org
+
+
+ UTF-8
+
+
+
+
+ com.hzinfo.framework
+ hnac-framework-mqtt-starters
+ ${bladex.project.version}
+
+
+ com.hikvision.ga
+ artemis-http-client
+
+
+
diff --git a/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/HikvisionApplication.java b/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/HikvisionApplication.java
new file mode 100644
index 0000000..53b10d5
--- /dev/null
+++ b/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);
+ }
+}
diff --git a/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/config/HikvisionConfig.java b/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/config/HikvisionConfig.java
new file mode 100644
index 0000000..85e60ec
--- /dev/null
+++ b/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;
+ }
+}
diff --git a/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/controller/HikvisionController.java b/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/controller/HikvisionController.java
new file mode 100644
index 0000000..a54425f
--- /dev/null
+++ b/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 getSubscriptionResult() {
+ return R.data(hikvisionService.getSubscriptionResult());
+ }
+}
diff --git a/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/service/IHikvisionService.java b/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/service/IHikvisionService.java
new file mode 100644
index 0000000..151a794
--- /dev/null
+++ b/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();
+}
diff --git a/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/service/impl/HikvisionServiceImpl.java b/hzims-service/hikvision/src/main/java/com/hnac/hzims/hikvision/service/impl/HikvisionServiceImpl.java
new file mode 100644
index 0000000..b304b67
--- /dev/null
+++ b/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 subscriptionPath = new HashMap(2) {
+ {
+ this.put("https://", "/artemis/api/eventService/v1/eventSubscriptionView");
+ }
+ };
+ return ArtemisHttpUtil.doPostStringArtemis(subscriptionPath,
+ "{\"subWay\":2}",
+ (Map) null,
+ (String) null,
+ "application/json",
+ (Map) null);
+ }
+
+ @Override
+ public Boolean subscribe() {
+ String result = this.getSubscriptionResult();
+ log.info("海康威视订阅结果:{}", result);
+ return Boolean.TRUE;
+ }
+}
diff --git a/hzims-service/hikvision/src/main/resources/application-dev.yml b/hzims-service/hikvision/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..3bba0bc
--- /dev/null
+++ b/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}
diff --git a/hzims-service/hikvision/src/main/resources/application-prod.yml b/hzims-service/hikvision/src/main/resources/application-prod.yml
new file mode 100644
index 0000000..a96da50
--- /dev/null
+++ b/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}
\ No newline at end of file
diff --git a/hzims-service/hikvision/src/main/resources/application-test.yml b/hzims-service/hikvision/src/main/resources/application-test.yml
new file mode 100644
index 0000000..ac352b6
--- /dev/null
+++ b/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}
\ No newline at end of file
diff --git a/hzims-service/hikvision/src/main/resources/application.yml b/hzims-service/hikvision/src/main/resources/application.yml
new file mode 100644
index 0000000..1ac4eb5
--- /dev/null
+++ b/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
\ No newline at end of file
diff --git a/hzims-service/inspect/pom.xml b/hzims-service/inspect/pom.xml
index f4e8843..ff84425 100644
--- a/hzims-service/inspect/pom.xml
+++ b/hzims-service/inspect/pom.xml
@@ -102,7 +102,6 @@
com.hikvision.ga
artemis-http-client
- 1.1.2
net.sf.ehcache
diff --git a/hzims-service/pom.xml b/hzims-service/pom.xml
index a756829..37b4c38 100644
--- a/hzims-service/pom.xml
+++ b/hzims-service/pom.xml
@@ -35,6 +35,7 @@
water-rain
message-alarm-service
simulate
+ hikvision
diff --git a/hzims-service/ticket/pom.xml b/hzims-service/ticket/pom.xml
index f8eb3ba..9b93413 100644
--- a/hzims-service/ticket/pom.xml
+++ b/hzims-service/ticket/pom.xml
@@ -188,7 +188,6 @@
com.hikvision.ga
artemis-http-client
- 1.1.2
diff --git a/hzims-service/video-image/pom.xml b/hzims-service/video-image/pom.xml
index 6b55662..4589d7b 100644
--- a/hzims-service/video-image/pom.xml
+++ b/hzims-service/video-image/pom.xml
@@ -54,7 +54,6 @@
com.hikvision.ga
artemis-http-client
- 1.1.2
com.hnac.hzinfo.data
diff --git a/pom.xml b/pom.xml
index 71221a6..3c5e68e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -161,7 +161,7 @@
com.hikvision.ga
artemis-http-client
- 1.1.2
+ 1.1.3