chenxiaofei преди 3 месеца
родител
ревизия
1979b214b5
променени са 100 файла, в които са добавени 1 реда и са изтрити 3508 реда
  1. 0 39
      iot-framework/iot-starter-biz-dict/pom.xml
  2. 0 20
      iot-framework/iot-starter-biz-dict/src/main/java/com/middle/platform/biz/dict/config/DictAutoConfiguration.java
  3. 0 12
      iot-framework/iot-starter-biz-dict/src/main/java/com/middle/platform/biz/dict/config/DictFeignAutoConfiguration.java
  4. 0 71
      iot-framework/iot-starter-biz-dict/src/main/java/com/middle/platform/biz/dict/core/util/DictFrameworkUtils.java
  5. 0 2
      iot-framework/iot-starter-biz-dict/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  6. 0 37
      iot-framework/iot-starter-coap/pom.xml
  7. 0 16
      iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/CoapApplication.java
  8. 0 18
      iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/config/CoapProperties.java
  9. 0 21
      iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/core/AResource.java
  10. 0 21
      iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/core/AResource2.java
  11. 0 37
      iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/core/starter/Client.java
  12. 0 32
      iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/core/starter/Server.java
  13. 0 22
      iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/run/Runner.java
  14. 0 20
      iot-framework/iot-starter-es/pom.xml
  15. 0 48
      iot-framework/iot-starter-excel/pom.xml
  16. 0 21
      iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/annotations/DictFormat.java
  17. 0 70
      iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/convert/DictConvert.java
  18. 0 33
      iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/convert/JsonConvert.java
  19. 0 36
      iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/convert/MoneyConvert.java
  20. 0 46
      iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/util/ExcelUtils.java
  21. 0 41
      iot-framework/iot-starter-feign/pom.xml
  22. 0 26
      iot-framework/iot-starter-feign/src/main/java/com/middle/platform/feign/core/FeignInterceptor.java
  23. 0 1
      iot-framework/iot-starter-feign/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  24. 0 34
      iot-framework/iot-starter-kafka/pom.xml
  25. 0 45
      iot-framework/iot-starter-kafka/src/main/java/com/middle/platform/kafka/config/KafkaConfig.java
  26. 0 1
      iot-framework/iot-starter-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  27. 0 48
      iot-framework/iot-starter-log/pom.xml
  28. 0 21
      iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/config/LogAutoConfiguration.java
  29. 0 13
      iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/config/LogRpcAutoConfiguration.java
  30. 0 53
      iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/annotations/OperateLog.java
  31. 0 244
      iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/aop/OperateLogAspect.java
  32. 0 51
      iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/enums/OperateTypeEnum.java
  33. 0 16
      iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/service/LogFrameworkService.java
  34. 0 18
      iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/service/LogFrameworkServiceImpl.java
  35. 0 100
      iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/service/OperateLogDto.java
  36. 0 2
      iot-framework/iot-starter-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  37. 0 20
      iot-framework/iot-starter-mongo/pom.xml
  38. 0 39
      iot-framework/iot-starter-mqtt/pom.xml
  39. 0 21
      iot-framework/iot-starter-mqtt/src/main/java/com/middle/platform/mqtt/properties/MqttProperties.java
  40. 0 1
      iot-framework/iot-starter-mqtt/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  41. 0 77
      iot-framework/iot-starter-mybatis/pom.xml
  42. 0 29
      iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/config/MybatisAutoConfiguration.java
  43. 0 43
      iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/core/dataobject/BaseDO.java
  44. 0 35
      iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/core/dataobject/BaseVO.java
  45. 0 59
      iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/core/handler/DefaultDbFieldHandler.java
  46. 0 67
      iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/utils/MyBatisUtils.java
  47. 0 2
      iot-framework/iot-starter-mybatis/src/main/resources/META-INF/spring.factories
  48. 0 1
      iot-framework/iot-starter-mybatis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  49. 0 39
      iot-framework/iot-starter-oss/pom.xml
  50. 0 54
      iot-framework/iot-starter-oss/src/main/java/com/middle/platform/oss/config/AliyunOss.java
  51. 0 1
      iot-framework/iot-starter-oss/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  52. 0 25
      iot-framework/iot-starter-pagehelper/pom.xml
  53. 0 158
      iot-framework/iot-starter-pagehelper/src/main/java/com/middle/platform/pagehelper/core/PageRes.java
  54. 0 30
      iot-framework/iot-starter-rabbitmq/pom.xml
  55. 0 81
      iot-framework/iot-starter-rabbitmq/src/main/java/com/middle/platform/rabbitmq/config/RabbitConfig.java
  56. 0 1
      iot-framework/iot-starter-rabbitmq/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  57. 0 34
      iot-framework/iot-starter-redis/pom.xml
  58. 0 53
      iot-framework/iot-starter-redis/src/main/java/com/middle/platform/redis/config/RedisAutoConfiguration.java
  59. 0 23
      iot-framework/iot-starter-redis/src/main/java/com/middle/platform/redis/constant/CacheConstant.java
  60. 0 68
      iot-framework/iot-starter-redis/src/main/java/com/middle/platform/redis/service/CacheService.java
  61. 0 2
      iot-framework/iot-starter-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  62. 0 35
      iot-framework/iot-starter-satoken/pom.xml
  63. 0 47
      iot-framework/iot-starter-satoken/src/main/java/com/middle/platform/satoken/config/SaTokenConfig.java
  64. 0 1
      iot-framework/iot-starter-satoken/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  65. 0 21
      iot-framework/iot-starter-tdengine/pom.xml
  66. 0 60
      iot-framework/iot-starter-web/pom.xml
  67. 0 91
      iot-framework/iot-starter-web/src/main/java/com/middle/platform/web/config/GlobalExceptionHandler.java
  68. 0 21
      iot-framework/iot-starter-web/src/main/java/com/middle/platform/web/config/JacksonConfig.java
  69. 0 2
      iot-framework/iot-starter-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  70. 0 42
      iot-framework/pom.xml
  71. 0 29
      iot-module/iot-module-auth/iot-module-auth-api/pom.xml
  72. 0 12
      iot-module/iot-module-auth/iot-module-auth-api/src/main/java/com/middle/platform/auth/api/enums/ApiConstants.java
  73. 0 20
      iot-module/iot-module-auth/iot-module-auth-api/src/main/java/com/middle/platform/auth/api/feign/AuthApi.java
  74. 0 8
      iot-module/iot-module-auth/iot-module-auth-api/src/main/java/com/middle/platform/auth/api/pojo/Auth.java
  75. 1 2
      iot-module/iot-module-auth/pom.xml
  76. 0 12
      iot-module/iot-module-data/Dockerfile
  77. 0 30
      iot-module/iot-module-data/iot-module-data-api/pom.xml
  78. 0 11
      iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/constant/TopicType.java
  79. 0 12
      iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/enums/ApiConstants.java
  80. 0 21
      iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/feign/DataApi.java
  81. 0 24
      iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/feign/DynamicTopicApi.java
  82. 0 30
      iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/feign/TdApi.java
  83. 0 8
      iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/pojo/DataDto.java
  84. 0 19
      iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/pojo/ModPara.java
  85. 0 19
      iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/pojo/TopicDto.java
  86. 0 106
      iot-module/iot-module-data/iot-module-data-biz/pom.xml
  87. 0 19
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/DataApplication.java
  88. 0 21
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/api/DataApiImpl.java
  89. 0 31
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/api/DynamicTopicApiImpl.java
  90. 0 30
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/api/TdApiImpl.java
  91. 0 19
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/config/FeignConfig.java
  92. 0 63
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/config/MqttConfig.java
  93. 0 33
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/controller/DataController.java
  94. 0 25
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/controller/IndexController.java
  95. 0 44
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/controller/PropertyController.java
  96. 0 72
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/controller/UrlController.java
  97. 0 19
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/event/DataEvent.java
  98. 0 95
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/mapper/TaosMapper.java
  99. 0 21
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/pojo/CloudDto.java
  100. 0 34
      iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/pojo/HistoryPara.java

+ 0 - 39
iot-framework/iot-starter-biz-dict/pom.xml

@@ -1,39 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-biz-dict</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-feign</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-module-system-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 20
iot-framework/iot-starter-biz-dict/src/main/java/com/middle/platform/biz/dict/config/DictAutoConfiguration.java

@@ -1,20 +0,0 @@
-package com.middle.platform.biz.dict.config;
-
-
-import com.middle.platform.biz.dict.core.util.DictFrameworkUtils;
-import com.middle.platform.system.api.feign.DictApi;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.context.annotation.Bean;
-
-@AutoConfiguration
-public class DictAutoConfiguration {
-
-    @Bean
-    @ConditionalOnBean(DictApi.class)
-    public DictFrameworkUtils dictUtils(DictApi dictApi) {
-        DictFrameworkUtils.init(dictApi);
-        return new DictFrameworkUtils();
-    }
-
-}

+ 0 - 12
iot-framework/iot-starter-biz-dict/src/main/java/com/middle/platform/biz/dict/config/DictFeignAutoConfiguration.java

@@ -1,12 +0,0 @@
-package com.middle.platform.biz.dict.config;
-
-
-import com.middle.platform.system.api.feign.DictApi;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.cloud.openfeign.EnableFeignClients;
-
-
-@AutoConfiguration
-@EnableFeignClients(clients = DictApi.class)
-public class DictFeignAutoConfiguration {
-}

+ 0 - 71
iot-framework/iot-starter-biz-dict/src/main/java/com/middle/platform/biz/dict/core/util/DictFrameworkUtils.java

@@ -1,71 +0,0 @@
-package com.middle.platform.biz.dict.core.util;
-
-
-import cn.hutool.core.util.ObjectUtil;
-import com.google.common.cache.CacheLoader;
-import com.middle.platform.common.core.constant.KeyValue;
-import com.middle.platform.common.core.utils.CacheUtils;
-import com.middle.platform.system.api.feign.DictApi;
-import com.middle.platform.system.api.pojo.DictDto;
-import lombok.SneakyThrows;
-import lombok.extern.slf4j.Slf4j;
-import com.google.common.cache.LoadingCache;
-
-import java.time.Duration;
-
-/**
- * 字典工具类
- */
-@Slf4j
-public class DictFrameworkUtils {
-
-    private static DictApi dictApi;
-
-    private static final DictDto DICT_DATA_NULL = new DictDto();
-
-    /**
-     * 针对 {@link #getDictDataLabel(String, String)} 的缓存
-     */
-    private static final LoadingCache<KeyValue<String, String>, DictDto> GET_DICT_DATA_CACHE = CacheUtils.buildAsyncReloadingCache(
-            Duration.ofMinutes(1L), // 过期时间 1 分钟
-            new CacheLoader<KeyValue<String, String>, DictDto>() {
-
-                @Override
-                public DictDto load(KeyValue<String, String> key) {
-                    return ObjectUtil.defaultIfNull(dictApi.getDictData(key.getKey(),key.getValue()).getData(),
-                            DICT_DATA_NULL);
-                }
-
-            });
-
-    /**
-     * 针对 {@link #parseDictDataValue(String, String)} 的缓存
-     */
-    private static final LoadingCache<KeyValue<String, String>, DictDto> PARSE_DICT_DATA_CACHE = CacheUtils.buildAsyncReloadingCache(
-            Duration.ofMinutes(1L), // 过期时间 1 分钟
-            new CacheLoader<KeyValue<String, String>, DictDto>() {
-
-                @Override
-                public DictDto load(KeyValue<String, String> key) {
-                    return ObjectUtil.defaultIfNull(dictApi.getDictValue(key.getKey(),key.getValue()).getData(),
-                            DICT_DATA_NULL);
-                }
-
-            });
-
-    public static void init(DictApi dictApi) {
-        DictFrameworkUtils.dictApi = dictApi;
-        log.info("[init][初始化 DictFrameworkUtils 成功]");
-    }
-
-    @SneakyThrows
-    public static String getDictDataLabel(String dictType, String value) {
-        return GET_DICT_DATA_CACHE.get(new KeyValue<>(dictType, value)).getLabel();
-    }
-
-    @SneakyThrows
-    public static String parseDictDataValue(String dictType, String label) {
-        return PARSE_DICT_DATA_CACHE.get(new KeyValue<>(dictType, label)).getValue();
-    }
-
-}

+ 0 - 2
iot-framework/iot-starter-biz-dict/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1,2 +0,0 @@
-com.middle.platform.biz.dict.config.DictAutoConfiguration
-com.middle.platform.biz.dict.config.DictFeignAutoConfiguration

+ 0 - 37
iot-framework/iot-starter-coap/pom.xml

@@ -1,37 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-coap</artifactId>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.californium</groupId>
-            <artifactId>californium-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 16
iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/CoapApplication.java

