lishuangjiang@potevio.com 1 rok pred
rodič
commit
474a0c43bc

+ 1 - 1
README.md

@@ -1,7 +1,7 @@
 
 #### 介绍
 此仓库为iot-admin物联网平台项目。
-铱塔智联开源平台是一个开源的物联网基础开发平台提供了物联网及相关业务开发的常见基础功能, 能帮助你快速搭建自己的物联网相关业务平台。
+物联网平台提供了物联网及相关业务开发的常见基础功能, 能帮助你快速搭建自己的物联网相关业务平台。
 
 系统包含了品类、物模型、消息转换、通讯组件(mqtt/EMQX通讯组件、小度音箱接入组件、onenet Studio接入组件)、modbus透传接入、云端低代码设备开发、设备管理、设备分组、规则引擎、第三方平台接入、数据流转(http/mqtt/kafka)、数据可视化、报警中心等模块和智能家居APP(小程序)。
 

+ 8 - 8
iot-dao/iot-data-serviceImpl-rdb/pom.xml

@@ -53,17 +53,17 @@
             <artifactId>yitter-idgenerator</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-        </dependency>
-
 <!--        <dependency>-->
-<!--            <groupId>mysql</groupId>-->
-<!--            <artifactId>mysql-connector-java</artifactId>-->
-<!--            <version>8.0.32</version>-->
+<!--            <groupId>com.h2database</groupId>-->
+<!--            <artifactId>h2</artifactId>-->
 <!--        </dependency>-->
 
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>8.0.32</version>
+        </dependency>
+
 <!--        <dependency>-->
 <!--            <groupId>org.postgresql</groupId>-->
 <!--            <artifactId>postgresql</artifactId>-->

+ 54 - 0
iot-starter/src/main/java/cc/iotkit/config/DeptStartupRunner.java

@@ -0,0 +1,54 @@
+package cc.iotkit.config;
+
+import cc.iotkit.common.redis.utils.RedisUtils;
+import cc.iotkit.model.system.SysDept;
+import cc.iotkit.system.dto.vo.SysDeptVo;
+import cc.iotkit.system.service.ISysDeptService;
+import cn.hutool.core.collection.CollectionUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+@Component
+@Slf4j
+public class DeptStartupRunner implements CommandLineRunner{
+    @Resource
+    private ISysDeptService deptService;
+
+    private static final String DEPT_CHILD_PREFIX = "dept_child_prefix:";
+
+    @Override
+    public void run(String... args) throws Exception {
+        log.info("****************开始初始化组织机构缓存*****************");
+        List<SysDept> sysDeptVos = deptService.selectAllDept();
+        Map<String,List<String>> deptChildMap = new HashMap<>();
+        if(CollectionUtil.isNotEmpty(sysDeptVos)){
+            String key = null;
+            String ancestors = null;
+            String[] splits = null;
+            for (SysDept sysDept:sysDeptVos){
+                ancestors= sysDept.getAncestors();
+                splits= ancestors.split(",");
+                for(String split:splits ){
+                    key = DEPT_CHILD_PREFIX + sysDept.getTenantId() + ":" + String.valueOf(split);
+                    List<String> children = deptChildMap.get(key);
+                    if(CollectionUtil.isEmpty(children)){
+                        children = new ArrayList<>();
+                        children.add(String.valueOf(sysDept.getId()));
+                    }else{
+                        children.add(String.valueOf(sysDept.getId()));
+                    }
+                    deptChildMap.put(key,children);
+                }
+            }
+            //缓存到redis
+            for (Map.Entry<String, List<String>> itemMap: deptChildMap.entrySet()) {
+                RedisUtils.setCacheObject(itemMap.getKey(),String.join(",", itemMap.getValue()));
+            }
+        }
+        log.info("****************结束初始化组织机构缓存*****************");
+    }
+}

+ 65 - 65
iot-starter/src/main/resources/application.yml

@@ -10,24 +10,75 @@ spring:
 
   #注: 切换数据库时需要将项目根目录中的.init文件删除再重启
   # <<=======内置H2数据库连接设置开始==========
