donglang 3 месяцев назад
Родитель
Сommit
3efe8e1688
17 измененных файлов с 564 добавлено и 16 удалено
  1. 67 0
      iot-platform-manager/src/main/java/com/platform/constant/BaseResult.java
  2. 0 4
      iot-platform-manager/src/main/java/com/platform/constant/Demo.java
  3. 47 0
      iot-platform-manager/src/main/java/com/platform/constant/IotException.java
  4. 71 0
      iot-platform-manager/src/main/java/com/platform/constant/PageResult.java
  5. 76 0
      iot-platform-manager/src/main/java/com/platform/controller/IotModController.java
  6. 73 0
      iot-platform-manager/src/main/java/com/platform/controller/IotModGroupController.java
  7. 0 4
      iot-platform-manager/src/main/java/com/platform/enums/Demo.java
  8. 61 0
      iot-platform-manager/src/main/java/com/platform/enums/ErrorCodeEnum.java
  9. 40 0
      iot-platform-manager/src/main/java/com/platform/manage/IotModGroupManage.java
  10. 40 0
      iot-platform-manager/src/main/java/com/platform/manage/IotModManage.java
  11. 17 0
      iot-platform-manager/src/main/java/com/platform/request/mod/IotModDetailReq.java
  12. 17 0
      iot-platform-manager/src/main/java/com/platform/request/mod/IotModGroupDetailReq.java
  13. 17 0
      iot-platform-manager/src/main/java/com/platform/request/mod/IotModGroupRequest.java
  14. 17 0
      iot-platform-manager/src/main/java/com/platform/request/mod/IotModRequest.java
  15. 9 1
      iot-platform-manager/src/main/java/com/platform/service/IotModService.java
  16. 5 0
      iot-platform-manager/src/main/java/com/platform/service/impl/IotModServiceImpl.java
  17. 7 7
      pom.xml

+ 67 - 0
iot-platform-manager/src/main/java/com/platform/constant/BaseResult.java

@@ -0,0 +1,67 @@
+package com.platform.constant;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author: donglang
+ * @CreateTime: 2025-10-09
+ * @Description: 返回模型
+ * @Version: 1.0
+ */
+
+@Data
+public class BaseResult<T> implements Serializable {
+
+
+    /**
+     * 处理是否成功
+     */
+    protected boolean success = true;
+
+    /**
+     * 错误码
+     */
+    protected Integer code;
+
+    /**
+     * 错误信息
+     */
+    protected String message;
+
+    /**
+     * 业务数据
+     */
+    protected T data;
+
+    /**
+     * 构建成功结果,包含具体信息
+     */
+    public static <T> BaseResult<T> success(T data) {
+        BaseResult<T> result = new BaseResult<>();
+        result.setSuccess(true);
+        result.setData(data);
+        return result;
+    }
+
+    /**
+     * 构建成功结果,无返回具体信息
+     */
+    public static <T> BaseResult<T> success() {
+        return success(null);
+    }
+
+    /**
+     * 构建失败结果,返回错误信息
+     */
+    public static <T> BaseResult<T> error(Integer code, String message) {
+        BaseResult<T> result = new BaseResult<>();
+        result.setSuccess(false);
+        result.setCode(code);
+        result.setMessage(message);
+        return result;
+    }
+
+}

+ 0 - 4
iot-platform-manager/src/main/java/com/platform/constant/Demo.java

@@ -1,4 +0,0 @@
-package com.platform.constant;
-
-public class Demo {
-}

+ 47 - 0
iot-platform-manager/src/main/java/com/platform/constant/IotException.java