@@ -1,16 +0,0 @@
-package com.middle.platform.coap;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * @author xucaiqin
- * @date 2024-04-02 14:12:08
- */
-@SpringBootApplication
-public class CoapApplication {
-    public static void main(String[] args) {
-        // 启动 Spring Boot 应用
-        SpringApplication.run(CoapApplication.class, args);
-    }
-}

+ 0 - 18
iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/config/CoapProperties.java

@@ -1,18 +0,0 @@
-package com.middle.platform.coap.config;
-
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * @author xucaiqin
- * @date 2024-04-02 09:10:39
- */
-@Getter
-@Setter
-@AutoConfiguration
-@ConfigurationProperties(prefix = "coap")
-public class CoapProperties {
-    private String host;
-}

+ 0 - 21
iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/core/AResource.java

@@ -1,21 +0,0 @@
-package com.middle.platform.coap.core;
-
-import org.eclipse.californium.core.CoapResource;
-import org.eclipse.californium.core.server.resources.CoapExchange;
-import org.springframework.stereotype.Service;
-
-/**
- * @author xucaiqin
- * @date 2024-04-02 14:03:41
- */
-@Service
-public class AResource extends CoapResource {
-    public AResource() {
-        super("12123");
-    }
-
-    @Override
-    public void handleGET(CoapExchange exchange) {
-        exchange.respond("12312312312");
-    }
-}

+ 0 - 21
iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/core/AResource2.java

@@ -1,21 +0,0 @@
-package com.middle.platform.coap.core;
-
-import org.eclipse.californium.core.CoapResource;
-import org.eclipse.californium.core.server.resources.CoapExchange;
-import org.springframework.stereotype.Service;
-
-/**
- * @author xucaiqin
- * @date 2024-04-02 14:03:41
- */
-@Service
-public class AResource2 extends CoapResource {
-    public AResource2() {
-        super("312");
-    }
-
-    @Override
-    public void handleGET(CoapExchange exchange) {
-        exchange.respond("12312312312");
-    }
-}

+ 0 - 37
iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/core/starter/Client.java

@@ -1,37 +0,0 @@
-package com.middle.platform.coap.core.starter;
-
-import org.eclipse.californium.core.CoapClient;
-import org.eclipse.californium.core.CoapResponse;
-import org.eclipse.californium.core.Utils;
-import org.eclipse.californium.core.config.CoapConfig;
-import org.eclipse.californium.elements.config.Configuration;
-
-import java.net.URI;
-
-/**
- * @author xucaiqin
- * @date 2024-04-02 09:35:03
- */
-public class Client {
-    public static void main(String[] args) throws Exception {
-        hello();
-    }
-
-    public static void hello() throws Exception {
-        Configuration.ModuleDefinitionsProvider definitions = CoapConfig.DEFINITIONS;
-        Configuration.addDefaultModule(definitions);
-
-        // 创建一个资源请求hello资源,注意默认端口为5683
-        URI uri = new URI("localhost:5683/12");
-        CoapClient client = new CoapClient(uri);
-        for (int i = 0; i < 10; i++) {
-            CoapResponse response = client.get();
-            if(response !=null){
-                // 打印格式良好的输出
-                System.out.println(Utils.prettyPrint(response));
-            }
-        }
-
-    }
-
-}

+ 0 - 32
iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/core/starter/Server.java

@@ -1,32 +0,0 @@
-package com.middle.platform.coap.core.starter;
-
-import lombok.RequiredArgsConstructor;
-import org.eclipse.californium.core.CoapServer;
-import org.eclipse.californium.core.config.CoapConfig;
-import org.eclipse.californium.core.server.resources.Resource;
-import org.eclipse.californium.elements.config.Configuration;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * @author xucaiqin
- * @date 2024-04-02 09:22:46
- */
-@Component
-@RequiredArgsConstructor
-public class Server {
-    private final List<Resource> list;
-
-    public void start() {
-        Configuration.ModuleDefinitionsProvider definitions = CoapConfig.DEFINITIONS;
-        Configuration.addDefaultModule(definitions);
-        Configuration standard = Configuration.getStandard();
-        // 创建CoAP服务器
-        CoapServer server = new CoapServer(standard);
-        server.add(list.toArray(new Resource[0]));
-        // 启动服务器
-        server.start();
-    }
-
-}

+ 0 - 22
iot-framework/iot-starter-coap/src/main/java/com/middle/platform/coap/run/Runner.java

@@ -1,22 +0,0 @@
-package com.middle.platform.coap.run;
-
-import com.middle.platform.coap.core.starter.Server;
-import jakarta.annotation.Resource;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.stereotype.Component;
-
-/**
- * @author xucaiqin
- * @date 2024-04-02 14:12:40
- */
-@Component
-public class Runner implements ApplicationRunner {
-    @Resource
-    private Server server;
-
-    @Override
-    public void run(ApplicationArguments args) throws Exception {
-        server.start();
-    }
-}

+ 0 - 20
iot-framework/iot-starter-es/pom.xml

@@ -1,20 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-es</artifactId>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-</project>

+ 0 - 48
iot-framework/iot-starter-excel/pom.xml

@@ -1,48 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-excel</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-biz-dict</artifactId>
-        </dependency>
-        <!-- Web 相关 -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-            <scope>provided</scope> <!-- 设置为 provided,只有 ExcelUtils 使用 -->
-        </dependency>
-
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-            <scope>provided</scope> <!-- 设置为 provided,只有 ExcelUtils 使用 -->
-        </dependency>
-
-        <!-- 工具类相关 -->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>easyexcel</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>

+ 0 - 21
iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/annotations/DictFormat.java

@@ -1,21 +0,0 @@
-package com.middle.platform.excel.core.annotations;
-
-import java.lang.annotation.*;
-
-/**
- * 字典格式化
- * 实现将字典数据的值,格式化成字典数据的标签
- */
-@Target({ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited
-public @interface DictFormat {
-
-    /**
-     * 例如说,SysDictTypeConstants、InfDictTypeConstants
-     *
-     * @return 字典类型
-     */
-    String value();
-
-}

+ 0 - 70
iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/convert/DictConvert.java

@@ -1,70 +0,0 @@
-package com.middle.platform.excel.core.convert;
-
-import cn.hutool.core.convert.Convert;
-import com.alibaba.excel.converters.Converter;
-import com.alibaba.excel.enums.CellDataTypeEnum;
-import com.alibaba.excel.metadata.GlobalConfiguration;
-import com.alibaba.excel.metadata.data.ReadCellData;
-import com.alibaba.excel.metadata.data.WriteCellData;
-import com.alibaba.excel.metadata.property.ExcelContentProperty;
-import com.middle.platform.biz.dict.core.util.DictFrameworkUtils;
-import com.middle.platform.excel.core.annotations.DictFormat;
-import lombok.extern.slf4j.Slf4j;
-
-/**
- * Excel 数据字典转换器
- */
-@Slf4j
-public class DictConvert implements Converter<Object> {
-
-    @Override
-    public Class<?> supportJavaTypeKey() {
-        throw new UnsupportedOperationException("暂不支持,也不需要");
-    }
-
-    @Override
-    public CellDataTypeEnum supportExcelTypeKey() {
-        throw new UnsupportedOperationException("暂不支持,也不需要");
-    }
-
-    @Override
-    public Object convertToJavaData(ReadCellData readCellData, ExcelContentProperty contentProperty,
-                                    GlobalConfiguration globalConfiguration) {
-        // 使用字典解析
-        String type = getType(contentProperty);
-        String label = readCellData.getStringValue();
-        String value = DictFrameworkUtils.parseDictDataValue(type, label);
-        if (value == null) {
-            log.error("[convertToJavaData][type({}) 解析不掉 label({})]", type, label);
-            return null;
-        }
-        // 将 String 的 value 转换成对应的属性
-        Class<?> fieldClazz = contentProperty.getField().getType();
-        return Convert.convert(fieldClazz, value);
-    }
-
-    @Override
-    public WriteCellData<String> convertToExcelData(Object object, ExcelContentProperty contentProperty,
-                                                    GlobalConfiguration globalConfiguration) {
-        // 空时,返回空
-        if (object == null) {
-            return new WriteCellData<>("");
-        }
-
-        // 使用字典格式化
-        String type = getType(contentProperty);
-        String value = String.valueOf(object);
-        String label = DictFrameworkUtils.getDictDataLabel(type, value);
-        if (label == null) {
-            log.error("[convertToExcelData][type({}) 转换不了 label({})]", type, value);
-            return new WriteCellData<>("");
-        }
-        // 生成 Excel 小表格
-        return new WriteCellData<>(label);
-    }
-
-    private static String getType(ExcelContentProperty contentProperty) {
-        return contentProperty.getField().getAnnotation(DictFormat.class).value();
-    }
-
-}

+ 0 - 33
iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/convert/JsonConvert.java

@@ -1,33 +0,0 @@
-package com.middle.platform.excel.core.convert;
-
-import com.alibaba.excel.converters.Converter;
-import com.alibaba.excel.enums.CellDataTypeEnum;
-import com.alibaba.excel.metadata.GlobalConfiguration;
-import com.alibaba.excel.metadata.data.WriteCellData;
-import com.alibaba.excel.metadata.property.ExcelContentProperty;
-import com.middle.platform.common.core.utils.JsonUtils;
-
-/**
- * Excel Json 转换器
- *
- */
-public class JsonConvert implements Converter<Object> {
-
-    @Override
-    public Class<?> supportJavaTypeKey() {
-        throw new UnsupportedOperationException("暂不支持,也不需要");
-    }
-
-    @Override
-    public CellDataTypeEnum supportExcelTypeKey() {
-        throw new UnsupportedOperationException("暂不支持,也不需要");
-    }
-
-    @Override
-    public WriteCellData<String> convertToExcelData(Object value, ExcelContentProperty contentProperty,
-                                                    GlobalConfiguration globalConfiguration) {
-        // 生成 Excel 小表格
-        return new WriteCellData<>(JsonUtils.toJsonString(value));
-    }
-
-}

+ 0 - 36
iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/convert/MoneyConvert.java

@@ -1,36 +0,0 @@
-package com.middle.platform.excel.core.convert;
-
-import com.alibaba.excel.converters.Converter;
-import com.alibaba.excel.enums.CellDataTypeEnum;
-import com.alibaba.excel.metadata.GlobalConfiguration;
-import com.alibaba.excel.metadata.data.WriteCellData;
-import com.alibaba.excel.metadata.property.ExcelContentProperty;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-
-/**
- * 金额转换器
- *
- */
-public class MoneyConvert implements Converter<Integer> {
-
-    @Override
-    public Class<?> supportJavaTypeKey() {
-        throw new UnsupportedOperationException("暂不支持,也不需要");
-    }
-
-    @Override
-    public CellDataTypeEnum supportExcelTypeKey() {
-        throw new UnsupportedOperationException("暂不支持,也不需要");
-    }
-
-    @Override
-    public WriteCellData<String> convertToExcelData(Integer value, ExcelContentProperty contentProperty,
-                                                    GlobalConfiguration globalConfiguration) {
-        BigDecimal result = BigDecimal.valueOf(value)
-                .divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
-        return new WriteCellData<>(result.toString());
-    }
-
-}

+ 0 - 46
iot-framework/iot-starter-excel/src/main/java/com/middle/platform/excel/core/util/ExcelUtils.java

@@ -1,46 +0,0 @@
-package com.middle.platform.excel.core.util;
-
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import jakarta.servlet.http.HttpServletResponse;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.List;
-
-/**
- * Excel 工具类
- *
- */
-public class ExcelUtils {
-
-    /**
-     * 将列表以 Excel 响应给前端
-     *
-     * @param response 响应
-     * @param filename 文件名
-     * @param sheetName Excel sheet 名
-     * @param head Excel head 头
-     * @param data 数据列表哦
-     * @param <T> 泛型,保证 head 和 data 类型的一致性
-     */
-    public static <T> void write(HttpServletResponse response, String filename, String sheetName,
-                                 Class<T> head, List<T> data) throws IOException {
-        // 输出 Excel
-        EasyExcel.write(response.getOutputStream(), head)
-                .autoCloseStream(false) // 不要自动关闭,交给 Servlet 自己处理
-                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 基于 column 长度,自动适配。最大 255 宽度
-                .sheet(sheetName).doWrite(data);
-        // 设置 header 和 contentType。写在最后的原因是,避免报错时,响应 contentType 已经被修改了
-        response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
-        response.setContentType("application/vnd.ms-excel;charset=UTF-8");
-    }
-
-    public static <T> List<T> read(MultipartFile file, Class<T> head) throws IOException {
-       return EasyExcel.read(file.getInputStream(), head, null)
-                .autoCloseStream(false)  // 不要自动关闭,交给 Servlet 自己处理
-                .doReadAllSync();
-    }
-
-}

+ 0 - 41
iot-framework/iot-starter-feign/pom.xml

@@ -1,41 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-feign</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <!-- RPC 远程调用相关 -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-openfeign</artifactId>
-        </dependency>
-        <!-- 工具相关 -->
-        <dependency>
-            <groupId>jakarta.validation</groupId>
-            <artifactId>jakarta.validation-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 26
iot-framework/iot-starter-feign/src/main/java/com/middle/platform/feign/core/FeignInterceptor.java

@@ -1,26 +0,0 @@
-package com.middle.platform.feign.core;
-
-import feign.RequestInterceptor;
-import feign.RequestTemplate;
-import jakarta.servlet.http.HttpServletRequest;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-/**
- *
- */
-@AutoConfiguration
-public class FeignInterceptor implements RequestInterceptor {
-
-    @Override
-    public void apply(RequestTemplate requestTemplate) {
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        if (attributes != null) {
-            HttpServletRequest request = attributes.getRequest();
-            String cookie = request.getHeader("Cookie");
-            requestTemplate.header("Cookie", cookie);
-        }
-    }
-
-}

+ 0 - 1
iot-framework/iot-starter-feign/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1 +0,0 @@
-com.middle.platform.feign.core.FeignInterceptor

+ 0 - 34
iot-framework/iot-starter-kafka/pom.xml

@@ -1,34 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-kafka</artifactId>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.kafka</groupId>
-            <artifactId>spring-kafka</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 45
iot-framework/iot-starter-kafka/src/main/java/com/middle/platform/kafka/config/KafkaConfig.java

@@ -1,45 +0,0 @@
-package com.middle.platform.kafka.config;
-
-import org.apache.kafka.clients.consumer.ConsumerConfig;
-import org.apache.kafka.common.serialization.IntegerDeserializer;
-import org.apache.kafka.common.serialization.StringDeserializer;
-import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
-import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author xucaiqin
- * @date 2024-04-15 15:47:13
- */
-@Configuration
-public class KafkaConfig {
-    private Map<String, Object> consumerProps(KafkaProperties kafkaProperties) {
-        Map<String, Object> props = new HashMap<>();
-        props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaProperties.getBootstrapServers());
-        props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, true);
-        props.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000");
-        props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "15000");
-        //一次拉取消息数量
-        props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, "5");
-        props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, IntegerDeserializer.class);
-        props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
-        return props;
-    }
-
-
-    @Bean("batchContainerFactory")
-    public ConcurrentKafkaListenerContainerFactory<String, Object> listenerContainer(KafkaProperties kafkaProperties) {
-        ConcurrentKafkaListenerContainerFactory<String, Object> container = new ConcurrentKafkaListenerContainerFactory<>();
-        container.setConsumerFactory(new DefaultKafkaConsumerFactory<>(consumerProps(kafkaProperties)));
-        //设置并发量,小于或等于Topic的分区数
-        container.setConcurrency(5);
-        //设置为批量监听
-        container.setBatchListener(true);
-        return container;
-    }
-}