+  #  jpa:
+  #    show-sql: true
+  #    hibernate:
+  #      ddl-auto: update
+  #    properties:
+  #      hibernate:
+  #        format_sql: true
+  #  sql:
+  #    init:
+  #      schema-locations: classpath:sql/schema.sql
+  #      mode: ALWAYS
+  #  datasource:
+  #    url: jdbc:h2:./data/iotkit;MODE=MySQL
+  #    username: sa
+  #    password: 123456
+  #    driverClassName: org.h2.Driver
+  #    type: com.zaxxer.hikari.HikariDataSource
+  #    # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
+  #    dynamic:
+  #      hikari:
+  #        connection-timeout: 5000
+  #        idle-timeout: 30000 # 经过idle-timeout时间如果连接还处于空闲状态, 该连接会被回收
+  #        min-idle: 5 # 池中维护的最小空闲连接数, 默认为 10 个
+  #        max-pool-size: 16 # 池中最大连接数, 包括闲置和使用中的连接, 默认为 10 个
+  #        max-lifetime: 60000 # 如果一个连接超过了时长,且没有被使用, 连接会被回收
+  #        is-auto-commit: true
+  #      primary: master #设置默认的数据源或者数据源组,默认值即为master
+  #      strict: true #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
+  #      datasource:
+  #        # 主库数据源
+  #        master:
+  #          type: ${spring.datasource.type}
+  #          driverClassName: org.h2.Driver
+  #          # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
+  #          # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
+  #          url: jdbc:h2:./data/iotkit;MODE=MySQL
+  #          username: sa
+  #          password: 123456
+  #        # 从库数据源
+  #        slave:
+  #          lazy: true
+  #          type: ${spring.datasource.type}
+  #          driverClassName: org.h2.Driver
+  #          url: jdbc:h2:./data/iotkit;MODE=MySQL
+  #          username: sa
+  #          password: 123456
+  #
+  #    # 内置h2 web console设置
+  #    platform: h2
+  #  h2:
+  #    console:
+  #      enabled: true
+  #      path: /h2
+  #      settings:
+  #        web-allow-others: true
+  #=======内置H2数据库连接设置结束==========>>
+
+  # <<==========mysql配置开始==============
   jpa:
+    database: MySQL
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
     show-sql: true
     hibernate:
       ddl-auto: update
     properties:
       hibernate:
         format_sql: true
-  sql:
-    init:
-      schema-locations: classpath:sql/schema.sql
-      mode: ALWAYS
   datasource:
-    url: jdbc:h2:./data/iotkit;MODE=MySQL
-    username: sa
-    password: 123456
-    driverClassName: org.h2.Driver
     type: com.zaxxer.hikari.HikariDataSource
-    # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
     dynamic:
       hikari:
         connection-timeout: 5000
@@ -42,62 +93,11 @@ spring:
         # 主库数据源
         master:
           type: ${spring.datasource.type}
-          driverClassName: org.h2.Driver
+          driverClassName: com.mysql.cj.jdbc.Driver
           # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
-          # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
-          url: jdbc:h2:./data/iotkit;MODE=MySQL
-          username: sa
-          password: 123456
-        # 从库数据源
-        slave:
-          lazy: true
-          type: ${spring.datasource.type}
-          driverClassName: org.h2.Driver
-          url: jdbc:h2:./data/iotkit;MODE=MySQL
-          username: sa
+          url: jdbc:mysql://192.168.56.104:3306/iotkit3?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
+          username: root
           password: 123456
-
-    # 内置h2 web console设置
-    platform: h2
-  h2:
-    console:
-      enabled: true
-      path: /h2
-      settings:
-        web-allow-others: true
-  #=======内置H2数据库连接设置结束==========>>
-
-  # <<==========mysql配置开始==============
-#  jpa:
-#    database: MySQL
-#    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
-#    show-sql: true
-#    hibernate:
-#      ddl-auto: update
-#    properties:
-#      hibernate:
-#        format_sql: true
-#  datasource:
-#    type: com.zaxxer.hikari.HikariDataSource
-#    dynamic:
-#      hikari:
-#        connection-timeout: 5000
-#        idle-timeout: 30000 # 经过idle-timeout时间如果连接还处于空闲状态, 该连接会被回收
-#        min-idle: 5 # 池中维护的最小空闲连接数, 默认为 10 个
-#        max-pool-size: 16 # 池中最大连接数, 包括闲置和使用中的连接, 默认为 10 个
-#        max-lifetime: 60000 # 如果一个连接超过了时长,且没有被使用, 连接会被回收
-#        is-auto-commit: true
-#      primary: master #设置默认的数据源或者数据源组,默认值即为master
-#      strict: true #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
-#      datasource:
-#        # 主库数据源
-#        master:
-#          type: ${spring.datasource.type}
-#          driverClassName: com.mysql.cj.jdbc.Driver
-#          # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
-#          url: jdbc:mysql://192.168.56.104:3306/iotkit3?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
-#          username: root
-#          password: 123456
   # ============mysql配置结束============>>
 
   #<<================es时序数据配置开始===============
@@ -137,7 +137,7 @@ spring:
 rocketmq:
   name-server: 127.0.0.1:9876
   producer:
-        group: iotkit
+    group: iotkit
 
 #图片存储用的是阿里云oss,如果需要上传产品图片才需要配置
 aliyun:
@@ -206,4 +206,4 @@ plugin:
   mainPackage: cc.iotkit
   # 如果配置是 windows 下路径, mac、linux 自行修改
   pluginPath:
-    - ./data/plugins
+    - ./data/plugins