From 3fde6b45ddfcccb76bcb86c8b0e415342c443ce1 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 01 Aug 2023 11:35:02 +0800
Subject: [PATCH] 南科院对接

---
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/INkyService.java            |   40 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/updaterecord/UpdateRecordConfig.java  |   21 +
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/controller/TestController.java      |   48 +++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/NkyServiceImpl.java         |   66 +++++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/resources/application-dev.yml                           |   35 ++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataResPo.java           |   31 ++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/NkyApplication.java                 |   27 ++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/QueryReqPo.java         |   39 +++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataResChildrenPo.java   |   21 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/updaterecord/UpdateRecordAop.java     |   95 +++++++
 skjcmanager/skjcmanager-service/pom.xml                                                                          |    1 
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/PredictWatersPo.java    |   18 +
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/launch/NkyLauncherServiceImpl.java  |   33 ++
 skjcmanager/skjcmanager-service/skjcmanager-nky/pom.xml                                                          |   53 ++++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java    |   30 ++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataBigResultPojo.java   |   23 +
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/ZtApiServiceImpl.java       |   66 +++++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/resources/application-prod.yml                          |   33 ++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/ZtResultPo.java          |   20 +
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/test/java/cn/gistack/nky/SkjcmanagerNkyApplicationTests.java |   13 +
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java          |   26 ++
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/ArimaPredictReqPo.java  |   39 +++
 22 files changed, 778 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/pom.xml b/skjcmanager/skjcmanager-service/pom.xml
index a65cd63..9b5a104 100644
--- a/skjcmanager/skjcmanager-service/pom.xml
+++ b/skjcmanager/skjcmanager-service/pom.xml
@@ -24,6 +24,7 @@
         <module>skjcmanager-sm</module>
         <module>skjcmanager-alerts</module>
         <module>skjcmanager-xxljob</module>
+        <module>skjcmanager-nky</module>
     </modules>
 
     <dependencies>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/pom.xml b/skjcmanager/skjcmanager-service/skjcmanager-nky/pom.xml