@@ -0,0 +1,47 @@
+package com.platform.constant;
+
+
+import com.platform.enums.ErrorCodeEnum;
+import lombok.Data;
+
+/**
+ * @Author: donglang
+ * @CreateTime: 2025-10-09
+ * @Description: 异常
+ * @Version: 1.0
+ */
+
+@Data
+public class IotException extends RuntimeException {
+
+    /** 编码 */
+    private String errorCode;
+
+
+    /** 描述 */
+    private String errorMsg;
+
+
+    /**
+     * 构造函数
+     * @param errorCodeEnum 错误码
+     * @param errorMsg 具体错误信息
+     */
+    public IotException(ErrorCodeEnum errorCodeEnum, String errorMsg) {
+        super(errorMsg = errorMsg == null ? errorCodeEnum.getDesc() : errorMsg);
+        this.errorCode = errorCodeEnum.getCode();
+        this.errorMsg = errorMsg;
+    }
+
+    /**
+     * 构造函数
+     * @param errorCodeEnum 错误码
+     * @param errorMsg 具体错误信息
+     * @param cause 异常
+     */
+    public IotException(ErrorCodeEnum errorCodeEnum, String errorMsg, Throwable cause) {
+        super(errorMsg = errorMsg == null ? errorCodeEnum.getDesc() : errorMsg, cause);
+        this.errorCode = errorCodeEnum.getCode();
+        this.errorMsg = errorMsg;
+    }
+}

+ 71 - 0
iot-platform-manager/src/main/java/com/platform/constant/PageResult.java

@@ -0,0 +1,71 @@
+package com.platform.constant;
+
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Author: donglang
+ * Time: 2025-10-09
+ * Des: 分页返回模板
+ * Version: 1.0
+ */
+
+public class PageResult<T> implements Serializable {
+
+    /** 总记录数 */
+    private long total;
+
+    /** 当前页码(从1开始) */
+    private int pageNum;
+
+    /** 每页显示条数 */
+    private int pageSize;
+
+    /** 当前页的数据列表 */
+    private List<T> list;
+
+
+
+    /**
+     * 构造方法:手动传入分页参数
+     * @param total 总记录数
+     * @param pageNum 当前页码
+     * @param pageSize 每页条数
+     * @param list 当前页数据
+     */
+    public PageResult(long total, int pageNum, int pageSize, List<T> list) {
+        this.total = total;
+        this.pageNum = pageNum;
+        this.pageSize = pageSize;
+        this.list = list;
+    }
+
+
+    /**
+     * 静态工厂方法:快速构建分页结果(简化调用)
+     * @param total 总记录数
+     * @param pageNum 当前页码
+     * @param pageSize 每页条数
+     * @param list 当前页数据
+     * @param <T> 数据类型
+     * @return PageResult实例
+     */
+    public static <T> PageResult<T> of(long total, int pageNum, int pageSize, List<T> list) {
+        return new PageResult<>(total, pageNum, pageSize, list);
+    }
+
+
+    /**
+     * (可选)空分页结果(当查询无数据时使用)
+     * @param pageNum 当前页码
+     * @param pageSize 每页条数
+     * @param <T> 数据类型
+     * @return 空数据的分页结果
+     */
+    public static <T> PageResult<T> empty(int pageNum, int pageSize) {
+        return new PageResult<>(0, pageNum, pageSize, List.of());
+    }
+
+
+}

+ 76 - 0
iot-platform-manager/src/main/java/com/platform/controller/IotModController.java