+ 0 - 1
iot-framework/iot-starter-kafka/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1 +0,0 @@
-com.middle.platform.kafka.config.KafkaConfig

+ 0 - 48
iot-framework/iot-starter-log/pom.xml

@@ -1,48 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-log</artifactId>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-aop</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>jakarta.servlet</groupId>
-            <artifactId>jakarta.servlet-api</artifactId>
-        </dependency>
-        <!-- 工具类相关 -->
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 21
iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/config/LogAutoConfiguration.java

@@ -1,21 +0,0 @@
-package com.middle.platform.log.config;
-
-
-import com.middle.platform.log.core.aop.OperateLogAspect;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.context.annotation.Bean;
-
-@AutoConfiguration
-public class LogAutoConfiguration {
-
-    @Bean
-    public OperateLogAspect operateLogAspect() {
-        return new OperateLogAspect();
-    }
-
-//    @Bean
-//    public LogFrameworkService operateLogFrameworkService(OperateLogApi operateLogApi) {
-//        return new LogFrameworkServiceImpl(operateLogApi);
-//    }
-
-}

+ 0 - 13
iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/config/LogRpcAutoConfiguration.java

@@ -1,13 +0,0 @@
-package com.middle.platform.log.config;
-
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-
-/**
- * 操作日志使用到 Feign 的配置项
- *
- */
-@AutoConfiguration
-//@EnableFeignClients(clients = OperateLogApi.class) // 主要是引入相关的 API 服务
-public class LogRpcAutoConfiguration {
-
-}

+ 0 - 53
iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/annotations/OperateLog.java

@@ -1,53 +0,0 @@
-package com.middle.platform.log.core.annotations;
-
-
-import com.middle.platform.log.core.enums.OperateTypeEnum;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * 操作日志注解
- */
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface OperateLog {
-
-    // ========== 模块字段 ==========
-
-    /**
-     * 操作模块
-     */
-    String module() default "";
-
-    /**
-     * 操作名
-     */
-    String name() default "";
-
-    /**
-     * 操作分类
-     * 实际并不是数组,因为枚举不能设置 null 作为默认值
-     */
-    OperateTypeEnum[] type() default {};
-
-    // ========== 开关字段 ==========
-
-    /**
-     * 是否记录操作日志
-     */
-    boolean enable() default true;
-
-    /**
-     * 是否记录方法参数
-     */
-    boolean logArgs() default true;
-
-    /**
-     * 是否记录方法结果的数据
-     */
-    boolean logResultData() default true;
-
-}

+ 0 - 244
iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/aop/OperateLogAspect.java

@@ -1,244 +0,0 @@
-package com.middle.platform.log.core.aop;
-
-import cn.hutool.core.date.LocalDateTimeUtil;
-import cn.hutool.core.exceptions.ExceptionUtil;
-import cn.hutool.core.util.ArrayUtil;
-import com.google.common.collect.Maps;
-import com.middle.platform.common.core.constant.Global;
-import com.middle.platform.common.core.utils.JsonUtils;
-import com.middle.platform.common.core.utils.Result;
-import com.middle.platform.common.core.utils.ServletUtils;
-import com.middle.platform.log.core.annotations.OperateLog;
-import com.middle.platform.log.core.enums.OperateTypeEnum;
-import com.middle.platform.log.core.service.LogFrameworkService;
-import com.middle.platform.log.core.service.OperateLogDto;
-import jakarta.annotation.Resource;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
-import org.springframework.core.annotation.AnnotationUtils;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.multipart.MultipartFile;
-import java.lang.reflect.Array;
-import java.time.LocalDateTime;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Map;
-import java.util.function.Predicate;
-import java.util.stream.IntStream;
-
-
-
-@Aspect
-@Slf4j
-public class OperateLogAspect {
-
-    @Resource
-    private LogFrameworkService logFrameworkService;
-
-    @Around("@annotation(operateLog)")
-    public Object around(ProceedingJoinPoint joinPoint, OperateLog operateLog) throws Throwable {
-        return around0(joinPoint, operateLog);
-    }
-
-    private Object around0(ProceedingJoinPoint joinPoint, OperateLog operateLog) throws Throwable {
-        // 记录开始时间
-        LocalDateTime startTime = LocalDateTime.now();
-        try {
-            // 执行原有方法
-            Object result = joinPoint.proceed();
-            // 记录正常执行时的操作日志
-            this.log(joinPoint, operateLog, startTime, result, null);
-            return result;
-        } catch (Throwable exception) {
-            this.log(joinPoint, operateLog, startTime, null, exception);
-            throw exception;
-        }
-    }
-
-
-    private void log(ProceedingJoinPoint joinPoint, OperateLog operateLog, LocalDateTime startTime, Object result, Throwable exception) {
-        try {
-            // 判断不记录的情况
-            if (!isLogEnable(joinPoint, operateLog)) {
-                return;
-            }
-            // 真正记录操作日志
-            this.log0(joinPoint, operateLog, startTime, result, exception);
-        } catch (Throwable ex) {
-            log.error("[log][记录操作日志时,发生异常,其中参数是 joinPoint({}) operateLog({}) result({}) exception({}) ]", joinPoint, operateLog, result, exception, ex);
-        }
-    }
-
-    private void log0(ProceedingJoinPoint joinPoint, OperateLog operateLog, LocalDateTime startTime, Object result, Throwable exception) {
-        OperateLogDto operateLogObj = new OperateLogDto();
-        // 补全通用字段
-//        operateLogObj.setTraceId(TracerUtils.getTraceId());
-        operateLogObj.setStartTime(startTime);
-        // 补充用户信息
-        fillUserFields(operateLogObj);
-        // 补全模块信息
-        fillModuleFields(operateLogObj, joinPoint, operateLog);
-        // 补全请求信息
-        fillRequestFields(operateLogObj);
-        // 补全方法信息
-        fillMethodFields(operateLogObj, joinPoint, operateLog, startTime, result, exception);
-
-        // 异步记录日志
-        logFrameworkService.createOperateLog(operateLogObj);
-    }
-
-    private static void fillUserFields(OperateLogDto operateLogObj) {
-//        operateLogObj.setUserId(WebFrameworkUtils.getLoginUserId());
-//        operateLogObj.setUserType(WebFrameworkUtils.getLoginUserType());
-    }
-
-    private static void fillModuleFields(OperateLogDto operateLogObj, ProceedingJoinPoint joinPoint, OperateLog operateLog) {
-        // module 属性
-        if (operateLog != null) {
-            operateLogObj.setModule(operateLog.module());
-        }
-        // name 属性
-        if (operateLog != null) {
-            operateLogObj.setName(operateLog.name());
-        }
-        // type 属性
-        if (operateLog != null && ArrayUtil.isNotEmpty(operateLog.type())) {
-            operateLogObj.setType(operateLog.type()[0].getType());
-        }
-        if (operateLogObj.getType() == null) {
-            RequestMethod requestMethod = obtainFirstMatchRequestMethod(obtainRequestMethod(joinPoint));
-            OperateTypeEnum operateLogType = convertOperateLogType(requestMethod);
-            operateLogObj.setType(operateLogType != null ? operateLogType.getType() : null);
-        }
-    }
-
-    private static void fillRequestFields(OperateLogDto operateLogObj) {
-        // 获得 Request 对象
-        HttpServletRequest request = ServletUtils.getRequest();
-        if (request == null) {
-            return;
-        }
-        // 补全请求信息
-        operateLogObj.setRequestMethod(request.getMethod());
-        operateLogObj.setRequestUrl(request.getRequestURI());
-        operateLogObj.setUserIp(ServletUtils.getClientIP(request));
-        operateLogObj.setUserAgent(ServletUtils.getUserAgent(request));
-    }
-
-    private static void fillMethodFields(OperateLogDto operateLogObj, ProceedingJoinPoint joinPoint, OperateLog operateLog, LocalDateTime startTime, Object result, Throwable exception) {
-        MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
-        operateLogObj.setJavaMethod(methodSignature.toString());
-        if (operateLog == null || operateLog.logArgs()) {
-            operateLogObj.setJavaMethodArgs(obtainMethodArgs(joinPoint));
-        }
-        if (operateLog == null || operateLog.logResultData()) {
-            operateLogObj.setResultData(String.valueOf(result));
-        }
-        operateLogObj.setDuration((int) (LocalDateTimeUtil.between(startTime, LocalDateTime.now()).toMillis()));
-        // (正常)处理 resultCode 和 resultMsg 字段
-        if (result instanceof Result<?> commonResult) {
-            operateLogObj.setResultCode(commonResult.getCode());
-            operateLogObj.setResultMsg(commonResult.getMsg());
-        } else {
-            operateLogObj.setResultCode(Global.SUCCESS);
-        }
-        // (异常)处理 resultCode 和 resultMsg 字段
-        if (exception != null) {
-            operateLogObj.setResultCode(Global.ERROR);
-            operateLogObj.setResultMsg(ExceptionUtil.getRootCauseMessage(exception));
-        }
-    }
-
-    private static boolean isLogEnable(ProceedingJoinPoint joinPoint, OperateLog operateLog) {
-        // 有 @OperateLog 注解的情况下
-        if (operateLog != null) {
-            return operateLog.enable();
-        }
-        return obtainFirstLogRequestMethod(obtainRequestMethod(joinPoint)) != null;
-    }
-
-    private static RequestMethod obtainFirstLogRequestMethod(RequestMethod[] requestMethods) {
-        if (ArrayUtil.isEmpty(requestMethods)) {
-            return null;
-        }
-        return Arrays.stream(requestMethods).filter(requestMethod -> requestMethod == RequestMethod.POST || requestMethod == RequestMethod.PUT || requestMethod == RequestMethod.DELETE).findFirst().orElse(null);
-    }
-
-    private static RequestMethod obtainFirstMatchRequestMethod(RequestMethod[] requestMethods) {
-        if (ArrayUtil.isEmpty(requestMethods)) {
-            return null;
-        }
-        // 优先,匹配最优的 POST、PUT、DELETE
-        RequestMethod result = obtainFirstLogRequestMethod(requestMethods);
-        if (result != null) {
-            return result;
-        }
-        // 然后,匹配次优的 GET
-        result = Arrays.stream(requestMethods).filter(requestMethod -> requestMethod == RequestMethod.GET).findFirst().orElse(null);
-        if (result != null) {
-            return result;
-        }
-        // 兜底,获得第一个
-        return requestMethods[0];
-    }
-
-    private static OperateTypeEnum convertOperateLogType(RequestMethod requestMethod) {
-        if (requestMethod == null) {
-            return null;
-        }
-        return switch (requestMethod) {
-            case GET -> OperateTypeEnum.GET;
-            case POST -> OperateTypeEnum.CREATE;
-            case PUT -> OperateTypeEnum.UPDATE;
-            case DELETE -> OperateTypeEnum.DELETE;
-            default -> OperateTypeEnum.OTHER;
-        };
-    }
-
-    private static RequestMethod[] obtainRequestMethod(ProceedingJoinPoint joinPoint) {
-        RequestMapping requestMapping = AnnotationUtils.getAnnotation( // 使用 Spring 的工具类,可以处理 @RequestMapping 别名注解
-                ((MethodSignature) joinPoint.getSignature()).getMethod(), RequestMapping.class);
-        return requestMapping != null ? requestMapping.method() : new RequestMethod[]{};
-    }
-
-    private static String obtainMethodArgs(ProceedingJoinPoint joinPoint) {
-        MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();
-        String[] argNames = methodSignature.getParameterNames();
-        Object[] argValues = joinPoint.getArgs();
-        // 拼接参数
-        Map<String, Object> args = Maps.newHashMapWithExpectedSize(argValues.length);
-        for (int i = 0; i < argNames.length; i++) {
-            String argName = argNames[i];
-            Object argValue = argValues[i];
-            // 被忽略时,标记为 ignore 字符串,避免和 null 混在一起
-            args.put(argName, !isIgnoreArgs(argValue) ? argValue : "[ignore]");
-        }
-        return JsonUtils.toJsonString(args);
-    }
-
-
-    private static boolean isIgnoreArgs(Object object) {
-        Class<?> clazz = object.getClass();
-        // 处理数组的情况
-        if (clazz.isArray()) {
-            return IntStream.range(0, Array.getLength(object)).anyMatch(index -> isIgnoreArgs(Array.get(object, index)));
-        }
-        // 递归,处理数组、Collection、Map 的情况
-        if (Collection.class.isAssignableFrom(clazz)) {
-            return ((Collection<?>) object).stream().anyMatch((Predicate<Object>) OperateLogAspect::isIgnoreArgs);
-        }
-        if (Map.class.isAssignableFrom(clazz)) {
-            return isIgnoreArgs(((Map<?, ?>) object).values());
-        }
-        // obj
-        return object instanceof MultipartFile || object instanceof HttpServletRequest || object instanceof HttpServletResponse || object instanceof BindingResult;
-    }
-
-}