new file mode 100644
index 0000000..04fba4e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+    <parent>
+        <artifactId>skjcmanager-service</artifactId>
+        <groupId>cn.gistack</groupId>
+        <version>3.0.1.RELEASE</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>skjcmanager-nky</artifactId>
+    <version>${bladex.project.version}</version>
+    <name>${project.artifactId}</name>
+    <packaging>jar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-core-boot</artifactId>
+        </dependency>
+        <!--开启多数据源-->
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-core-auto</artifactId>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>dockerfile-maven-plugin</artifactId>
+                <configuration>
+                    <username>${docker.username}</username>
+                    <password>${docker.password}</password>
+                    <repository>${docker.registry.url}/${docker.namespace}/${project.artifactId}</repository>
+                    <tag>${project.version}</tag>
+                    <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
+                    <buildArgs>
+                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
+                    </buildArgs>
+                    <skip>false</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/NkyApplication.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/NkyApplication.java
new file mode 100644
index 0000000..9e83c2b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/NkyApplication.java
@@ -0,0 +1,27 @@
+package cn.gistack.nky;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springblade.core.cloud.client.BladeCloudApplication;
+import org.springblade.core.launch.BladeApplication;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.client.RestTemplateBuilder;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.Bean;
+import org.springframework.web.client.RestTemplate;
+
+@BladeCloudApplication
+@EnableFeignClients({"cn.gistack"})
+@MapperScan({"org.springblade.**.mapper.**","cn.gistack.nky.**.mapper.**"})
+public class NkyApplication {
+
+	public static void main(String[] args) {
+		BladeApplication.run("blade-nky", NkyApplication.class, args);
+	}
+
+	@Bean
+	public RestTemplate restTemplate(RestTemplateBuilder builder){
+		return builder.build();
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/controller/TestController.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/controller/TestController.java
new file mode 100644
index 0000000..3aac610
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/controller/TestController.java
@@ -0,0 +1,48 @@
+package cn.gistack.nky.controller;
+
+import cn.gistack.nky.requestpojo.ArimaPredictReqPo;
+import cn.gistack.nky.requestpojo.QueryReqPo;
+import cn.gistack.nky.service.INkyService;
+import cn.gistack.nky.service.IZtApiService;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+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;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/28 17:45
+ */
+@Slf4j
+@Api(tags="测试")
+@RestController
+@RequestMapping("/test/test")
+@AllArgsConstructor
+public class TestController {
+
+	private IZtApiService ztApiService;
+	private INkyService nkyService;
+
+	@GetMapping(value = "/getTest")
+	public R getTest() {
+		return R.data(ztApiService.getWy());
+	}
+
+	@GetMapping(value = "/getTest2")
+	public R getTest2() {
+		ArimaPredictReqPo po = new ArimaPredictReqPo("42011640018","02","3",24);
+		nkyService.arimaPredict(po);
+		return R.data(null);
+	}
+
+	@GetMapping(value = "/getTest3")
+	public R getTest3() {
+		return R.data(ztApiService.getWy());
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/launch/NkyLauncherServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/launch/NkyLauncherServiceImpl.java
new file mode 100644
index 0000000..8d8d126
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/launch/NkyLauncherServiceImpl.java
@@ -0,0 +1,33 @@
+package cn.gistack.nky.launch;
+
+import cn.gistack.common.constant.LauncherConstant;
+import org.springblade.core.auto.service.AutoService;
+import org.springblade.core.launch.service.LauncherService;
+import org.springblade.core.launch.utils.PropsUtil;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+
+import java.util.Properties;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: nacos配置
+ * @USER: aix
+ * @DATE: 2023/7/31 10:51
+ */
+@AutoService(LauncherService.class)
+public class NkyLauncherServiceImpl implements LauncherService {
+
+	@Override
+	public void launcher(SpringApplicationBuilder builder, String appName, String profile, boolean isLocalDev) {
+		Properties props = System.getProperties();
+		// 通用注册
+		PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.server-addr", LauncherConstant.nacosAddr(profile));
+		PropsUtil.setProperty(props, "spring.cloud.nacos.config.server-addr", LauncherConstant.nacosAddr(profile));
+
+
+		PropsUtil.setProperty(props, "spring.cloud.sentinel.transport.dashboard", LauncherConstant.sentinelAddr(profile));
+		PropsUtil.setProperty(props, "spring.zipkin.base-url", LauncherConstant.zipkinAddr(profile));
+		//开启多数据源
+		PropsUtil.setProperty(props, "spring.datasource.dynamic.enabled", "true");
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/ArimaPredictReqPo.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/ArimaPredictReqPo.java
new file mode 100644
index 0000000..a50b60e
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/ArimaPredictReqPo.java
@@ -0,0 +1,39 @@
+package cn.gistack.nky.requestpojo;
+
+import cn.gistack.nky.resultpojo.DataResChildrenPo;
+import lombok.Data;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: arima预测请求参数
+ * @USER: aix
+ * @DATE: 2023/7/31 11:02
+ */
+@Data
+public class ArimaPredictReqPo {
+
+	private String damId;
+
+	private String pointId;
+
+	private String type;
+
+	private int number;
+
+	public ArimaPredictReqPo() {};
+
+	public ArimaPredictReqPo(String damId, String pointId, String type, int number) {
+		this.damId = damId;
+		this.pointId = pointId;
+		this.type = type;
+		this.number = number;
+	}
+
+	public ArimaPredictReqPo (DataResChildrenPo pojo, String type, int number) {
+		this.damId = pojo.getRes_cd();
+		this.pointId = pojo.getCd();
+		this.type = type;
+		this.number = number;
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java
new file mode 100644
index 0000000..dd342c0
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/HstPredictReqPo.java
@@ -0,0 +1,30 @@
+package cn.gistack.nky.requestpojo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: hst预测请求参数
+ * @USER: aix
+ * @DATE: 2023/7/31 11:04
+ */
+@Data
+public class HstPredictReqPo {
+
+	private String damId;
+
+	private String pointId;
+
+	private String type;
+
+	private List<PredictWatersPo> predictWaters;
+
+	public HstPredictReqPo(String damId, String pointId, String type, List<PredictWatersPo> predictWaters) {
+		this.damId = damId;
+		this.pointId = pointId;
+		this.type = type;
+		this.predictWaters = predictWaters;
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/PredictWatersPo.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/PredictWatersPo.java
new file mode 100644
index 0000000..ec219e9
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/PredictWatersPo.java
@@ -0,0 +1,18 @@
+package cn.gistack.nky.requestpojo;
+
+import lombok.Data;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/31 11:05
+ */
+@Data
+public class PredictWatersPo {
+
+	private String time;
+
+	private Double value;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/QueryReqPo.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/QueryReqPo.java
new file mode 100644
index 0000000..88d0ff1
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/requestpojo/QueryReqPo.java
@@ -0,0 +1,39 @@
+package cn.gistack.nky.requestpojo;
+
+import lombok.Data;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 查询结果请求参数
+ * @USER: aix
+ * @DATE: 2023/7/31 11:07
+ */
+@Data
+public class QueryReqPo {
+
+	/**
+	 * 第几页
+	 */
+	private int pageNo;
+	/**
+	 * 每页数量
+	 */
+	private int pageSize;
+	/**
+	 * 开始记录No
+	 */
+	private int startNo;
+	/**
+	 * 大坝id
+	 */
+	private int damId;
+	/**
+	 * 测点id
+	 */
+	private int pointId;
+	/**
+	 * 监测量类型
+	 */
+	private int type;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataBigResultPojo.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataBigResultPojo.java
new file mode 100644
index 0000000..af68870
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataBigResultPojo.java
@@ -0,0 +1,23 @@
+package cn.gistack.nky.resultpojo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/31 9:42
+ */
+@Data
+public class DataBigResultPojo {
+
+	private int totalRecords;
+	private int offset;
+	private int pageNo;
+	private int totalPages;
+	private int pageSize;
+	private List<DataResPo> data;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataResChildrenPo.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataResChildrenPo.java
new file mode 100644
index 0000000..64dff50
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataResChildrenPo.java
@@ -0,0 +1,21 @@
+package cn.gistack.nky.resultpojo;
+
+import lombok.Data;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/31 9:38
+ */
+@Data
+public class DataResChildrenPo {
+
+	private String res_reg_code;
+	private String cd;// 测站编码
+
+	private String tm;
+	private String res_cd; // 水库编码
+	private String res_nm; // 水库名称
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataResPo.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataResPo.java
new file mode 100644
index 0000000..aa0c19b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/DataResPo.java
@@ -0,0 +1,31 @@
+package cn.gistack.nky.resultpojo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/31 9:37
+ */
+@Data
+public class DataResPo {
+
+	private String rscd;
+	private String res_cd;
+	private String res_nm;
+	private String province_cd;
+	private String province_nm;
+	private String city_cd;
+	private String city_nm;
+	private String county_cd;
+	private String county_nm;
+	private String town_cd;
+	private String town_nm;
+	private String rv_name;
+	private String bas_guid;
+	private List<DataResChildrenPo> children;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/ZtResultPo.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/ZtResultPo.java
new file mode 100644
index 0000000..4a01207
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/resultpojo/ZtResultPo.java
@@ -0,0 +1,20 @@
+package cn.gistack.nky.resultpojo;
+
+import lombok.Data;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 中台返回resultpojo
+ * @USER: aix
+ * @DATE: 2023/7/28 17:21
+ */
+@Data
+public class ZtResultPo {
+
+	private DataBigResultPojo data;
+
+	private Integer code;
+
+	private String msg;
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/INkyService.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/INkyService.java
new file mode 100644
index 0000000..ef94b5c
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/INkyService.java
@@ -0,0 +1,40 @@
+package cn.gistack.nky.service;
+
+import cn.gistack.nky.requestpojo.ArimaPredictReqPo;
+import cn.gistack.nky.requestpojo.HstPredictReqPo;
+import cn.gistack.nky.requestpojo.QueryReqPo;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 南科院接口service
+ * @USER: aix
+ * @DATE: 2023/7/31 10:17
+ */
+public interface INkyService {
+
+	/**
+	 * arima 预测
+	 * 结果通过请通过查询接口查看
+	 */
+	void arimaPredict(ArimaPredictReqPo po);
+
+	/**
+	 * hst预测
+	 * 结果通过请通过查询接口查看
+	 */
+	void hstPredict(HstPredictReqPo po);
+
+	/**
+	 * arima预测查询结果
+	 * @param po 查询参数对象
+	 * @return
+	 */
+	Object arimaQuery(QueryReqPo po);
+
+	/**
+	 * hst预测查询结果
+	 * @return
+	 */
+	Object hstQuery(QueryReqPo po);
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java
new file mode 100644
index 0000000..0b690f1
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IZtApiService.java
@@ -0,0 +1,26 @@
+package cn.gistack.nky.service;
+
+
+import cn.gistack.nky.resultpojo.DataBigResultPojo;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 中台远程调用
+ * @USER: aix
+ * @DATE: 2023/7/28 9:44
+ */
+public interface IZtApiService {
+
+	/**
+	 * 实时渗压监测数据
+	 * @return list集合
+	 */
+	DataBigResultPojo getSljc();
+
+	/**
+	 * 实时变形监测数据
+	 * @return list集合
+	 */
+	DataBigResultPojo getWy();
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/NkyServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/NkyServiceImpl.java
new file mode 100644
index 0000000..3c02173
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/NkyServiceImpl.java
@@ -0,0 +1,66 @@
+package cn.gistack.nky.service;
+
+import cn.gistack.nky.requestpojo.ArimaPredictReqPo;
+import cn.gistack.nky.requestpojo.HstPredictReqPo;
+import cn.gistack.nky.requestpojo.QueryReqPo;
+import com.alibaba.fastjson.JSON;
+import org.springframework.http.*;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/31 14:19
+ */
+@Service
+public class NkyServiceImpl implements INkyService {
+
+	// ARIMA预测接口URL
+	private static final String ARIMA_PREDICT = "https://sk.hubeishuiyi.cn/warnIp/predict/arimaPredict";
+	// ARIMA预测结果接口
+	private static final String ARIMA_QUERY = "https://sk.hubeishuiyi.cn/warnIp/predict/arimaQuery";
+	// HST预测接口URL
+	private static final String HST_PREDICT = "https://sk.hubeishuiyi.cn/warnIp/predict/hstPredict";
+	// HST预测结果接口
+	private static final String HST_QUERY = "https://sk.hubeishuiyi.cn/warnIp/predict/hstQuery";
+
+	@Override
+	public void arimaPredict(ArimaPredictReqPo po) {
+		setPredict(ARIMA_PREDICT, JSON.toJSONString(po));
+	}
+
+	@Override
+	public void hstPredict(HstPredictReqPo po) {
+		setPredict(HST_PREDICT, JSON.toJSONString(po));
+	}
+
+	@Override
+	public Object arimaQuery(QueryReqPo po) {
+		return null;
+	}
+
+	@Override
+	public Object hstQuery(QueryReqPo po) {
+		return null;
+	}
+
+	private void setPredict(String url, String jsonparams) {
+		// 声明一个header变量
+		HttpHeaders headers = new HttpHeaders();
+		// 设置为json格式
+		MediaType mediaType = MediaType.parseMediaType("application/json;charset=utf-8");
+		headers.setContentType(mediaType);
+		headers.add("Accept", MediaType.APPLICATION_JSON.toString());
+
+		HttpEntity<String> httpEntity = new HttpEntity(jsonparams, headers);
+
+		RestTemplate template = new RestTemplate();
+		String resultStr = template.postForObject(url, httpEntity, String.class);
+		System.out.println(resultStr);
+
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/ZtApiServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/ZtApiServiceImpl.java
new file mode 100644
index 0000000..ea88771
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/ZtApiServiceImpl.java
@@ -0,0 +1,66 @@
+package cn.gistack.nky.service;
+
+import cn.gistack.nky.resultpojo.DataBigResultPojo;
+import cn.gistack.nky.resultpojo.ZtResultPo;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/28 17:16
+ */
+@Service
+public class ZtApiServiceImpl implements IZtApiService {
+
+	/**
+	 * 实时渗压监测
+	 */
+	private static final String LASTEST_OSMOTIC_PRESSURE = "https://sk.hubeishuiyi.cn/services/1234567890ABCDEFGHIJKLMN/monitor/lastest_osmotic_pressure/api?res_nm=&cd=&city_cd=&county_cd=&pageNo=1&pageSize=9999";
+
+	private static final String WY_API = "https://sk.hubeishuiyi.cn/services/1234567890ABCDEFGHIJKLMN/monitor/wy/api?res_nm=&cd=&city_cd=&county_cd=&pageNo=1&pageSize=9999";
+
+	@Override
+	public DataBigResultPojo getSljc() {
+		Map<String, Object> params = new LinkedHashMap<>();
+		return getData(LASTEST_OSMOTIC_PRESSURE, "get", params);
+	}
+
+	@Override
+	public DataBigResultPojo getWy() {
+		Map<String, Object> params = new LinkedHashMap<>();
+		return getData(WY_API, "get", params);
+	}
+
+	private DataBigResultPojo getData(String url, String type, Map<String, Object> params) {
+		HttpMethod method;
+		if (type.toLowerCase().equals("get".toLowerCase())) {
+			method = HttpMethod.GET;
+		} else {
+			method = HttpMethod.POST;
+		}
+		// 声明一个header变量
+		HttpHeaders headers = new HttpHeaders();
+		// 设置apikey
+		headers.set("apikey","F1DBECD719108635189480CF60E6553ADB3109616426BD537F25A430DFC613B491A025C4A51E77FD08C6E5B7CBE05917A461286E7B6D69F1AB1B14F946149D2065B0C675F8FEDF4B9B05C1496881BC5A");
+
+		HttpEntity<String> httpEntity = new HttpEntity(null, headers);
+
+		RestTemplate template = new RestTemplate();
+		ResponseEntity<ZtResultPo> ztResultPojoResponseEntity = template.exchange(url, method,httpEntity, ZtResultPo.class,params);
+		if (ztResultPojoResponseEntity.getStatusCodeValue() == 200) {
+			return ztResultPojoResponseEntity.getBody().getData();
+		}
+
+		return null;
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/resources/application-dev.yml b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..80acb80
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/resources/application-dev.yml
@@ -0,0 +1,35 @@
+#服务器端口
+server:
+  port: 8115
+
+#数据源配置
+#spring:
+#  datasource:
+#    url: ${blade.datasource.dev.url}
+#    username: ${blade.datasource.dev.username}
+#    password: ${blade.datasource.dev.password}
+
+#多数据源配置
+spring:
+  #排除DruidDataSourceAutoConfigure
+  autoconfigure:
+    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+  datasource:
+    dynamic:
+      #设置默认的数据源或者数据源组,默认值即为master
+      primary: master
+      datasource:
+        ## 业务默认数据源
+        master:
+          url: ${blade.datasource.dev.url}
+          username: ${blade.datasource.dev.username}
+          password: ${blade.datasource.dev.password}
+        ##中台数据源
+        zt:
+          url: ${blade.datasource.dev.zt.url}
+          username: ${blade.datasource.dev.zt.username}
+          password: ${blade.datasource.dev.zt.password}
+
+  main:
+    allow-circular-references: true
+
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/resources/application-prod.yml b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/resources/application-prod.yml
new file mode 100644
index 0000000..2e37cad
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/resources/application-prod.yml
@@ -0,0 +1,33 @@
+#服务器端口
+server:
+  port: 8115
+
+#数据源配置
+#spring:
+#  datasource:
+#    url: ${blade.datasource.prod.url}
+#    username: ${blade.datasource.prod.username}
+#    password: ${blade.datasource.prod.password}
+
+#多数据源配置
+spring:
+  #排除DruidDataSourceAutoConfigure
+  autoconfigure:
+    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+  datasource:
+    dynamic:
+      #设置默认的数据源或者数据源组,默认值即为master
+      primary: master
+      datasource:
+        master:
+          url: ${blade.datasource.prod.url}
+          username: ${blade.datasource.prod.username}
+          password: ${blade.datasource.prod.password}
+        zt:
+          url: ${blade.datasource.prod.zt.url}
+          username: ${blade.datasource.prod.zt.username}
+          password: ${blade.datasource.prod.zt.password}
+
+  main:
+    allow-circular-references: true
+
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/test/java/cn/gistack/nky/SkjcmanagerNkyApplicationTests.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/test/java/cn/gistack/nky/SkjcmanagerNkyApplicationTests.java
new file mode 100644
index 0000000..18b91bf
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/test/java/cn/gistack/nky/SkjcmanagerNkyApplicationTests.java
@@ -0,0 +1,13 @@
+package cn.gistack.nky;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class SkjcmanagerNkyApplicationTests {
+
+	@Test
+	void contextLoads() {
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/updaterecord/UpdateRecordAop.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/updaterecord/UpdateRecordAop.java
new file mode 100644
index 0000000..1bcf528
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/updaterecord/UpdateRecordAop.java
@@ -0,0 +1,95 @@
+package cn.gistack.sm.updaterecord;
+
+import io.geekidea.updaterecord.api.entity.UpdateRecordColumnLog;
+import io.geekidea.updaterecord.api.entity.UpdateRecordLog;
+import io.geekidea.updaterecord.api.entity.UpdateRecordTableLog;
+import io.geekidea.updaterecord.core.aop.UpdateRecordAopSupport;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/13 14:16
+ */
+@Slf4j
+@Aspect
+@Component
+public class UpdateRecordAop extends UpdateRecordAopSupport {
+
+	/**
+	 * 切点
+	 */
+	private static final String POINTCUT = "@annotation(io.geekidea.updaterecord.annotation.UpdateRecord)";
+
+	/**
+	 * 方法执行之前
+	 *
+	 * @param joinPoint
+	 * @throws Throwable
+	 */
+	@Before(POINTCUT)
+	@Override
+	protected void doBefore(JoinPoint joinPoint) throws Throwable {
+		super.doBeforeHandle(joinPoint);
+	}
+
+	/**
+	 * 方法正常执行并成功返回
+	 *
+	 * @param joinPoint
+	 * @param result
+	 * @throws Throwable
+	 */
+	@AfterReturning(value = POINTCUT, returning = RESULT)
+	@Override
+	protected void doAfterReturning(JoinPoint joinPoint, Object result) throws Throwable {
+		super.doAfterReturningHandle(joinPoint, result);
+	}
+
+	/**
+	 * 异常处理
+	 *
+	 * @param exception
+	 * @throws Throwable
+	 */
+	@AfterThrowing(value = POINTCUT, throwing = EXCEPTION)
+	@Override
+	protected void doAfterThrowing(Throwable exception) throws Throwable {
+		super.doAfterThrowingHandle(exception);
+	}
+
+	@Override
+	protected String getToken(HttpServletRequest request) {
+		return super.getToken(request);
+	}
+
+	@Override
+	protected void handleUpdateRecord(UpdateRecordLog updateRecordLog, List<UpdateRecordTableLog> updateRecordTableLogs, List<UpdateRecordColumnLog> updateRecordColumnLogs) {
+		// 需自己完善当前登陆用户ID和用户名称,IP对应的区域,备注信息等
+		updateRecordLog.setUserId(String.valueOf(AuthUtil.getUserId()));
+		updateRecordLog.setUserName(AuthUtil.getUserName());
+		updateRecordLog.setArea("");
+		updateRecordLog.setRemark("update...");
+	}
+
+	@Async
+	@Override
+	protected void save(UpdateRecordLog updateRecordLog, List<UpdateRecordTableLog> updateRecordTableLogs, List<UpdateRecordColumnLog> updateRecordColumnLogs) {
+		super.save(updateRecordLog, updateRecordTableLogs, updateRecordColumnLogs);
+	}
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/updaterecord/UpdateRecordConfig.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/updaterecord/UpdateRecordConfig.java
new file mode 100644
index 0000000..102f45b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/updaterecord/UpdateRecordConfig.java
@@ -0,0 +1,21 @@
+package cn.gistack.sm.updaterecord;
+
+import io.geekidea.updaterecord.mybatis.UpdateRecordMybatisInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/7/13 14:16
+ */
+@Configuration
+public class UpdateRecordConfig {
+
+	@Bean
+	public UpdateRecordMybatisInterceptor updateRecordMybatisInterceptor(){
+		return new UpdateRecordMybatisInterceptor();
+	}
+
+}

--
Gitblit v1.9.3