@@ -0,0 +1,76 @@
+package com.platform.controller;
+
+
+import com.platform.manage.IotModManage;
+import com.platform.request.device.DeviceDetailReq;
+import com.platform.request.device.IotDeviceRequest;
+import com.platform.request.mod.IotModDetailReq;
+import com.platform.request.mod.IotModRequest;
+import com.platform.response.device.DeviceDetailResp;
+import com.platform.response.device.DevicePageResp;
+import com.platform.result.HttpResult;
+import com.platform.service.IotDeviceService;
+import com.platform.service.IotModService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+*@Author: donglang
+*@CreateTime: 2025-10-09
+*@Description: 物联模型Controller
+*@Version: 1.0
+*/
+
+@RestController
+@RequestMapping("/iot/mod")
+@RequiredArgsConstructor
+public class IotModController {
+
+    private final IotModManage iotModManage;
+
+
+    /**
+     * 添加物理模型
+     */
+    @PostMapping("/addMod")
+    public HttpResult<Boolean> addMod(@RequestBody IotModRequest request) {
+        return HttpResult.success(iotModManage.addMod(request));
+    }
+
+    /**
+     * 修改物理模型
+     */
+    @PostMapping("/updateMod")
+    public HttpResult<Boolean> updateMod(@RequestBody IotModRequest request) {
+        return HttpResult.success(iotModManage.updateMod(request));
+    }
+
+    /**
+     * 删除物理模型
+     */
+    @GetMapping("/deleteMod")
+    public HttpResult<Boolean> deleteMod(String guid) {
+        return HttpResult.success(iotModManage.deleteMod(guid));
+    }
+
+    /**
+     * 物理模型详情查询
+     */
+    @PostMapping("/getModDetail")
+    public HttpResult<DeviceDetailResp> getModDetail(@RequestBody IotModDetailReq req) {
+        return HttpResult.success(iotModManage.getModDetail(req));
+    }
+
+    /**
+     * 分页查询物理模型
+     */
+    @PostMapping("/pageModDetail")
+    public HttpResult<DevicePageResp> pageModDetail(@RequestBody IotModDetailReq req) {
+        return HttpResult.success(iotModManage.pageModDetail(req));
+    }
+
+
+
+
+}

+ 73 - 0
iot-platform-manager/src/main/java/com/platform/controller/IotModGroupController.java

@@ -0,0 +1,73 @@
+package com.platform.controller;
+
+
+import com.platform.manage.IotModGroupManage;
+import com.platform.manage.IotModManage;
+import com.platform.request.mod.IotModDetailReq;
+import com.platform.request.mod.IotModGroupDetailReq;
+import com.platform.request.mod.IotModGroupRequest;
+import com.platform.request.mod.IotModRequest;
+import com.platform.response.device.DeviceDetailResp;
+import com.platform.response.device.DevicePageResp;
+import com.platform.result.HttpResult;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+/**
+*@Author: donglang
+*@CreateTime: 2025-10-09
+*@Description: 物联模型分组Controller
+*@Version: 1.0
+*/
+
+@RestController
+@RequestMapping("/iot/mod/group")
+@RequiredArgsConstructor
+public class IotModGroupController {
+
+    private final IotModGroupManage iotModGroupManage;
+
+
+    /**
+     * 添加物理模型分组
+     */
+    @PostMapping("/addModGroup")
+    public HttpResult<Boolean> addModGroup(@RequestBody IotModGroupRequest request) {
+        return HttpResult.success(iotModGroupManage.addModGroup(request));
+    }
+
+    /**
+     * 修改物理模型分组
+     */
+    @PostMapping("/updateModGroup")
+    public HttpResult<Boolean> updateModGroup(@RequestBody IotModGroupRequest request) {
+        return HttpResult.success(iotModGroupManage.updateModGroup(request));
+    }
+
+    /**
+     * 删除物理模型分组
+     */
+    @GetMapping("/deleteModGroup")
+    public HttpResult<Boolean> deleteModGroup(String guid) {
+        return HttpResult.success(iotModGroupManage.deleteModGroup(guid));
+    }
+
+    /**
+     * 物理模型分组详情查询
+     */
+    @PostMapping("/getModGroupDetail")
+    public HttpResult<DeviceDetailResp> getModGroupDetail(@RequestBody IotModGroupDetailReq req) {
+        return HttpResult.success(iotModGroupManage.getModGroupDetail(req));
+    }
+    /**
+     * 分页查询物理模型分组
+     */
+    @PostMapping("/pageModGroupDetail")
+    public HttpResult<DevicePageResp> pageModGroupDetail(@RequestBody IotModGroupDetailReq req) {
+        return HttpResult.success(iotModGroupManage.pageModGroupDetail(req));
+    }
+
+
+
+
+}

+ 0 - 4
iot-platform-manager/src/main/java/com/platform/enums/Demo.java

@@ -1,4 +0,0 @@
-package com.platform.enums;
-
-public class Demo {
-}