+ 0 - 51
iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/enums/OperateTypeEnum.java

@@ -1,51 +0,0 @@
-package com.middle.platform.log.core.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * 操作日志的操作类型
- *
- * @author ruoyi
- */
-@Getter
-@AllArgsConstructor
-public enum OperateTypeEnum {
-
-    /**
-     * 查询
-     * 绝大多数情况下,不会记录查询动作,因为过于大量显得没有意义。
-     */
-    GET(1),
-    /**
-     * 新增
-     */
-    CREATE(2),
-    /**
-     * 修改
-     */
-    UPDATE(3),
-    /**
-     * 删除
-     */
-    DELETE(4),
-    /**
-     * 导出
-     */
-    EXPORT(5),
-    /**
-     * 导入
-     */
-    IMPORT(6),
-    /**
-     * 其它
-     * 在无法归类时,可以选择使用其它。因为还有操作名可以进一步标识
-     */
-    OTHER(0);
-
-    /**
-     * 类型
-     */
-    private final Integer type;
-
-}

+ 0 - 16
iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/service/LogFrameworkService.java

@@ -1,16 +0,0 @@
-package com.middle.platform.log.core.service;
-
-/**
- * 操作日志 Framework Service 接口
- *
- */
-public interface LogFrameworkService {
-
-    /**
-     * 记录操作日志
-     *
-     * @param operateLogDto 操作日志请求
-     */
-    void createOperateLog(OperateLogDto operateLogDto);
-
-}

+ 0 - 18
iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/service/LogFrameworkServiceImpl.java

@@ -1,18 +0,0 @@
-package com.middle.platform.log.core.service;
-
-import lombok.RequiredArgsConstructor;
-import org.springframework.scheduling.annotation.Async;
-
-/**
- * 操作日志 Framework Service 实现类
- */
-@RequiredArgsConstructor
-public class LogFrameworkServiceImpl implements LogFrameworkService {
-
-
-    @Override
-    @Async
-    public void createOperateLog(OperateLogDto operateLogDto) {
-    }
-
-}

+ 0 - 100
iot-framework/iot-starter-log/src/main/java/com/middle/platform/log/core/service/OperateLogDto.java

@@ -1,100 +0,0 @@
-package com.middle.platform.log.core.service;
-
-import lombok.Data;
-
-import java.time.LocalDateTime;
-import java.util.Map;
-
-/**
- * 操作日志
- *
- */
-@Data
-public class OperateLogDto {
-
-    /**
-     * 链路追踪编号
-     */
-    private String traceId;
-
-    /**
-     * 用户编号
-     */
-    private Long userId;
-    /**
-     * 用户类型
-     */
-    private Integer userType;
-
-    /**
-     * 操作模块
-     */
-    private String module;
-
-    /**
-     * 操作名
-     */
-    private String name;
-
-    /**
-     * 操作分类
-     */
-    private Integer type;
-
-
-    /**
-     * 请求方法名
-     */
-    private String requestMethod;
-
-    /**
-     * 请求地址
-     */
-    private String requestUrl;
-
-    /**
-     * 用户 IP
-     */
-    private String userIp;
-
-    /**
-     * 浏览器 UserAgent
-     */
-    private String userAgent;
-
-    /**
-     * Java 方法名
-     */
-    private String javaMethod;
-
-    /**
-     * Java 方法的参数
-     */
-    private String javaMethodArgs;
-
-    /**
-     * 开始时间
-     */
-    private LocalDateTime startTime;
-
-    /**
-     * 执行时长,单位:毫秒
-     */
-    private Integer duration;
-
-    /**
-     * 结果码
-     */
-    private Integer resultCode;
-
-    /**
-     * 结果提示
-     */
-    private String resultMsg;
-
-    /**
-     * 结果数据
-     */
-    private String resultData;
-
-}

+ 0 - 2
iot-framework/iot-starter-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1,2 +0,0 @@
-com.middle.platform.log.config.LogAutoConfiguration
-com.middle.platform.log.config.LogRpcAutoConfiguration

+ 0 - 20
iot-framework/iot-starter-mongo/pom.xml

@@ -1,20 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-mongo</artifactId>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-</project>

+ 0 - 39
iot-framework/iot-starter-mqtt/pom.xml

@@ -1,39 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-mqtt</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-integration</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.integration</groupId>
-            <artifactId>spring-integration-stream</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.integration</groupId>
-            <artifactId>spring-integration-mqtt</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>

+ 0 - 21
iot-framework/iot-starter-mqtt/src/main/java/com/middle/platform/mqtt/properties/MqttProperties.java

@@ -1,21 +0,0 @@
-package com.middle.platform.mqtt.properties;
-
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * @author xucaiqin
- * @date 2023-10-24 13:37:02
- */
-@Getter
-@Setter
-@AutoConfiguration
-@ConfigurationProperties(prefix = "mqtt")
-public class MqttProperties {
-    private String url;
-    private String username;
-    private String password;
-    private String clientId;
-}

+ 0 - 1
iot-framework/iot-starter-mqtt/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1 +0,0 @@
-com.middle.platform.mqtt.properties.MqttProperties

+ 0 - 77
iot-framework/iot-starter-mybatis/pom.xml

@@ -1,77 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-mybatis</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.mysql</groupId>
-            <artifactId>mysql-connector-j</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.oracle.database.jdbc</groupId>
-            <artifactId>ojdbc8</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.postgresql</groupId>
-            <artifactId>postgresql</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.microsoft.sqlserver</groupId>
-            <artifactId>mssql-jdbc</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.dameng</groupId>
-            <artifactId>DmJdbcDriver18</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.taosdata.jdbc</groupId>
-            <artifactId>taos-jdbcdriver</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid-spring-boot-3-starter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <!-- 多数据源 -->
-        </dependency>
-
-        <dependency>
-            <groupId>com.github.yulichang</groupId>
-            <artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 联表查询 -->
-        </dependency>
-        <dependency>
-            <groupId>cn.dev33</groupId>
-            <artifactId>sa-token-core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-annotations</artifactId>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 29
iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/config/MybatisAutoConfiguration.java

@@ -1,29 +0,0 @@
-package com.middle.platform.mybatis.config;
-
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import com.middle.platform.mybatis.core.handler.DefaultDbFieldHandler;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.context.annotation.Bean;
-
-/**
- * MyBaits 配置类
- */
-@AutoConfiguration
-public class MybatisAutoConfiguration {
-
-    @Bean
-    public MybatisPlusInterceptor mybatisPlusInterceptor() {
-        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
-        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); // 分页插件
-        return mybatisPlusInterceptor;
-    }
-
-
-    @Bean
-    public MetaObjectHandler defaultMetaObjectHandler() {
-        return new DefaultDbFieldHandler(); // 自动填充参数类
-    }
-
-}

+ 0 - 43
iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/core/dataobject/BaseDO.java

@@ -1,43 +0,0 @@
-package com.middle.platform.mybatis.core.dataobject;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * 基础实体对象
- */
-@Data
-public abstract class BaseDO implements Serializable {
-    /**
-     * 创建者
-     */
-    @TableField(fill = FieldFill.INSERT)
-    private Long createBy;
-    /**
-     * 创建时间
-     */
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-    /**
-     * 更新者
-     */
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Long updateBy;
-    /**
-     * 最后更新时间
-     */
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-    /**
-     * 删除时间
-     */
-    @TableField(value = "delete_time")
-    private LocalDateTime deleteTime;
-    /**
-     * 是否删除
-     */
-    private Integer delFlag;
-}

+ 0 - 35
iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/core/dataobject/BaseVO.java

@@ -1,35 +0,0 @@
-package com.middle.platform.mybatis.core.dataobject;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * 基础实体对象
- */
-@Data
-public abstract class BaseVO implements Serializable {
-    /**
-     * 创建者
-     */
-    private Long createBy;
-    private String createByLabel;
-
-    /**
-     * 创建时间
-     */
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private LocalDateTime createTime;
-    /**
-     * 更新者
-     */
-    private Long updateBy;
-    private String updateByLabel;
-    /**
-     * 最后更新时间
-     */
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private LocalDateTime updateTime;
-}

+ 0 - 59
iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/core/handler/DefaultDbFieldHandler.java

