diff --git a/pom.xml b/pom.xml
index 969b7bc..1e6ab8d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,6 +101,15 @@
org.springframework.boot
spring-boot-starter-data-redis
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+
+
+ com.baomidou
+ dynamic-datasource-spring-boot-starter
+ 2.5.6
+
mysql
mysql-connector-java
@@ -148,7 +157,22 @@
spring-cloud-starter-alibaba-nacos-discovery
2021.1
-
+
+ org.springframework.boot
+ spring-boot-test
+ test
+
+
+ junit
+ junit
+ test
+
+
+ org.springframework
+ spring-test
+ test
+
+
diff --git a/pom.xml b/pom.xml
index 969b7bc..1e6ab8d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,6 +101,15 @@
org.springframework.boot
spring-boot-starter-data-redis
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+
+
+ com.baomidou
+ dynamic-datasource-spring-boot-starter
+ 2.5.6
+
mysql
mysql-connector-java
@@ -148,7 +157,22 @@
spring-cloud-starter-alibaba-nacos-discovery
2021.1
-
+
+ org.springframework.boot
+ spring-boot-test
+ test
+
+
+ junit
+ junit
+ test
+
+
+ org.springframework
+ spring-test
+ test
+
+
diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java
index 1a659ca..3d0f82b 100644
--- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java
+++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java
@@ -1,10 +1,26 @@
package org.springnewfiber.dataadapter.xf;
+import com.alibaba.fastjson.JSONObject;
+import java.util.ArrayList;
+import java.util.List;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
+import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity;
+import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto;
+import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorWasData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData;
@Getter
public enum XfDataEnum {
+ /**
+ *
+ */
ChnlData("ChnlData","港渠信息"),
ForcastData("ForcastData","汉口水情"),
LakeData("LakeData","湖泊监测数据"),
@@ -31,4 +47,34 @@
}
return null;
}
+
+ @SuppressWarnings("unchecked")
+ public static List parse(String data, XfDataEnum xfDataEnum){
+ List result = new ArrayList<>();
+
+ if (xfDataEnum == XfDataEnum.ChnlData) {
+ result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class);
+// } else if (xfDataEnum == XfDataEnum.ForcastData) {
+// result = JSONObject.parseArray(data, MonitorForcastData.class);
+ } else if (xfDataEnum == XfDataEnum.LakeData) {
+ result = (List) JSONObject.parseArray(data, MonitorLakeData.class);
+ } else if (xfDataEnum == XfDataEnum.Meteorological) {
+ result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class);
+ } else if (xfDataEnum == XfDataEnum.PptnData) {
+ result = (List) JSONObject.parseArray(data, MonitorPptnData.class);
+ } else if (xfDataEnum == XfDataEnum.PumpData) {
+ result = (List) JSONObject.parseArray(data, MonitorPumpData.class);
+ } else if (xfDataEnum == XfDataEnum.RiverData) {
+ result = (List) JSONObject.parseArray(data, MonitorRiverData.class);
+ } else if (xfDataEnum == XfDataEnum.SoilData) {
+ result = (List) JSONObject.parseArray(data, MonitorSoilData.class);
+ } else if (xfDataEnum == XfDataEnum.WasData) {
+ result = (List) JSONObject.parseArray(data, MonitorWasData.class);
+ } else if (xfDataEnum == XfDataEnum.WetlogData) {
+ result = (List) JSONObject.parseArray(data, MonitorWetlogData.class);
+ }
+
+ return result;
+ }
+
}
diff --git a/pom.xml b/pom.xml
index 969b7bc..1e6ab8d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -101,6 +101,15 @@
org.springframework.boot
spring-boot-starter-data-redis
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+
+
+ com.baomidou
+ dynamic-datasource-spring-boot-starter
+ 2.5.6
+
mysql
mysql-connector-java
@@ -148,7 +157,22 @@
spring-cloud-starter-alibaba-nacos-discovery
2021.1
-
+
+ org.springframework.boot
+ spring-boot-test
+ test
+
+
+ junit
+ junit
+ test
+
+
+ org.springframework
+ spring-test
+ test
+
+
diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java
index 1a659ca..3d0f82b 100644
--- a/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java
+++ b/src/main/java/org/springnewfiber/dataadapter/xf/XfDataEnum.java
@@ -1,10 +1,26 @@
package org.springnewfiber.dataadapter.xf;
+import com.alibaba.fastjson.JSONObject;
+import java.util.ArrayList;
+import java.util.List;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
+import org.springnewfiber.dataadapter.xf.entity.BaseXfInterfaceEntity;
+import org.springnewfiber.dataadapter.xf.entity.MonitorChnlDataDto;
+import org.springnewfiber.dataadapter.xf.entity.MonitorLakeData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorMeteorologicalData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorPptnData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorPumpData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorRiverData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorSoilData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorWasData;
+import org.springnewfiber.dataadapter.xf.entity.MonitorWetlogData;
@Getter
public enum XfDataEnum {
+ /**
+ *
+ */
ChnlData("ChnlData","港渠信息"),
ForcastData("ForcastData","汉口水情"),
LakeData("LakeData","湖泊监测数据"),
@@ -31,4 +47,34 @@
}
return null;
}
+
+ @SuppressWarnings("unchecked")
+ public static List parse(String data, XfDataEnum xfDataEnum){
+ List result = new ArrayList<>();
+
+ if (xfDataEnum == XfDataEnum.ChnlData) {
+ result = (List) JSONObject.parseArray(data, MonitorChnlDataDto.class);
+// } else if (xfDataEnum == XfDataEnum.ForcastData) {
+// result = JSONObject.parseArray(data, MonitorForcastData.class);
+ } else if (xfDataEnum == XfDataEnum.LakeData) {
+ result = (List) JSONObject.parseArray(data, MonitorLakeData.class);
+ } else if (xfDataEnum == XfDataEnum.Meteorological) {
+ result = (List) JSONObject.parseArray(data, MonitorMeteorologicalData.class);
+ } else if (xfDataEnum == XfDataEnum.PptnData) {
+ result = (List) JSONObject.parseArray(data, MonitorPptnData.class);
+ } else if (xfDataEnum == XfDataEnum.PumpData) {
+ result = (List) JSONObject.parseArray(data, MonitorPumpData.class);
+ } else if (xfDataEnum == XfDataEnum.RiverData) {
+ result = (List) JSONObject.parseArray(data, MonitorRiverData.class);
+ } else if (xfDataEnum == XfDataEnum.SoilData) {
+ result = (List) JSONObject.parseArray(data, MonitorSoilData.class);
+ } else if (xfDataEnum == XfDataEnum.WasData) {
+ result = (List) JSONObject.parseArray(data, MonitorWasData.class);
+ } else if (xfDataEnum == XfDataEnum.WetlogData) {
+ result = (List) JSONObject.parseArray(data, MonitorWetlogData.class);
+ }
+
+ return result;
+ }
+
}
diff --git a/src/main/java/org/springnewfiber/dataadapter/xf/controller/HistoryDataController.java b/src/main/java/org/springnewfiber/dataadapter/xf/controller/HistoryDataController.java
new file mode 100644
index 0000000..e01a25f
--- /dev/null
+++ b/src/main/java/org/springnewfiber/dataadapter/xf/controller/HistoryDataController.java
@@ -0,0 +1,32 @@
+package org.springnewfiber.dataadapter.xf.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import javax.annotation.Resource;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springnewfiber.dataadapter.config.R;
+import org.springnewfiber.dataadapter.xf.XfDataEnum;
+import org.springnewfiber.dataadapter.xf.service.HistoryDataService;
+
+/**
+ */
+@RestController
+@RequestMapping("/history-data")
+@Api(value = "历史数据", tags = "历史数据")
+public class HistoryDataController {
+
+ @Resource
+ private HistoryDataService historyDataService;
+
+ @PostMapping("/xfInterface")
+ @ApiOperation(value = "讯飞数据接入")
+ public R