+ 61 - 0
iot-platform-manager/src/main/java/com/platform/enums/ErrorCodeEnum.java

@@ -0,0 +1,61 @@
+package com.platform.enums;
+
+/**
+ *Author: donglang
+ *Time: 2025-10-09
+ *Description: IoT平台异常编码枚举,统一管理系统中的错误码和描述
+ *Version: 1.0
+ */
+public enum ErrorCodeEnum {
+
+    // ====================== 通用错误(10000~19999)======================
+    SYSTEM_ERROR("10000", "系统内部错误"),
+    PARAM_ERROR("10001", "参数校验失败"),
+    RESOURCE_NOT_FOUND("10002", "资源不存在"),
+    PERMISSION_DENIED("10003", "权限不足"),
+    NETWORK_ERROR("10004", "网络连接异常"),
+
+    // ====================== 设备相关错误(20000~29999)======================
+    DEVICE_OFFLINE("20000", "设备离线"),
+    DEVICE_ALREADY_EXIST("20001", "设备已存在"),
+    DEVICE_NOT_REGISTERED("20002", "设备未注册"),
+    DEVICE_DATA_FORMAT_ERROR("20003", "设备数据格式错误"),
+    DEVICE_COMMAND_TIMEOUT("20004", "设备指令发送超时"),
+
+    // ====================== 接口相关错误(30000~39999)======================
+    INTERFACE_CALL_FAIL("30000", "第三方接口调用失败"),
+    INTERFACE_PARAM_MISMATCH("30001", "接口参数不匹配"),
+    TOKEN_EXPIRED("30002", "令牌已过期"),
+    TOKEN_INVALID("30003", "令牌无效"),
+
+    // ====================== 数据存储错误(40000~49999)======================
+    DATA_SAVE_FAIL("40000", "数据保存失败"),
+    DATA_UPDATE_FAIL("40001", "数据更新失败"),
+    DATA_DELETE_FAIL("40002", "数据删除失败"),
+    DB_CONNECTION_ERROR("40003", "数据库连接异常");
+
+
+    /** 错误编码 */
+    private final String code;
+
+    /** 错误描述 */
+    private final String desc;
+
+
+    // 构造方法(枚举的构造方法默认私有)
+    ErrorCodeEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+
+    // Getter 方法(供外部获取 code 和 desc)
+    public String getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+}

+ 40 - 0
iot-platform-manager/src/main/java/com/platform/manage/IotModGroupManage.java

@@ -0,0 +1,40 @@
+package com.platform.manage;
+
+import com.platform.request.mod.IotModDetailReq;
+import com.platform.request.mod.IotModGroupDetailReq;
+import com.platform.request.mod.IotModGroupRequest;
+import com.platform.request.mod.IotModRequest;
+import com.platform.response.device.DeviceDetailResp;
+import com.platform.response.device.DevicePageResp;
+import org.springframework.stereotype.Service;
+
+
+/**
+ *@Author: donglang
+ *@CreateTime: 2025-10-09
+ *@Description:
+ *@Version: 1.0
+ */
+
+@Service
+public class IotModGroupManage {
+    public Boolean addModGroup(IotModGroupRequest request) {
+        return true;
+    }
+
+    public Boolean updateModGroup(IotModGroupRequest request) {
+        return true;
+    }
+
+    public Boolean deleteModGroup(String guid) {
+        return true;
+    }
+
+    public DeviceDetailResp getModGroupDetail(IotModGroupDetailReq req) {
+        return null;
+    }
+
+    public DevicePageResp pageModGroupDetail(IotModGroupDetailReq req) {
+        return null;
+    }
+}

+ 40 - 0
iot-platform-manager/src/main/java/com/platform/manage/IotModManage.java