@@ -1,59 +0,0 @@
-package com.middle.platform.mybatis.core.handler;
-
-import cn.dev33.satoken.stp.StpUtil;
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.middle.platform.mybatis.core.dataobject.BaseDO;
-import org.apache.ibatis.reflection.MetaObject;
-
-import java.time.LocalDateTime;
-import java.util.Objects;
-
-/**
- * @author xucaiqin
- * @date 2023-11-30 17:17:20
- */
-public class DefaultDbFieldHandler implements MetaObjectHandler {
-    @Override
-    public void insertFill(MetaObject metaObject) {
-        if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO baseDO) {
-
-            LocalDateTime current = LocalDateTime.now();
-            // 创建时间为空,则以当前时间为插入时间
-            if (Objects.isNull(baseDO.getCreateTime())) {
-                baseDO.setCreateTime(current);
-            }
-            // 更新时间为空,则以当前时间为更新时间
-            if (Objects.isNull(baseDO.getUpdateTime())) {
-                baseDO.setUpdateTime(current);
-            }
-            if (StpUtil.isLogin()) {
-                Long userId = StpUtil.getLoginIdAsLong();
-                // 当前登录用户不为空,创建人为空,则当前登录用户为创建人
-                if (Objects.isNull(baseDO.getCreateBy())) {
-                    baseDO.setCreateBy(userId);
-                }
-                // 当前登录用户不为空,更新人为空,则当前登录用户为更新人
-                if (Objects.isNull(baseDO.getUpdateBy())) {
-                    baseDO.setUpdateBy(userId);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void updateFill(MetaObject metaObject) {
-        if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BaseDO baseDO) {
-            // 更新时间为空,则以当前时间为更新时间
-            if (Objects.isNull(baseDO.getUpdateTime())) {
-                baseDO.setUpdateTime(LocalDateTime.now());
-            }
-
-            if (Objects.isNull(baseDO.getUpdateBy())) {
-                if (StpUtil.isLogin()) {
-                    Long userId = StpUtil.getLoginIdAsLong();
-                    baseDO.setUpdateBy(userId);
-                }
-            }
-        }
-    }
-}

+ 0 - 67
iot-framework/iot-starter-mybatis/src/main/java/com/middle/platform/mybatis/utils/MyBatisUtils.java

@@ -1,67 +0,0 @@
-package com.middle.platform.mybatis.utils;
-
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
-import net.sf.jsqlparser.expression.Alias;
-import net.sf.jsqlparser.schema.Column;
-import net.sf.jsqlparser.schema.Table;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * MyBatis 工具类
- */
-public class MyBatisUtils {
-
-    private static final String MYSQL_ESCAPE_CHARACTER = "`";
-
-
-
-    /**
-     * 将拦截器添加到链中
-     * 由于 MybatisPlusInterceptor 不支持添加拦截器,所以只能全量设置
-     *
-     * @param interceptor 链
-     * @param inner 拦截器
-     * @param index 位置
-     */
-    public static void addInterceptor(MybatisPlusInterceptor interceptor, InnerInterceptor inner, int index) {
-        List<InnerInterceptor> inners = new ArrayList<>(interceptor.getInterceptors());
-        inners.add(index, inner);
-        interceptor.setInterceptors(inners);
-    }
-
-    /**
-     * 获得 Table 对应的表名
-     *
-     * 兼容 MySQL 转义表名 `t_xxx`
-     *
-     * @param table 表
-     * @return 去除转移字符后的表名
-     */
-    public static String getTableName(Table table) {
-        String tableName = table.getName();
-        if (tableName.startsWith(MYSQL_ESCAPE_CHARACTER) && tableName.endsWith(MYSQL_ESCAPE_CHARACTER)) {
-            tableName = tableName.substring(1, tableName.length() - 1);
-        }
-        return tableName;
-    }
-
-    /**
-     * 构建 Column 对象
-     *
-     * @param tableName 表名
-     * @param tableAlias 别名
-     * @param column 字段名
-     * @return Column 对象
-     */
-    public static Column buildColumn(String tableName, Alias tableAlias, String column) {
-        if (tableAlias != null) {
-            tableName = tableAlias.getName();
-        }
-        return new Column(tableName + StringPool.DOT + column);
-    }
-
-}

+ 0 - 2
iot-framework/iot-starter-mybatis/src/main/resources/META-INF/spring.factories

@@ -1,2 +0,0 @@
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-  com.middle.platform.mybatis.config.MybatisAutoConfiguration \

+ 0 - 1
iot-framework/iot-starter-mybatis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1 +0,0 @@
-com.middle.platform.mybatis.config.MybatisAutoConfiguration

+ 0 - 39
iot-framework/iot-starter-oss/pom.xml

@@ -1,39 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-oss</artifactId>
-    <description>oss-starter</description>
-    <packaging>jar</packaging>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun.oss</groupId>
-            <artifactId>aliyun-sdk-oss</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-    </dependencies>
-
-</project>

+ 0 - 54
iot-framework/iot-starter-oss/src/main/java/com/middle/platform/oss/config/AliyunOss.java

@@ -1,54 +0,0 @@
-package com.middle.platform.oss.config;
-
-import com.aliyun.oss.*;
-import com.aliyun.oss.common.auth.CredentialsProviderFactory;
-import com.aliyun.oss.common.auth.DefaultCredentialProvider;
-import com.aliyun.oss.common.comm.SignVersion;
-import com.aliyun.oss.model.PutObjectRequest;
-import com.aliyun.oss.model.PutObjectResult;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-
-/**
- * @author xucaiqin
- * @date 2024-05-06 08:56:05
- */
-@Slf4j
-public class AliyunOss {
-    private final OSS oss;
-    private final String bucketName = "kaiwu-saas";
-
-    public AliyunOss() {
-        String secretAccessKey = "7mQLWMaBJeZPRV1SRGogctYGXwppjQ";
-        String accessKeyId = "LTAI5tPEbubCGq5Rdwygbz4Q";
-        DefaultCredentialProvider defaultCredentialProvider = CredentialsProviderFactory.newDefaultCredentialProvider(accessKeyId, secretAccessKey);
-        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
-        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
-        String endPoint = "https://oss-cn-chengdu.aliyuncs.com";
-        String region = "cn-chengdu";
-        oss = OSSClientBuilder.create().endpoint(endPoint).credentialsProvider(defaultCredentialProvider).clientConfiguration(clientBuilderConfiguration).region(region).build();
-    }
-
-    /**
-     * https://kaiwu-saas.oss-cn-chengdu.aliyuncs.com/test/a.txt
-     *
-     * @param key
-     * @param file
-     * @return
-     */
-    public String upload(String key, MultipartFile file) {
-        try {
-            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, file.getInputStream());
-            PutObjectResult putObjectResult = oss.putObject(putObjectRequest);
-        } catch (OSSException oe) {
-            oe.printStackTrace();
-            log.error("OSSException:{}", oe.getMessage(), oe);
-        } catch (ClientException | IOException ce) {
-            log.error("ClientException:{}", ce.getMessage(), ce);
-        }
-        return "https://" + bucketName + ".oss-cn-chengdu.aliyuncs.com/" + key;
-    }
-
-}

+ 0 - 1
iot-framework/iot-starter-oss/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1 +0,0 @@
-com.middle.platform.oss.config.AliyunOss

+ 0 - 25
iot-framework/iot-starter-pagehelper/pom.xml

@@ -1,25 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-pagehelper</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper-spring-boot-starter</artifactId>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 158
iot-framework/iot-starter-pagehelper/src/main/java/com/middle/platform/pagehelper/core/PageRes.java

@@ -1,158 +0,0 @@
-package com.middle.platform.pagehelper.core;
-
-
-import com.github.pagehelper.PageInfo;
-import org.springframework.util.CollectionUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 分页结果泛型类
- * 适用于 pagehelper
- *
- * @author xucaiqin
- * @date 2023-07-12 08:42:26
- */
-public class PageRes<T> {
-
-    /**
-     * 当前页数
-     */
-    protected int page;
-    /**
-     * 每页显示条数
-     */
-    protected int pageSize;
-    /**
-     * 总条数
-     */
-    protected long total;
-    /**
-     * 总页数
-     */
-    protected int pages;
-    /**
-     * 数据
-     */
-    protected List<T> list;
-
-    public PageRes() {
-        this.list = new ArrayList<>();
-    }
-    public PageRes(int page, int pageSize) {
-        this.page = page;
-        this.pageSize = pageSize;
-        this.total = 0;
-        this.pages = 0;
-        this.list = new ArrayList<>();;
-    }
-    public PageRes(int page, int pageSize, long total, int pages, List<T> list) {
-        this.page = page;
-        this.pageSize = pageSize;
-        this.total = total;
-        this.pages = pages;
-        this.list = list;
-    }
-
-    public PageRes(PageInfo<T> pageInfo) {
-        this.page = pageInfo.getPageNum();
-        this.pageSize = pageInfo.getPageSize();
-        this.total = pageInfo.getTotal();
-        this.pages = pageInfo.getPages();
-        this.list = CollectionUtils.isEmpty(pageInfo.getList()) ? new ArrayList<>() : pageInfo.getList();
-    }
-
-    public PageRes(PageInfo<T> pageInfo, List<T> list) {
-        this.page = pageInfo.getPageNum();
-        this.pageSize = pageInfo.getPageSize();
-        this.total = pageInfo.getTotal();
-        this.pages = pageInfo.getPages();
-        this.list = list;
-    }
-
-    public PageRes(List<T> list) {
-        PageInfo<T> pageInfo = new PageInfo<>(list);
-        this.page = pageInfo.getPageNum();
-        this.pageSize = pageInfo.getPageSize();
-        this.total = pageInfo.getTotal();
-        this.pages = pageInfo.getPages();
-        this.list = pageInfo.getList();
-    }
-
-
-    /**
-     * 构建返回数据
-     *
-     * @param pagInfo pageHelper的分页对象
-     * @param list    实际返回的数据集
-     * @return
-     */
-    public static <T> PageRes<T> build(PageInfo<?> pagInfo, List<T> list) {
-        PageRes<T> tPageRes = new PageRes<>();
-        tPageRes.setPage(pagInfo.getPageNum());
-        tPageRes.setPageSize(pagInfo.getPageSize());
-        tPageRes.setTotal(pagInfo.getTotal());
-        tPageRes.setPages(pagInfo.getPages());
-        tPageRes.setList(list);
-        return tPageRes;
-    }
-
-    /**
-     * 手动对list进行分页数据处理
-     *
-     * @param page     当前页
-     * @param pageSize 每页大小
-     * @param list     总数据
-     * @return
-     */
-    public static <T> PageRes<T> handPage(int page, int pageSize, List<T> list) {
-        PageRes<T> tPageRes = new PageRes<>();
-        tPageRes.setPage(page);
-        tPageRes.setPageSize(pageSize);
-        tPageRes.setTotal(list.size());
-        tPageRes.setPages(list.size() / pageSize + 1);
-        tPageRes.setList(list.stream().skip((long) (page - 1) * pageSize).limit(pageSize).toList());
-        return tPageRes;
-    }
-
-    public void setPage(int page) {
-        this.page = page;
-    }
-
-    public void setPageSize(int pageSize) {
-        this.pageSize = pageSize;
-    }
-
-    public void setTotal(long total) {
-        this.total = total;
-    }
-
-    public void setPages(int pages) {
-        this.pages = pages;
-    }
-
-    public void setList(List<T> list) {
-        this.list = list;
-    }
-
-    public int getPage() {
-        return page;
-    }
-
-    public int getPageSize() {
-        return pageSize;
-    }
-
-    public long getTotal() {
-        return total;
-    }
-
-    public int getPages() {
-        return pages;
-    }
-
-    public List<T> getList() {
-        return list;
-    }
-}

+ 0 - 30
iot-framework/iot-starter-rabbitmq/pom.xml

@@ -1,30 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-rabbitmq</artifactId>
-    <packaging>jar</packaging>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.amqp</groupId>
-            <artifactId>spring-rabbit</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 81
iot-framework/iot-starter-rabbitmq/src/main/java/com/middle/platform/rabbitmq/config/RabbitConfig.java

@@ -1,81 +0,0 @@
-package com.middle.platform.rabbitmq.config;
-
-import com.middle.platform.common.core.constant.RabbitConstant;
-import org.springframework.amqp.core.Binding;
-import org.springframework.amqp.core.BindingBuilder;
-import org.springframework.amqp.core.Queue;
-import org.springframework.amqp.core.TopicExchange;
-import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
-import org.springframework.amqp.rabbit.connection.ConnectionFactory;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author xucaiqin
- * @date 2024-04-01 19:46:34
- */
-@Configuration
-public class RabbitConfig {
-    /**
-     * 数据处理交换机
-     *
-     * @return
-     */
-    @Bean
-    public TopicExchange dataExchange() {
-        return new TopicExchange(RabbitConstant.TOPIC_EXCHANGE_DATA, true, false);
-    }
-    @Bean
-    public SimpleRabbitListenerContainerFactory rabbitFactory(ConnectionFactory connectionFactory) {
-        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
-        factory.setConnectionFactory(connectionFactory);
-        //设置批量
-        factory.setBatchListener(true);
-        factory.setConsumerBatchEnabled(true);//设置BatchMessageListener生效
-        factory.setBatchSize(500);//设置监听器一次批量处理的消息数量
-        return factory;
-    }
-    @Bean
-    public Queue rawQueue() {
-        return new Queue(RabbitConstant.RAW_QUEUE);
-    }
-
-    @Bean
-    public Queue dealQueue() {
-        return new Queue(RabbitConstant.DEAL_QUEUE);
-    }
-
-    @Bean
-    public Queue dbQueue() {
-        return new Queue(RabbitConstant.DB_QUEUE);
-    }
-
-
-    @Bean
-    public Binding dbBinding(TopicExchange dataExchange, Queue dbQueue) {
-        Binding binding = BindingBuilder
-                .bind(dbQueue)
-                .to(dataExchange)
-                .with(RabbitConstant.ROUTING_POINT_DATA_PREFIX + dbQueue.getName());
-        binding.addArgument(RabbitConstant.AUTO_DELETE, true);
-        return binding;
-    }
-    @Bean
-    public Binding dealBinding(TopicExchange dataExchange, Queue dealQueue) {
-        Binding binding = BindingBuilder
-                .bind(dealQueue)
-                .to(dataExchange)
-                .with(RabbitConstant.ROUTING_POINT_DATA_PREFIX + dealQueue.getName());
-        binding.addArgument(RabbitConstant.AUTO_DELETE, true);
-        return binding;
-    }
-    @Bean
-    public Binding rawBinding(TopicExchange dataExchange, Queue rawQueue) {
-        Binding binding = BindingBuilder
-                .bind(rawQueue)
-                .to(dataExchange)
-                .with(RabbitConstant.ROUTING_POINT_DATA_PREFIX + rawQueue.getName());
-        binding.addArgument(RabbitConstant.AUTO_DELETE, true);
-        return binding;
-    }
-}

+ 0 - 1
iot-framework/iot-starter-rabbitmq/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1 +0,0 @@
-com.middle.platform.rabbitmq.config.RabbitConfig

+ 0 - 34
iot-framework/iot-starter-redis/pom.xml

@@ -1,34 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-redis</artifactId>
-    <packaging>jar</packaging>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <!-- DB 相关 -->
-        <dependency>
-            <groupId>org.redisson</groupId>
-            <artifactId>redisson-spring-boot-starter</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-jsr310</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>

+ 0 - 53
iot-framework/iot-starter-redis/src/main/java/com/middle/platform/redis/config/RedisAutoConfiguration.java

@@ -1,53 +0,0 @@
-package com.middle.platform.redis.config;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.context.annotation.Bean;
-import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
-import org.springframework.data.redis.serializer.RedisSerializer;
-
-/**
- * @author xucaiqin
- * @date 2023-11-30 16:58:22
- */
-@AutoConfiguration
-public class RedisAutoConfiguration {
-    /**
-     * 创建 RedisTemplate Bean,使用 JSON 序列化方式
-     */
-    @Bean
-    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
-        // 创建 RedisTemplate 对象
-        RedisTemplate<String, Object> template = new RedisTemplate<>();
-        // 设置 RedisConnection 工厂。 它就是实现多种 Java Redis 客户端接入的秘密工厂。感兴趣的胖友,可以自己去撸下。
-        template.setConnectionFactory(factory);
-        // 使用 String 序列化方式,序列化 KEY 。
-        template.setKeySerializer(RedisSerializer.string());
-        template.setHashKeySerializer(RedisSerializer.string());
-        // 使用 JSON 序列化方式(库是 Jackson ),序列化 VALUE 。
-        template.setValueSerializer(serializer());
-        template.setHashValueSerializer(serializer());
-        return template;
-    }
-
-    private Jackson2JsonRedisSerializer<Object> serializer() {
-        // 使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
-        ObjectMapper objectMapper = new ObjectMapper();
-        // 解决jackson2无法序列化LocalDateTime问题
-        objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
-        objectMapper.registerModule(new JavaTimeModule());
-        // 指定要序列化的域,field,get和set,以及修饰符范围,ANY是都有包括private和public
-        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
-
-        // 指定序列化输入的类型,类必须是非final修饰的,final修饰的类,比如String,Integer等会跑出异常
-        objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
-        return new Jackson2JsonRedisSerializer<>(objectMapper, Object.class);
-    }
-}

