diff --git a/data-framework/pom.xml b/data-framework/pom.xml
index fb86669..0321883 100644
--- a/data-framework/pom.xml
+++ b/data-framework/pom.xml
@@ -17,6 +17,11 @@
spring-beans
6.2.1
+
+ io.swagger.core.v3
+ swagger-annotations
+ 2.2.19
+
\ No newline at end of file
diff --git a/data-framework/src/main/java/com/huaxing/common/constant/AppConstant.java b/data-framework/src/main/java/com/huaxing/common/constant/AppConstant.java
index 594ebf6..ecbfde2 100644
--- a/data-framework/src/main/java/com/huaxing/common/constant/AppConstant.java
+++ b/data-framework/src/main/java/com/huaxing/common/constant/AppConstant.java
@@ -12,4 +12,12 @@ package com.huaxing.common.constant;
public class AppConstant {
public static final String APP_NAME = "iot-data-bridge";
+
+ /** 网络请求 - 成功 */
+ public static final String REQUEST_SUCCESS_CODE = "0";
+ /** 网络请求 - 失败(默认) */
+ public static final String REQUEST_CODE_FAIL = "-1";
+
+ /** 异常代码 - 业务类型 */
+ public static final String CODE_BIZ = "-1";
}
diff --git a/data-framework/src/main/java/com/huaxing/common/result/BaseException.java b/data-framework/src/main/java/com/huaxing/common/result/BaseException.java
new file mode 100644
index 0000000..30d8d90
--- /dev/null
+++ b/data-framework/src/main/java/com/huaxing/common/result/BaseException.java
@@ -0,0 +1,50 @@
+package com.huaxing.common.result;
+
+import com.huaxing.common.constant.AppConstant;
+import lombok.Getter;
+import lombok.ToString;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Getter
+@ToString
+public abstract class BaseException extends RuntimeException {
+
+ private static final Logger Logger = LoggerFactory.getLogger(BizException.class);
+
+ protected final String code;
+
+ protected Object data;
+
+ protected BaseException(String code, String message) {
+ super(message);
+ if (code == null){
+ this.code = AppConstant.CODE_BIZ;
+ }else {
+ this.code = code;
+ }
+ }
+
+ public final void print(){
+ Logger.error("exception info print: start");
+ Logger.error(this.getMessage(),this);
+ Logger.error("data:{}", data);
+ Logger.error("exception info print: end");
+ }
+
+ public final BaseException setData(Object data){
+ this.data = data;
+ return this;
+ }
+
+ public final D getData(){
+ return (D)data;
+ }
+
+ protected static String buildMsg(String msg,String hint){
+ if (hint != null){
+ msg = msg + ":" + hint;
+ }
+ return msg;
+ }
+}
diff --git a/data-framework/src/main/java/com/huaxing/common/result/BizException.java b/data-framework/src/main/java/com/huaxing/common/result/BizException.java
new file mode 100644
index 0000000..9446aa5
--- /dev/null
+++ b/data-framework/src/main/java/com/huaxing/common/result/BizException.java
@@ -0,0 +1,23 @@
+package com.huaxing.common.result;
+
+import com.huaxing.common.constant.AppConstant;
+import org.springframework.util.StringUtils;
+
+public class BizException extends BaseException {
+
+ private BizException(String msg) {
+ super(AppConstant.CODE_BIZ, msg);
+ }
+
+ /** tag!(msg:hint) */
+ public static BizException custom(String tag, String msg, String hint){
+ return BizException.custom(tag,BaseException.buildMsg(msg,hint));
+ }
+ /** tag!(msg) */
+ public static BizException custom(String tag, String msg){
+ if (!StringUtils.isEmpty(msg)){
+ tag += "!(" + msg + ")";
+ }
+ return new BizException(tag);
+ }
+}
diff --git a/data-framework/src/main/java/com/huaxing/common/result/ResultVo.java b/data-framework/src/main/java/com/huaxing/common/result/ResultVo.java
new file mode 100644
index 0000000..88e359e
--- /dev/null
+++ b/data-framework/src/main/java/com/huaxing/common/result/ResultVo.java
@@ -0,0 +1,52 @@
+package com.huaxing.common.result;
+
+import com.huaxing.common.constant.AppConstant;
+import lombok.Getter;
+
+import java.io.Serializable;
+
+@Getter
+public class ResultVo implements Serializable {
+
+ final String code;
+
+ final String msg;
+
+ final T data;
+
+ private ResultVo(String code, String msg, T data) {
+ this.code = code;
+ this.msg = msg;
+ this.data = data;
+ }
+
+ private ResultVo(BaseException exception) {
+ this.code = exception.getCode();
+ this.msg = exception.getMessage();
+ this.data = exception.getData();
+ }
+
+ public static ResultVo> ok() {
+ return ResultVo.ok(null);
+ }
+
+ public static ResultVo ok(D data) {
+ return new ResultVo<>(AppConstant.REQUEST_SUCCESS_CODE,"操作成功!",data);
+ }
+
+ public static ResultVo ok(String msg,D data) {
+ return new ResultVo<>(AppConstant.REQUEST_SUCCESS_CODE,msg,data);
+ }
+
+ public static ResultVo> fail(String msg) {
+ return ResultVo.fail(msg,null);
+ }
+
+ public static ResultVo fail(String msg,D data) {
+ return new ResultVo<>(AppConstant.REQUEST_CODE_FAIL,msg,data);
+ }
+
+ public static ResultVo fail(BaseException exception) {
+ return new ResultVo<>(exception);
+ }
+}
diff --git a/data-framework/src/main/java/com/huaxing/mqtt/ReadMe b/data-framework/src/main/java/com/huaxing/mqtt/ReadMe
deleted file mode 100644
index e69de29..0000000
diff --git a/data-framework/src/main/java/com/huaxing/mqtt/processor/MqttMessageReceiver.java b/data-framework/src/main/java/com/huaxing/mqtt/processor/MqttMessageReceiver.java
index 27472d0..192febf 100644
--- a/data-framework/src/main/java/com/huaxing/mqtt/processor/MqttMessageReceiver.java
+++ b/data-framework/src/main/java/com/huaxing/mqtt/processor/MqttMessageReceiver.java
@@ -3,12 +3,6 @@ package com.huaxing.mqtt.processor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.messaging.MessageHandler;
import org.springframework.stereotype.Component;
-//import org.springframework.integration.mqtt.support.MqttHeaders;
-//import org.springframework.messaging.Message;
-//import org.springframework.messaging.MessageHeaders;
-//import org.springframework.messaging.MessagingException;
-//import org.springframework.scheduling.annotation.Async;
-//import java.util.concurrent.CompletableFuture;
/**
* 消费者处理器
@@ -16,46 +10,5 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
@SuppressWarnings("all")
-public abstract class MqttMessageReceiver implements MessageHandler {
-
- // 获取消息接口
-// public abstract String getMessage(String payload);
-
-// /**
-// * 消息处理
-// *
-// * @param message 消息
-// * @throws MessagingException 消息异常
-// */
-// @Override
-// @Async("handleMessage")
-// public void handleMessage(Message> message) throws MessagingException {
-// try {
-// // 获取消息Topic
-// MessageHeaders headers = message.getHeaders();
-// String topic = String.valueOf(headers.get(MqttHeaders.RECEIVED_TOPIC));
-// log.info("[获取到的消息的topic]:{} ", topic);
-// // 获取消息体
-// String payload = (String) message.getPayload();
-// log.info("[获取到的消息的payload]:{} ", payload);
-// // 数据库入库消息
-// if (topic.contains("iot/test1/in-storage")) {
-// // 模拟1000000条数据入库
-// log.info("接收到iot/test1/in-storage的消息啦,快去处理");
-// getMessage(payload);
-//// long l = System.currentTimeMillis();
-//// System.currentTimeMillis();
-//// CompletableFuture future = CompletableFuture.runAsync(() -> {
-////// analysisService.parseStoreData(payload);
-//// });
-//// long l1 = System.currentTimeMillis();
-//// log.info("入库完成,耗时:{}", l1 - l);
-//// analysisService.parseStoreData(payload);
-// } else if (topic.contains("table-update/")){} // TODO 表更新topic
-// } catch (Exception e) {
-// log.error(e.toString());
-// }
-// }
-
-}
+public abstract class MqttMessageReceiver implements MessageHandler { }
diff --git a/data-storage/src/main/java/com/huaxing/data/api/controller/DataQueryController.java b/data-storage/src/main/java/com/huaxing/data/api/controller/DataQueryController.java
new file mode 100644
index 0000000..cfad902
--- /dev/null
+++ b/data-storage/src/main/java/com/huaxing/data/api/controller/DataQueryController.java
@@ -0,0 +1,31 @@
+package com.huaxing.data.api.controller;
+
+import com.huaxing.data.api.domain.DataQueryDTO;
+import com.huaxing.common.result.ResultVo;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * @ProjectName: data-bridge
+ * @Package: com.huaxing.data.api.controller
+ * @ClassName: DataQueryController
+ * @Author: swordmeng8@163.com
+ * @Description: 数据查询控制器
+ * @Date: 2025/1/20 16:02
+ * @Version: 1.0
+ */
+@RestController
+@RequestMapping("/data")
+public class DataQueryController {
+
+ // TODO 查询方法
+ @PostMapping("/query")
+ public ResultVo