@@ -0,0 +1,40 @@
+package com.platform.manage;
+
+import com.platform.request.device.DeviceDetailReq;
+import com.platform.request.device.IotDeviceRequest;
+import com.platform.request.mod.IotModDetailReq;
+import com.platform.request.mod.IotModRequest;
+import com.platform.response.device.DeviceDetailResp;
+import com.platform.response.device.DevicePageResp;
+import org.springframework.stereotype.Service;
+
+
+/**
+ *@Author: donglang
+ *@CreateTime: 2025-10-09
+ *@Description:
+ *@Version: 1.0
+ */
+
+@Service
+public class IotModManage {
+    public Boolean addMod(IotModRequest request) {
+        return true;
+    }
+
+    public Boolean updateMod(IotModRequest request) {
+        return true;
+    }
+
+    public Boolean deleteMod(String guid) {
+        return true;
+    }
+
+    public DeviceDetailResp getModDetail(IotModDetailReq req) {
+        return null;
+    }
+
+    public DevicePageResp pageModDetail(IotModDetailReq req) {
+        return null;
+    }
+}

+ 17 - 0
iot-platform-manager/src/main/java/com/platform/request/mod/IotModDetailReq.java

@@ -0,0 +1,17 @@
+package com.platform.request.mod;
+
+
+import lombok.Data;
+
+/**
+ * @Author: donglang
+ * @CreateTime: 2025-10-09
+ * @Description:
+ * @Version: 1.0
+ */
+
+@Data
+public class IotModDetailReq {
+
+    
+}

+ 17 - 0
iot-platform-manager/src/main/java/com/platform/request/mod/IotModGroupDetailReq.java

@@ -0,0 +1,17 @@
+package com.platform.request.mod;
+
+
+import lombok.Data;
+
+/**
+ * @Author: donglang
+ * @CreateTime: 2025-10-09
+ * @Description:
+ * @Version: 1.0
+ */
+
+@Data
+public class IotModGroupDetailReq {
+
+    
+}

+ 17 - 0
iot-platform-manager/src/main/java/com/platform/request/mod/IotModGroupRequest.java

@@ -0,0 +1,17 @@
+package com.platform.request.mod;
+
+
+import lombok.Data;
+
+/**
+ * @Author: donglang
+ * @CreateTime: 2025-10-09
+ * @Description:
+ * @Version: 1.0
+ */
+
+@Data
+public class IotModGroupRequest {
+
+
+}

+ 17 - 0
iot-platform-manager/src/main/java/com/platform/request/mod/IotModRequest.java

@@ -0,0 +1,17 @@
+package com.platform.request.mod;
+
+
+import lombok.Data;
+
+/**
+ * @Author: donglang
+ * @CreateTime: 2025-10-09
+ * @Description:
+ * @Version: 1.0
+ */
+
+@Data
+public class IotModRequest {
+
+
+}

+ 9 - 1
iot-platform-manager/src/main/java/com/platform/service/IotModService.java

@@ -12,6 +12,14 @@ import com.platform.mapper.IotModMapper;
  * @Version: 1.0
  */
 
-
 public interface IotModService extends IService<IotMod> {
+
+
+
+
+
+
+
+
+
 }

+ 5 - 0
iot-platform-manager/src/main/java/com/platform/service/impl/IotModServiceImpl.java

@@ -15,4 +15,9 @@ import org.springframework.stereotype.Service;
 
 @Service
 public class IotModServiceImpl extends ServiceImpl<IotModMapper, IotMod> implements IotModService {
+
+
+
+
+
 }

+ 7 - 7
pom.xml

@@ -81,6 +81,13 @@
             <artifactId>spring-cloud-starter-bootstrap</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <scope>provided</scope>
+            <version>1.18.30</version>
+        </dependency>
+
         <!-- TDengine 官方 Java 驱动 -->
         <dependency>
             <groupId>com.taosdata.jdbc</groupId>
@@ -93,13 +100,6 @@
 	<dependencyManagement>
 		<dependencies>
 
-            <dependency>
-                <groupId>org.projectlombok</groupId>
-                <artifactId>lombok</artifactId>
-                <scope>provided</scope>
-                <version>1.18.30</version>
-            </dependency>
-
 			<dependency>
 				<groupId>org.springframework.cloud</groupId>
 				<artifactId>spring-cloud-dependencies</artifactId>