+ 0 - 23
iot-framework/iot-starter-redis/src/main/java/com/middle/platform/redis/constant/CacheConstant.java

@@ -1,23 +0,0 @@
-package com.middle.platform.redis.constant;
-
-/**
- * @author xucaiqin
- * @date 2023-12-21 10:47:47
- */
-public interface CacheConstant {
-    String USER_CACHE = "user:%s";
-    String DICT_CACHE = "dict:%s";
-    String DICT_ITEM_CACHE = "dictItem:%s:%s";
-
-    String TOPIC_CACHE = "topic:%s";
-    String PRODUCT_CACHE = "product:%s:%s";
-    String DEVICE_CACHE = "device:%s";
-    String ONLINE_CACHE = "online:%s";
-    String MOD_CACHE = "mod:%s";
-    String CLOUD_CACHE = "cloud:%s";
-
-
-    //设备属性实时数据
-    String D_DATA_CACHE = "data:%s";
-
-}

+ 0 - 68
iot-framework/iot-starter-redis/src/main/java/com/middle/platform/redis/service/CacheService.java

@@ -1,68 +0,0 @@
-package com.middle.platform.redis.service;
-
-import jakarta.annotation.Resource;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * 产品相关缓存
- *
- * @author xucaiqin
- * @date 2023-12-23 15:56:57
- */
-@Component
-public class CacheService {
-    @Resource
-    private RedisTemplate<String, Object> redisTemplate;
-
-    /**
-     * 赋值
-     *
-     * @param key
-     * @param val
-     */
-    public void setKey(String key, Object val) {
-        redisTemplate.opsForValue().set(key, val);
-    }
-
-    /**
-     * 批量赋值
-     *
-     * @param map
-     */
-    public void multiSetKey(Map<String, Object> map) {
-        redisTemplate.opsForValue().multiSet(map);
-    }
-
-    /**
-     * 删除
-     *
-     * @param key
-     */
-    public void delKey(String key) {
-        redisTemplate.delete(key);
-    }
-
-    /**
-     * 获取
-     *
-     * @param key
-     * @return
-     */
-    public Object getKey(String key) {
-        return redisTemplate.opsForValue().get(key);
-    }
-
-    public void setHashKey(String key, String hk, Object val) {
-        redisTemplate.opsForHash().put(key, hk, val);
-    }
-
-    public <T> List<T> getHash(String key) {
-        Set<Object> keys = redisTemplate.opsForHash().keys(key);
-        return (List<T>) redisTemplate.opsForHash().multiGet(key, keys);
-    }
-}

+ 0 - 2
iot-framework/iot-starter-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1,2 +0,0 @@
-com.middle.platform.redis.config.RedisAutoConfiguration
-com.middle.platform.redis.service.CacheService

+ 0 - 35
iot-framework/iot-starter-satoken/pom.xml

@@ -1,35 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-satoken</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>cn.dev33</groupId>
-            <artifactId>sa-token-spring-boot3-starter</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.dev33</groupId>
-            <artifactId>sa-token-redis-jackson</artifactId>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 47
iot-framework/iot-starter-satoken/src/main/java/com/middle/platform/satoken/config/SaTokenConfig.java

@@ -1,47 +0,0 @@
-package com.middle.platform.satoken.config;
-
-import cn.dev33.satoken.context.SaHolder;
-import cn.dev33.satoken.filter.SaServletFilter;
-import cn.dev33.satoken.interceptor.SaInterceptor;
-import cn.dev33.satoken.router.SaRouter;
-import cn.dev33.satoken.stp.StpUtil;
-import com.middle.platform.common.core.constant.RpcConstants;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.context.annotation.Bean;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-@Slf4j
-@AutoConfiguration
-public class SaTokenConfig implements WebMvcConfigurer {
-    private final String[] exclude = new String[]{
-            RpcConstants.RPC_API_PREFIX + "/**",
-            "/auth/login", "/auth/logout"
-    };
-
-    @Bean
-    public SaServletFilter getSaServletFilter() {
-        return new SaServletFilter().addInclude("/**")
-                // 前置函数:在每次认证函数之前执行(BeforeAuth 不受 includeList 与 excludeList 的限制,所有请求都会进入)
-                .setBeforeAuth(r -> {
-                    // ---------- 设置一些安全响应头 ----------
-                    SaHolder.getResponse()
-                            // 是否启用浏览器默认XSS防护: 0=禁用 | 1=启用 | 1; mode=block 启用, 并在检查到XSS攻击时,停止渲染页面
-                            .setHeader("X-XSS-Protection", "1; mode=block")
-                            // 禁用浏览器内容嗅探
-                            .setHeader("X-Content-Type-Options", "nosniff");
-                });
-    }
-
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        // 注册 Sa-Token 拦截器,定义详细认证规则
-        registry.addInterceptor(new SaInterceptor(handler -> {
-            // 指定一条 match 规则
-            SaRouter.match("/**")    // 拦截的 path 列表,可以写多个 */
-                    .notMatch(exclude)        // 排除掉的 path 列表,可以写多个
-                    .check(r -> StpUtil.checkLogin());        // 要执行的校验动作,可以写完整的 lambda 表达式
-        })).addPathPatterns("/**");
-    }
-}

+ 0 - 1
iot-framework/iot-starter-satoken/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1 +0,0 @@
-com.middle.platform.satoken.config.SaTokenConfig

+ 0 - 21
iot-framework/iot-starter-tdengine/pom.xml

@@ -1,21 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-tdengine</artifactId>
-    <packaging>jar</packaging>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-</project>

+ 0 - 60
iot-framework/iot-starter-web/pom.xml

@@ -1,60 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-framework</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-starter-web</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
-        </dependency>
-        <!-- Spring Boot 配置所需依赖 -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <!-- Web 相关 -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-tomcat</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-undertow</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-validation</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>cn.dev33</groupId>
-            <artifactId>sa-token-core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 91
iot-framework/iot-starter-web/src/main/java/com/middle/platform/web/config/GlobalExceptionHandler.java

@@ -1,91 +0,0 @@
-package com.middle.platform.web.config;
-
-import cn.dev33.satoken.exception.NotLoginException;
-import com.middle.platform.common.core.constant.Global;
-import com.middle.platform.common.core.exception.BusinessException;
-import com.middle.platform.common.core.exception.ResultCode;
-import com.middle.platform.common.core.utils.Result;
-import jakarta.validation.ConstraintViolation;
-import jakarta.validation.ConstraintViolationException;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.util.CollectionUtils;
-import org.springframework.validation.FieldError;
-import org.springframework.web.bind.MethodArgumentNotValidException;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestControllerAdvice;
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * 全局异常
- */
-@RestControllerAdvice
-@AllArgsConstructor
-@Slf4j
-public class GlobalExceptionHandler {
-    /**
-     * 处理业务异常 ServiceException
-     */
-    @ExceptionHandler(value = BusinessException.class)
-    public Result<?> serviceExceptionHandler(BusinessException ex) {
-        log.info("[BusinessException]", ex);
-        return Result.failed(ex.getMessage());
-    }
-
-    /**
-     * 处理系统异常,兜底处理所有的一切
-     */
-    @ExceptionHandler(value = Exception.class)
-    public Result<?> defaultExceptionHandler(Throwable ex) {
-        log.error("[defaultExceptionHandler]", ex);
-        return Result.failed(ResultCode.ERROR, ex.getMessage());
-    }
-
-    @ExceptionHandler(value = NotLoginException.class)
-    public Result<?> notLogin(Throwable ex) {
-        log.error("[NotLoginException]", ex);
-        return Result.failed(ResultCode.UN_AUTH, Global.UN_AUTH, ResultCode.UN_AUTH);
-    }
-
-    @ResponseBody
-    @ExceptionHandler(MethodArgumentNotValidException.class)
-    public Result<Integer> methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException ex) {
-        List<FieldError> fieldErrors = ex.getBindingResult().getFieldErrors();
-        StringBuilder sb = new StringBuilder();
-        if (!CollectionUtils.isEmpty(fieldErrors)) {
-            boolean first = true;
-            for (FieldError fieldError : fieldErrors) {
-                if (!first) {
-                    sb.append(",");
-                }
-                sb.append(fieldError.getDefaultMessage());
-                first = false;
-            }
-        }
-        String errMsg = sb.toString();
-        log.error("参数校验异常:{}", errMsg);
-        return Result.failed(ResultCode.FAILED, errMsg);
-    }
-
-    @ResponseBody
-    @ExceptionHandler(ConstraintViolationException.class)
-    public Result<Object> constraintViolationExceptionHandler(ConstraintViolationException ex) {
-        Set<ConstraintViolation<?>> constraintViolations = ex.getConstraintViolations();
-        StringBuilder sb = new StringBuilder();
-        if (!CollectionUtils.isEmpty(constraintViolations)) {
-            boolean first = true;
-            for (ConstraintViolation<?> constraintViolation : constraintViolations) {
-                if (!first) {
-                    sb.append(",");
-                }
-                sb.append(constraintViolation.getMessage());
-                first = false;
-            }
-        }
-        return Result.failed(ResultCode.FAILED, sb.toString());
-    }
-
-}

+ 0 - 21
iot-framework/iot-starter-web/src/main/java/com/middle/platform/web/config/JacksonConfig.java

@@ -1,21 +0,0 @@
-package com.middle.platform.web.config;
-
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author xucaiqin
- * @date 2024-01-23 15:52:08
- */
-@Configuration
-public class JacksonConfig {
-    @Bean
-    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
-        return builder -> {
-            // 把 Long 类型序列化为 String
-            builder.serializerByType(Long.class, ToStringSerializer.instance);
-        };
-    }
-}

+ 0 - 2
iot-framework/iot-starter-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -1,2 +0,0 @@
-com.middle.platform.web.config.GlobalExceptionHandler
-com.middle.platform.web.config.JacksonConfig

+ 0 - 42
iot-framework/pom.xml

@@ -1,42 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-upgrade</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-framework</artifactId>
-    <packaging>pom</packaging>
-    <description>框架</description>
-
-    <modules>
-        <module>iot-starter-es</module>
-        <module>iot-starter-feign</module>
-        <module>iot-starter-web</module>
-        <module>iot-starter-redis</module>
-        <module>iot-starter-mqtt</module>
-        <module>iot-starter-mongo</module>
-        <module>iot-starter-mybatis</module>
-        <module>iot-starter-tdengine</module>
-        <module>iot-starter-rabbitmq</module>
-        <module>iot-starter-log</module>
-        <module>iot-starter-satoken</module>
-        <module>iot-starter-pagehelper</module>
-        <module>iot-starter-biz-dict</module>
-        <module>iot-starter-excel</module>
-        <module>iot-starter-kafka</module>
-        <module>iot-starter-coap</module>
-        <module>iot-starter-oss</module>
-    </modules>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-</project>

+ 0 - 29
iot-module/iot-module-auth/iot-module-auth-api/pom.xml

@@ -1,29 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-module-auth</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-module-auth-api</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-feign</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 12
iot-module/iot-module-auth/iot-module-auth-api/src/main/java/com/middle/platform/auth/api/enums/ApiConstants.java

@@ -1,12 +0,0 @@
-package com.middle.platform.auth.api.enums;
-
-/**
- * @author xucaiqin
- * @date 2023-12-03 10:28:58
- */
-public class ApiConstants {
-    public static final String NAME = "iot-auth";
-
-    public static final String VERSION = "1.0.0";
-
-}

+ 0 - 20
iot-module/iot-module-auth/iot-module-auth-api/src/main/java/com/middle/platform/auth/api/feign/AuthApi.java

@@ -1,20 +0,0 @@
-package com.middle.platform.auth.api.feign;
-
-import com.middle.platform.auth.api.enums.ApiConstants;
-import com.middle.platform.common.core.constant.RpcConstants;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-/**
- * @author xucaiqin
- * @date 2023-12-17 11:09:05
- */
-@FeignClient(name = ApiConstants.NAME)
-public interface AuthApi {
-    String prefix = RpcConstants.RPC_API_PREFIX+"/auth";
-
-    @GetMapping(prefix + "/get")
-    String queryAccount(@RequestParam("account") String account);
-
-}

+ 0 - 8
iot-module/iot-module-auth/iot-module-auth-api/src/main/java/com/middle/platform/auth/api/pojo/Auth.java

@@ -1,8 +0,0 @@
-package com.middle.platform.auth.api.pojo;
-
-/**
- * @author xucaiqin
- * @date 2023-12-17 13:52:57
- */
-public class Auth {
-}

+ 1 - 2
iot-module/iot-module-auth/pom.xml

@@ -12,8 +12,7 @@
     <artifactId>iot-module-auth</artifactId>
     <packaging>pom</packaging>
     <description>认证授权模块</description>
-    <modules>
-        <module>iot-module-auth-api</module>
+    <modules>>
         <module>iot-module-auth-biz</module>
     </modules>
     <properties>

+ 0 - 12
iot-module/iot-module-data/Dockerfile

@@ -1,12 +0,0 @@
-FROM openjdk:17-jdk
-
-ENV TZ=Asia/Shanghai
-# 默认开发环境
-ENV PROFILES=dev
-WORKDIR /data
-
-ADD ./iot-module-data-biz/target/iot-module-data-biz-1.0.0.jar iot-data.jar
-
-EXPOSE 9004
-
-CMD java --add-opens=java.base/java.lang.reflect=ALL-UNNAMED -Dspring.profiles.active=$PROFILES -jar iot-data.jar

+ 0 - 30
iot-module/iot-module-data/iot-module-data-api/pom.xml

@@ -1,30 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-module-data</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-module-data-api</artifactId>
-    <packaging>jar</packaging>
-
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-feign</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 11
iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/constant/TopicType.java

@@ -1,11 +0,0 @@
-package com.middle.platform.data.api.constant;
-
-/**
- * @author xucaiqin
- * @date 2023-12-22 16:22:37
- */
-public interface TopicType {
-    String PUB = "1";
-    String SUB = "2";
-    String BOTH = "3";
-}

+ 0 - 12
iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/enums/ApiConstants.java

@@ -1,12 +0,0 @@
-package com.middle.platform.data.api.enums;
-
-/**
- * @author xucaiqin
- * @date 2023-12-03 10:28:58
- */
-public class ApiConstants {
-    public static final String NAME = "iot-data";
-
-    public static final String VERSION = "1.0.0";
-
-}

+ 0 - 21
iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/feign/DataApi.java

@@ -1,21 +0,0 @@
-package com.middle.platform.data.api.feign;
-
-import com.middle.platform.common.core.constant.RpcConstants;
-import com.middle.platform.data.api.enums.ApiConstants;
-import com.middle.platform.data.api.pojo.ModPara;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-
-/**
- * @author xucaiqin
- * @date 2023-12-17 16:05:08
- */
-@FeignClient(name = ApiConstants.NAME, contextId = "dataApi")
-public interface DataApi {
-    String PREFIX = RpcConstants.RPC_API_PREFIX + "/data";
-
-    @PostMapping(PREFIX + "/property")
-    Boolean property(@RequestBody ModPara modPara);
-
-}

+ 0 - 24
iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/feign/DynamicTopicApi.java

@@ -1,24 +0,0 @@
-package com.middle.platform.data.api.feign;
-
-import com.middle.platform.common.core.constant.RpcConstants;
-import com.middle.platform.data.api.enums.ApiConstants;
-import com.middle.platform.data.api.pojo.TopicDto;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-
-/**
- * @author xucaiqin
- * @date 2023-12-22 13:53:09
- */
-@FeignClient(name = ApiConstants.NAME, contextId = "dynamicTopicApi")
-public interface DynamicTopicApi {
-    String PREFIX = RpcConstants.RPC_API_PREFIX + "/dynamic-topic";
-
-    @PostMapping(PREFIX + "/removeTopic")
-    Boolean removeTopic(@RequestBody TopicDto topicDto);
-
-    @PostMapping(PREFIX + "/saveTopic")
-    Boolean saveTopic(@RequestBody TopicDto topicDto);
-
-}

+ 0 - 30
iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/feign/TdApi.java

@@ -1,30 +0,0 @@
-package com.middle.platform.data.api.feign;
-
-import com.middle.platform.common.core.constant.RpcConstants;
-import com.middle.platform.data.api.enums.ApiConstants;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-/**
- * td相关接口
- *
- * @author xucaiqin
- * @date 2023-12-17 16:05:08
- */
-@FeignClient(name = ApiConstants.NAME, contextId = "tdApi")
-public interface TdApi {
-    String PREFIX = RpcConstants.RPC_API_PREFIX + "/taos";
-
-    @PostMapping(PREFIX + "/createProduct")
-    void createProduct(@RequestParam("code") String code);
-
-    /**
-     * 创建产品表子表
-     * 创建设备表的子表
-     *
-     * @param code
-     */
-    @PostMapping(PREFIX + "/createDevice")
-    void createDevice(@RequestParam("code") String code, @RequestParam("guid") String guid);
-}

+ 0 - 8
iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/pojo/DataDto.java

@@ -1,8 +0,0 @@
-package com.middle.platform.data.api.pojo;
-
-/**
- * @author xucaiqin
- * @date 2023-12-17 16:05:28
- */
-public class DataDto {
-}

+ 0 - 19
iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/pojo/ModPara.java

@@ -1,19 +0,0 @@
-package com.middle.platform.data.api.pojo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author xucaiqin
- * @date 2023-12-17 16:05:28
- */
-@Getter
-@Setter
-@AllArgsConstructor
-@NoArgsConstructor
-public class ModPara {
-    private String topic;
-    private Integer qos;
-}

+ 0 - 19
iot-module/iot-module-data/iot-module-data-api/src/main/java/com/middle/platform/data/api/pojo/TopicDto.java

@@ -1,19 +0,0 @@
-package com.middle.platform.data.api.pojo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-/**
- * @author xucaiqin
- * @date 2023-12-17 16:05:28
- */
-@Getter
-@Setter
-@AllArgsConstructor
-@NoArgsConstructor
-public class TopicDto {
-    private String topic;
-    private Integer qos;
-}

+ 0 - 106
iot-module/iot-module-data/iot-module-data-biz/pom.xml

@@ -1,106 +0,0 @@
-<?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">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>com.middle.platform</groupId>
-        <artifactId>iot-module-data</artifactId>
-        <version>${revision}</version>
-    </parent>
-
-    <artifactId>iot-module-data-biz</artifactId>
-    <packaging>jar</packaging>
-    <properties>
-        <maven.compiler.source>17</maven.compiler.source>
-        <maven.compiler.target>17</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-common-core</artifactId>
-        </dependency>
-        <!-- Spring Cloud 基础 -->
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-bootstrap</artifactId>
-        </dependency>
-        <!-- Registry 注册中心相关 -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
-        </dependency>
-
-        <!-- Config 配置中心相关 -->
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
-        </dependency>
-        <!--认证-->
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-satoken</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-mybatis</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-kafka</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-redis</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-mqtt</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-module-data-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-module-manage-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-rabbitmq</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.middle.platform</groupId>
-            <artifactId>iot-starter-kafka</artifactId>
-        </dependency>
-    </dependencies>
-    <build>
-        <!-- 设置构建的 jar 包名 -->
-        <plugins>
-            <!-- 打包 -->
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>${spring.boot.version}</version> <!-- 如果 spring.boot.version 版本修改,则这里也要跟着修改 -->
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>

+ 0 - 19
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/DataApplication.java

@@ -1,19 +0,0 @@
-package com.middle.platform.data.biz;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * @author xucaiqin
- * @date 2023-12-17 10:47:48
- */
-@SpringBootApplication
-@EnableTransactionManagement
-public class DataApplication {
-
-    public static void main(String[] args) {
-        // 启动 Spring Boot 应用
-        SpringApplication.run(DataApplication.class, args);
-    }
-}

+ 0 - 21
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/api/DataApiImpl.java

@@ -1,21 +0,0 @@
-package com.middle.platform.data.biz.api;
-
-import com.middle.platform.data.api.feign.DataApi;
-import com.middle.platform.data.api.pojo.ModPara;
-import lombok.RequiredArgsConstructor;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author xucaiqin
- * @date 2023-12-26 10:10:55
- */
-@RestController
-@Validated
-@RequiredArgsConstructor
-public class DataApiImpl implements DataApi {
-    @Override
-    public Boolean property(ModPara modPara) {
-        return null;
-    }
-}

+ 0 - 31
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/api/DynamicTopicApiImpl.java

@@ -1,31 +0,0 @@
-package com.middle.platform.data.biz.api;
-
-import com.middle.platform.data.api.feign.DynamicTopicApi;
-import com.middle.platform.data.api.pojo.TopicDto;
-import com.middle.platform.data.biz.service.mqtt.impl.DynamicTopic;
-import lombok.RequiredArgsConstructor;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author xucaiqin
- * @date 2023-12-22 13:55:46
- */
-@RestController
-@Validated
-@RequiredArgsConstructor
-public class DynamicTopicApiImpl implements DynamicTopicApi {
-    private final DynamicTopic dynamicTopic;
-
-    @Override
-    public Boolean removeTopic(TopicDto topicDto) {
-        dynamicTopic.removeTopic(topicDto.getTopic());
-        return true;
-    }
-
-    @Override
-    public Boolean saveTopic(TopicDto topicDto) {
-        dynamicTopic.addTopic(topicDto.getTopic(), topicDto.getQos());
-        return true;
-    }
-}

+ 0 - 30
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/api/TdApiImpl.java

@@ -1,30 +0,0 @@
-package com.middle.platform.data.biz.api;
-
-import com.middle.platform.data.api.feign.TdApi;
-import com.middle.platform.data.biz.mapper.TaosMapper;
-import lombok.RequiredArgsConstructor;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author xucaiqin
- * @date 2023-12-24 16:22:04
- */
-@RestController
-@Validated
-@RequiredArgsConstructor
-public class TdApiImpl implements TdApi {
-    private final TaosMapper taosMapper;
-
-    @Override
-    public void createProduct(String code) {
-        taosMapper.createProduct(code);
-        taosMapper.createOriginal(code);
-    }
-
-    @Override
-    public void createDevice(String code, String guid) {
-        taosMapper.createOriginalTable(guid, code);
-        taosMapper.createDeviceTable(guid, code);
-    }
-}

+ 0 - 19
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/config/FeignConfig.java

@@ -1,19 +0,0 @@
-package com.middle.platform.data.biz.config;
-
-import com.middle.platform.manage.api.feign.CloudApi;
-import com.middle.platform.manage.api.feign.DeviceApi;
-import com.middle.platform.manage.api.feign.ModApi;
-import com.middle.platform.manage.api.feign.ProductApi;
-import org.springframework.cloud.openfeign.EnableFeignClients;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * 配置feign接口
- *
- * @author xucaiqin
- * @date 2023-12-19 11:00:25
- */
-@Configuration
-@EnableFeignClients(clients = {CloudApi.class, ModApi.class, ProductApi.class, DeviceApi.class})
-public class FeignConfig {
-}

+ 0 - 63
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/config/MqttConfig.java

@@ -1,63 +0,0 @@
-package com.middle.platform.data.biz.config;
-
-import com.middle.platform.mqtt.properties.MqttProperties;
-import jakarta.annotation.Resource;
-import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.integration.annotation.IntegrationComponentScan;
-import org.springframework.integration.channel.DirectChannel;
-import org.springframework.integration.core.MessageProducer;
-import org.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory;
-import org.springframework.integration.mqtt.core.MqttPahoClientFactory;
-import org.springframework.integration.mqtt.inbound.MqttPahoMessageDrivenChannelAdapter;
-import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter;
-import org.springframework.messaging.MessageChannel;
-
-/**
- * @author xucaiqin
- */
-@Configuration
-@IntegrationComponentScan
-public class MqttConfig {
-    public static final String input = "mqttInputChannel";
-
-    @Resource
-    private MqttProperties mqttProperties;
-
-    @Bean
-    public MqttPahoClientFactory mqttClientFactory() {
-        DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory();
-        MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
-        mqttConnectOptions.setServerURIs(new String[]{mqttProperties.getUrl()});
-        mqttConnectOptions.setUserName(mqttProperties.getUsername());
-        mqttConnectOptions.setPassword(mqttProperties.getPassword().toCharArray());
-        // 客户端断线时暂时不清除,直到超时注销
-        mqttConnectOptions.setCleanSession(false);
-        mqttConnectOptions.setAutomaticReconnect(true);
-        factory.setConnectionOptions(mqttConnectOptions);
-        return factory;
-    }
-
-    @Bean
-    public MessageChannel mqttInputChannel() {
-        return new DirectChannel();
-    }
-
-    /**
-     * 消息入站
-     *
-     * @param mqttPahoClientFactory
-     * @return
-     */
-    @Bean("mqttPahoMessageDrivenChannelAdapter")
-    public MessageProducer inbound(MqttPahoClientFactory mqttPahoClientFactory) {
-        MqttPahoMessageDrivenChannelAdapter adapter = new MqttPahoMessageDrivenChannelAdapter(
-                mqttProperties.getClientId(), mqttPahoClientFactory);
-        adapter.setCompletionTimeout(5000);
-        adapter.setConverter(new DefaultPahoMessageConverter());
-        adapter.setQos(1);
-        adapter.setOutputChannel(mqttInputChannel());
-        return adapter;
-    }
-}

+ 0 - 33
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/controller/DataController.java

@@ -1,33 +0,0 @@
-package com.middle.platform.data.biz.controller;
-
-import com.alibaba.fastjson.JSONObject;
-import com.middle.platform.common.core.utils.Result;
-import com.middle.platform.data.biz.service.http.HttpService;
-import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author xucaiqin
- * @date 2023-12-15 08:46:49
- */
-@RestController
-@RequestMapping("/data")
-@RequiredArgsConstructor
-public class DataController {
-    private final HttpService httpService;
-
-    /**
-     * 属性上报
-     *
-     * @param code     产品编码
-     * @param deviceSn 设备编码
-     * @param data     数据
-     */
-    @PostMapping("/report/{code}/{deviceSn}")
-    public Result<Object> test(@PathVariable("code") String code, @PathVariable("deviceSn") String deviceSn,
-                               @RequestBody JSONObject data) {
-        httpService.dataReport(code, deviceSn, data);
-        return Result.ok();
-    }
-
-}

+ 0 - 25
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/controller/IndexController.java

@@ -1,25 +0,0 @@
-package com.middle.platform.data.biz.controller;
-
-import com.middle.platform.common.core.utils.DateTimeUtil;
-import com.middle.platform.common.core.utils.Result;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author xucaiqin
- * @date 2023-12-15 08:46:49
- */
-@RestController
-@RequestMapping("/index")
-public class IndexController {
-    @Value("${spring.application.name}")
-    private String name;
-
-
-    @GetMapping("")
-    public Result<Object> server() {
-        return Result.ok(name + ":" + DateTimeUtil.nowStr());
-    }
-}

+ 0 - 44
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/controller/PropertyController.java

@@ -1,44 +0,0 @@
-package com.middle.platform.data.biz.controller;
-
-import com.middle.platform.common.core.utils.Result;
-import com.middle.platform.data.biz.pojo.HistoryPara;
-import com.middle.platform.data.biz.service.DataService;
-import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author xucaiqin
- * @date 2023-12-15 08:46:49
- */
-@RestController
-@RequestMapping("/property")
-@RequiredArgsConstructor
-public class PropertyController {
-    private final DataService dataService;
-
-    /**
-     * 最新属性数据
-     *
-     * @param guid 设备guid
-     * @param name 属性名称
-     */
-    @GetMapping("/real")
-    public Result<Object> test(@RequestParam("guid") String guid, String name) {
-        return Result.ok(dataService.queryData(guid, name));
-    }
-
-    /**
-     * 历史数据
-     *
-     * @param historyPara
-     * @return
-     */
-    @GetMapping("/history")
-    public Result<Object> history(HistoryPara historyPara) {
-        return Result.ok(dataService.historyData(historyPara));
-    }
-
-}

+ 0 - 72
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/controller/UrlController.java

@@ -1,72 +0,0 @@
-package com.middle.platform.data.biz.controller;
-
-import cn.hutool.core.util.StrUtil;
-import com.middle.platform.common.core.exception.BusinessException;
-import com.middle.platform.common.core.utils.Result;
-import com.middle.platform.data.biz.pojo.IotDeviceUrlVo;
-import com.middle.platform.data.biz.pojo.IotHttpUrlVo;
-import com.middle.platform.data.biz.pojo.IotKafkaUrlVo;
-import com.middle.platform.data.biz.pojo.constant.UrlProtocol;
-import com.middle.platform.manage.api.feign.DeviceApi;
-import com.middle.platform.manage.api.pojo.DeviceDetailVo;
-import lombok.RequiredArgsConstructor;
-import org.springframework.boot.autoconfigure.amqp.RabbitProperties;
-import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Objects;
-
-/**
- * @author xucaiqin
- * @date 2023-12-15 08:46:49
- */
-@RestController
-@RequestMapping("/device")
-@RequiredArgsConstructor
-public class UrlController {
-    private final RabbitProperties rabbitProperties;
-    private final KafkaProperties kafkaProperties;
-    private final DeviceApi deviceApi;
-
-    /**
-     * 获取设备连接协议数据配置
-     *
-     * @param id 设备id
-     */
-    @GetMapping("/url")
-    public Result<Object> url(@RequestParam("id") Long id) throws UnknownHostException {
-        DeviceDetailVo deviceDetailVo = deviceApi.deviceDetail(id);
-        if (Objects.isNull(deviceDetailVo)) {
-            throw new BusinessException("设备不存在");
-        }
-        if (StrUtil.equals(String.valueOf(deviceDetailVo.getReportProtocol()), UrlProtocol.MQTT)) {
-            IotDeviceUrlVo iotDeviceUrlVo = new IotDeviceUrlVo();
-            iotDeviceUrlVo.setUsername(rabbitProperties.getUsername());
-            iotDeviceUrlVo.setPassword(rabbitProperties.getPassword());
-            iotDeviceUrlVo.setHost(rabbitProperties.getHost());
-            iotDeviceUrlVo.setPort(rabbitProperties.getPort());
-            iotDeviceUrlVo.setUrl("mqtt://" + iotDeviceUrlVo.getHost());
-            return Result.ok(iotDeviceUrlVo);
-        }
-        if (StrUtil.equals(String.valueOf(deviceDetailVo.getReportProtocol()), UrlProtocol.KAFKA)) {
-            IotKafkaUrlVo iotKafkaUrlVo = new IotKafkaUrlVo();
-            iotKafkaUrlVo.setBootstrapServers(kafkaProperties.getBootstrapServers());
-            return Result.ok(iotKafkaUrlVo);
-        }
-
-        InetAddress inetAddress = InetAddress.getLocalHost();
-        IotHttpUrlVo iotHttpUrlVo = new IotHttpUrlVo();
-        iotHttpUrlVo.setHost(inetAddress.getHostAddress());
-        iotHttpUrlVo.setPort("9000");//网关端口,暂时默认9000写死
-        iotHttpUrlVo.setMethod("POST");
-        iotHttpUrlVo.setPath(String.format("/iot-data/data/report/%s/%s", deviceDetailVo.getProductCode(), deviceDetailVo.getSn()));
-        iotHttpUrlVo.setUrl("http://" + iotHttpUrlVo.getHost() + ":" + iotHttpUrlVo.getPort() + iotHttpUrlVo.getPath());
-        return Result.ok(iotHttpUrlVo);
-    }
-
-}

+ 0 - 19
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/event/DataEvent.java

@@ -1,19 +0,0 @@
-package com.middle.platform.data.biz.event;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.ApplicationEvent;
-import org.springframework.context.ApplicationListener;
-import org.springframework.stereotype.Component;
-
-/**
- * @author xucaiqin
- * @date 2023-12-24 11:07:47
- */
-@Component
-@Slf4j
-public class DataEvent implements ApplicationListener<ApplicationEvent> {
-    @Override
-    public void onApplicationEvent(ApplicationEvent event) {
-//        log.info("事件:{}", event.getClass().getName());
-    }
-}

+ 0 - 95
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/mapper/TaosMapper.java

@@ -1,95 +0,0 @@
-package com.middle.platform.data.biz.mapper;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.middle.platform.data.biz.pojo.OriginalPara;
-import com.middle.platform.data.biz.pojo.ProductPara;
-import com.middle.platform.data.biz.pojo.PropertyData;
-import com.middle.platform.data.biz.pojo.PropertyVo;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * @author xucaiqin
- * @date 2023-12-20 09:22:38
- */
-@Mapper
-@DS("td")
-public interface TaosMapper {
-    /**
-     * 产品(超级表)
-     *
-     * @param code 产品编码
-     * @return
-     */
-    void createProduct(@Param("code") String code);
-
-    /**
-     * 创建设备表(子表)
-     *
-     * @param guid 设备guid
-     * @param code 产品编码
-     * @return
-     */
-    int createDeviceTable(@Param("guid") String guid, @Param("code") String code);
-
-    /**
-     * 写入设备表数据
-     *
-     * @param productPara
-     */
-    void insertDevice(ProductPara productPara);
-
-    /**
-     * 批量写入设备表数据
-     *
-     * @param data
-     * @return
-     */
-    int batchDeviceInsert( @Param("data") PropertyData data);
-    int batchDeviceInsertMore(@Param("list") List<PropertyData> list);
-
-
-    /*原始数据*/
-
-    /**
-     * 原始数据表(超级表)
-     *
-     * @param code
-     * @return
-     */
-    void createOriginal(@Param("code") String code);
-
-    /**
-     * 原始数据表(子表)
-     *
-     * @param guid
-     * @param code 产品编码
-     * @return
-     */
-    void createOriginalTable(@Param("guid") String guid, @Param("code") String code);
-
-    /**
-     * 写入原始数据表数据
-     *
-     * @param originalPara
-     */
-    int insertOriginal(OriginalPara originalPara);
-
-    /**
-     * 批量写入原始表数据
-     *
-     * @param list
-     * @return
-     */
-    int batchInsertOriginal(@Param("list") List<OriginalPara> list);
-
-
-    /*查询设备数据*/
-    List<PropertyVo> queryRaw(@Param("code") String code, @Param("guid") String guid, @Param("startTime") Date time, @Param("endTime") Date endTime);
-
-    List<PropertyVo> query(@Param("code") String code, @Param("guid") String guid, @Param("line") String line, @Param("startTime") Date time, @Param("endTime") Date endTime);
-
-}

+ 0 - 21
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/pojo/CloudDto.java

@@ -1,21 +0,0 @@
-package com.middle.platform.data.biz.pojo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serial;
-import java.io.Serializable;
-
-/**
- * @author xucaiqin
- * @date 2023-12-27 16:37:25
- */
-@Getter
-@Setter
-public class CloudDto implements Serializable {
-    @Serial
-    private static final long serialVersionUID = 860093836385340533L;
-    private Boolean status;
-    private String msg;
-    private String data;
-}

+ 0 - 34
iot-module/iot-module-data/iot-module-data-biz/src/main/java/com/middle/platform/data/biz/pojo/HistoryPara.java

@@ -1,34 +0,0 @@
-package com.middle.platform.data.biz.pojo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import jakarta.validation.constraints.NotBlank;
-import jakarta.validation.constraints.NotNull;
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-/**
- * @author xucaiqin
- * @date 2023-12-26 14:38:32
- */
-@Getter
-@Setter
-public class HistoryPara {
-    /**
-     * 1-图表(解析后数据) 2-表格(历史数据)
-     */
-    @NotNull(message = "类型不能为空")
-    private Integer type;
-    @NotBlank(message = "设备guid不能为空")
-    private String guid;
-    @NotBlank(message = "设备属性不能为空")
-    private String line;
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    private Date startTime;
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    private Date endTime;
-}

Някои файлове не бяха показани, защото твърде много файлове са промени