20260321:init claude

This commit is contained in:
zhugongping 2026-03-21 17:27:38 +08:00
parent 681cd4a9db
commit c68f5747c1
29 changed files with 5272 additions and 39816 deletions

173
CLAUDE.md Normal file
View File

@ -0,0 +1,173 @@
# CLAUDE.md
本文件为 Claude Code (claude.ai/code) 在此代码库中工作时提供指导。
## 项目概述
FastBee 是一个基于若依框架构建的物联网平台(v3.8.5)。后端为多模块 Spring Boot 应用,前端包含三个独立应用。所有 Java 包名使用 `com.fastbee`。
## 构建命令
### 后端(Java/Maven)
```bash
# 构建所有模块
mvn clean package
# 跳过测试构建
mvn clean package -DskipTests
# 构建指定模块
mvn clean package -pl fastbee-admin -am -DskipTests
```
可运行的 JAR 文件生成在 `fastbee-admin/target/`。通过 `fastbee.sh start|stop|restart|status` 启动/停止服务。
### 前端 - yack-web(Vue 2,管理后台)
```bash
cd yack-web
npm install
npm run dev # 开发服务器(代理到 localhost:8080)
npm run build:prod # 生产环境构建
npm run lint # ESLint 代码检查
```
### 前端 - yack-view(Vue 3 + Vite,低代码可视化)
```bash
cd yack-view
npm install
npm run dev # Vite 开发服务器
npm run build # 生产环境构建
npm run lint # ESLint 代码检查
# 或使用 Makefile:
make dev
make dist
```
### 前端 - yack-app(UniApp 移动端)
```bash
cd yack-app
npm install
# 通过 HBuilderX 或 uni-app CLI 构建
```
## 架构说明
### 后端模块结构
```
fastbee-admin/ # Spring Boot 入口(端口 8080),Web 层
fastbee-framework/ # 安全配置、拦截器、核心框架装配
fastbee-common/ # 公共工具类、领域模型、注解、常量
fastbee-open-api/ # REST API 控制器(对外暴露的接口)
fastbee-service/
fastbee-iot-service/ # IoT 业务逻辑(设备、产品、规则)
fastbee-system-service/ # 系统管理(用户、角色、菜单)
fastbee-server/ # 基于 Netty 的协议服务器
base-server/ # 抽象服务器基类
iot-server-core/ # IoT 服务器核心逻辑,消息分发
mqtt-broker/ # 内嵌 MQTT Broker(EMQX 的替代方案)
http-server/ # HTTP 设备接入服务器(端口 8081)
tcp-server/ # TCP 服务器(端口 8888)
coap-server/ # CoAP 服务器(端口 5683)
sip-server/ # SIP 服务器
boot-strap/ # 服务器启动引导
fastbee-protocol/ # 协议编解码
base/ # 协议抽象层
collect/ # 数据采集协议实现
fastbee-iot-data/ # IoT 时序数据存储(支持 TDengine)
fastbee-mq/ # RocketMQ 消息队列集成
fastbee-notify/ # 多渠道通知系统
fastbee-record/ # 设备数据记录/持久化
fastbee-plugs/
generator/ # 代码生成器(Velocity 模板)
quartz/ # 定时任务管理
ruleEngine/ # LiteFlow 规则引擎(IoT 场景自动化)
oss/ # 对象存储(S3/阿里云 OSS)
mqtt-client/ # MQTT 客户端插件
oauth/ # OAuth 2.0(JustAuth)
pay/ # 支付集成
http/ # Forest HTTP 客户端配置
```
### 关键架构模式
**数据流(设备 → 平台):** 设备 → 协议服务器(Netty,端口因协议而异)→ `iot-server-core` 消息分发器 → RocketMQ → `fastbee-record` 持久化 → MySQL/TDengine。实时推送通过 WebSocket 发送至前端。
**MQTT Broker 模式:** 通过 `server.broker.enabled` 配置 — `true` 使用内嵌 Netty Broker(端口 1883/8083);`false` 使用外部 EMQX Broker。
**规则引擎:** LiteFlow 规则链存储在 `iot_scene` 表,脚本存储在 `iot_script` 表。规则在启动时从数据库加载,支持可选的轮询刷新机制。
**多数据源:** 动态数据源(主 MySQL + 可选 TDengine `taos` 数据源)。TDengine 默认禁用(`enabled: false`)。
**认证方式:** 通过 `Authorization` 请求头传递 JWT Token。Token 配置在 `application.yml` 的 `token:` 节点下。
**API 文档:** 服务运行时可通过 `/swagger-ui/index.html` 访问 Swagger/OpenAPI 文档。
### 前端架构
- **yack-web**:Vue 2 + Element UI + Vuex + Vue Router。管理后台,消费后端 REST API。`vue.config.js` 中的代理配置指向 `localhost:8080`。
- **yack-view**:Vue 3 + TypeScript + Vite + Naive UI + Pinia。独立的低代码可视化设计器(基于 GoView)。单独部署,通常挂载在 Nginx 的 `/view/` 路径下。
- **yack-app**:UniApp(Vue 2 语法)iOS/Android 移动端,通过 MQTT.js 和 HTTP 与平台通信。
## 运行时配置
`application-dev.yml` 关键配置:
- MySQL:`localhost:3306/fastbee`,用户名 `root`,密码 `fastbee`
- Redis:在 `application-dev.yml` 中单独配置(Redisson 单节点模式)
- 激活的 Profile 在 `application.yml` 中设置:`spring.profiles.active: prod`(本地开发时改为 `dev`)
本地开发请切换至 dev profile —— prod profile 需要生产环境基础设施支持。
## 数据库
SQL 初始化脚本位于 `sql/` 目录。主数据库:`fastbee`。最新完整脚本:`sql/yack-20260316.sql`(共 117 张表)。
### 数据库通用约定
- **多租户**:大多数 IoT 表含 `tenant_id` / `tenant_name` 字段
- **审计字段**:`create_by`、`create_time`、`update_by`、`update_time`
- **软删除**:`del_flag`(0=正常,2=删除)
- **国际化**:单独的 `*_translate` 表存储多语言翻译
- **复杂数据**:物模型、配置等使用 JSON 列存储
### 主要表分类
**告警监控**:`iot_alert`(告警定义)、`iot_alert_log`(告警历史)、`iot_alert_notify_template`、`iot_alert_scene`、`iot_device_alert_user`
**设备管理**:`iot_device`(设备注册表)、`iot_device_group`、`iot_device_record`(导入/分配/回收历史)、`iot_device_share`(设备共享权限)、`iot_device_user`(设备归属)、`iot_keep_user`(运维人员)
**产品管理**:`iot_product`(产品定义)、`iot_category`(产品分类,层级结构)、`iot_things_model`(物模型,1380+ 条)、`iot_things_model_template`(物模型模板)、`iot_product_authorize`(授权码)
**网关与子设备**:`iot_sub_gateway`(网关-子设备关系)、`iot_product_sub_gateway`(产品级网关-子产品映射)
**Modbus 配置**:`iot_modbus_config`、`iot_modbus_job`(轮询任务)、`iot_modbus_params`(产品级参数模板)、`iot_product_modbus_job`、`iot_var_temp`(采集变量模板)、`iot_var_temp_salve`
**规则引擎**:`iot_scene`(场景自动化,LiteFlow 规则链)、`iot_script`(规则脚本)、`bridge`(数据桥接端点:HTTP/MQTT/数据库)、`iot_script_bridge`、`iot_device_job`(设备定时任务)
**场景编排**:`scene_model`(场景管理)、`scene_model_data`(数据源绑定)、`scene_model_device`、`scene_model_tag`(输入变量)、`scene_tag_points`(计算变量)、`iot_scene_device`、`iot_scene_script`
**数据日志**:`iot_device_log`(设备事件日志)、`iot_event_log`、`iot_function_log`(服务调用日志)、`iot_device_air_log`(Air780 上报)、`iot_simulate_log`(模拟设备日志)
**固件升级**:`iot_firmware`(固件版本)、`iot_firmware_task`(升级任务)、`iot_firmware_task_detail`(逐设备状态跟踪)
**SCADA 与可视化**:`iot_goview_project`(GoView 可视化项目)、`iot_goview_project_data`、`scada`(SCADA 页面)、`scada_component`(UI 组件)、`scada_device_bind`(组件-设备绑定)、`scada_echart`、`scada_gallery`(图标库,3896+ 条)、`scada_model`(3D 模型)
**SIP 与媒体**:`sip_device`(摄像头/录像机)、`sip_device_channel`、`sip_config`、`iot_sip_relation`、`media_server`(流媒体服务器)
**OAuth 与认证**:`oauth_client_details`(支持 DuerOS/AliGenie/小米)、`oauth_access_token`、`oauth_refresh_token`、`oauth_approvals`、`oauth_code`、`sys_auth_user`(第三方登录)
**通知系统**:`notify_channel`(邮件/短信等渠道)、`notify_template`(消息模板)、`notify_log`(发送历史)
**系统管理(若依 RBAC)**:`sys_user`、`sys_role`、`sys_menu`(3430+ 菜单项)、`sys_dept`(117+ 部门)、`sys_post`、`sys_user_role`、`sys_role_menu`、`sys_role_dept`、`sys_config`、`sys_dict_type`(166+ 类型)、`sys_dict_data`(738+ 条)、`sys_oper_log`、`sys_logininfor`、`sys_job`、`sys_job_log`、`sys_notice`、`sys_client`、`sys_user_relation`
**定时任务(Quartz)**:`qrtz_job_details`、`qrtz_triggers`、`qrtz_cron_triggers`、`qrtz_simple_triggers`、`qrtz_fired_triggers`、`qrtz_scheduler_state`、`qrtz_locks` 等共 11 张表
**对象存储**:`oss_config`(S3/阿里云 OSS 配置)、`oss_detail`(文件上传历史)
**代码生成**:`gen_table`、`gen_table_column`
**其他**:`iot_group`(设备分组)、`iot_protocol`(支持的通信协议)、`iot_social_platform`(第三方登录平台)、`app_language`(4 种语言)、`app_preferences`(用户偏好)、`command_preferences`(指令预设模板,120+)、`order_control`(指令权限控制)、`news`/`news_category`(新闻资讯)
## 代码生成
代码生成器模块(`fastbee-plugs/generator`)使用 Velocity 模板生成 Java + Vue 的 CRUD 脚手架代码。模板位于 `fastbee-plugs/generator/src/main/resources/vm/`。

View File

@ -0,0 +1,116 @@
networks:
network:
ipam:
driver: default
config:
- subnet: '177.7.0.0/16'
services:
redis:
image: redis:7.0.0
container_name: redis
ports:
- 6379:6379
privileged: true
networks:
network:
ipv4_address: 177.7.0.10
volumes:
- ./redis:/usr/local/etc/redis
- ./redis/data:/data
command: [ '--requirepass', 'fastbee', '--appendonly', 'yes' ]
mysql:
image: mysql:8.0.29
container_name: mysql
ports:
- 3306:3306
privileged: true
networks:
network:
ipv4_address: 177.7.0.11
volumes:
- ./mysql/mysql:/var/lib/mysql
- ./mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
- ./mysql/initdb:/docker-entrypoint-initdb.d
environment:
MYSQL_DATABASE: fastbee
MYSQL_ROOT_PASSWORD: Yan@ancekong-mysql
command:
[
'mysqld',
'--character-set-server=utf8',
'--collation-server=utf8_unicode_ci',
'--default-time-zone=+8:00',
'--lower-case-table-names=1'
]
emqx:
image: emqx:5.1
container_name: emqx
ports:
- 1883:1883
- 8083:8083
- 8084:8084
- 18083:18083
privileged: true
networks:
network:
ipv4_address: 177.7.0.12
volumes:
- /etc/localtime:/etc/localtime
- ./emqx/etc/emqx.conf:/opt/emqx/etc/emqx.conf
- ./emqx/etc/acl.conf:/opt/emqx/etc/acl.conf
- ./emqx/etc/log:/opt/emqx/log
environment:
SET_CONTAINER_TIMEZONE: "true"
CONTAINER_TIMEZONE: Asia/Shanghai
zlmedia-record:
image: kerwincui/zlmedia-record:2.0
container_name: zlmedia-record
privileged: true
restart: always
ports:
- "18081:18081"
- "8082:80"
- "8443:443"
- "554:554"
- "1935:1935"
- "8000:8000/tcp"
- "8000:8000/udp"
- "9000:9000/udp"
- "10000:10000/tcp"
- "10000:10000/udp"
- "30000-30100:30000-30100/tcp"
- "30000-30100:30000-30100/udp"
volumes:
- ./zlmedia/record/fastbee-record.jar:/fastbee-record.jar
- ./zlmedia/record/logs:/opt/assist/logs
- ./zlmedia/logs:/opt/media/bin/log
- ./zlmedia/conf/config.ini:/opt/media/conf/config.ini
- ./zlmedia/conf/default.pem:/opt/media/bin/default.pem
networks:
network:
ipv4_address: 177.7.0.15
tdengine:
image: 'tdengine/tdengine:3.3.2.0'
container_name: tdengine
privileged: true
hostname: fastbee
ports:
- 6030:6030
- 6041:6041
- 6043-6049:6043-6049
- 6043-6049:6043-6049/udp
volumes:
- ./tdengine/log:/var/log/taos
- ./tdengine/data:/var/lib/taos
- ./tdengine/conf:/etc/taos
- /etc/localtime:/etc/localtime
environment:
TZ: Asia/Shanghai
networks:
network:
ipv4_address: 177.7.0.16

168
docker/docker-compose.yml Normal file
View File

@ -0,0 +1,168 @@
networks:
network:
ipam:
driver: default
config:
- subnet: '177.7.0.0/16'
services:
redis:
image: redis:7.0.0
container_name: redis
ports:
- 6379:6379
privileged: true
networks:
network:
ipv4_address: 177.7.0.10
volumes:
- ./redis:/usr/local/etc/redis
- ./redis/data:/data
command: [ '--requirepass', 'fastbee', '--appendonly', 'yes' ]
mysql:
image: mysql:8.0.29
container_name: mysql
ports:
- 3306:3306
privileged: true
networks:
network:
ipv4_address: 177.7.0.11
volumes:
- ./mysql/mysql:/var/lib/mysql
- ./mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
- ./mysql/initdb:/docker-entrypoint-initdb.d
environment:
MYSQL_DATABASE: fastbee
MYSQL_ROOT_PASSWORD: Yan@ancekong-mysql
command:
[
'mysqld',
'--character-set-server=utf8',
'--collation-server=utf8_unicode_ci',
'--default-time-zone=+8:00',
'--lower-case-table-names=1'
]
emqx:
image: emqx:5.1
container_name: emqx
ports:
- 1883:1883
- 8083:8083
- 8084:8084
- 18083:18083
privileged: true
networks:
network:
ipv4_address: 177.7.0.12
volumes:
- /etc/localtime:/etc/localtime
- ./emqx/etc/emqx.conf:/opt/emqx/etc/emqx.conf
- ./emqx/etc/acl.conf:/opt/emqx/etc/acl.conf
- ./emqx/etc/log:/opt/emqx/log
environment:
SET_CONTAINER_TIMEZONE: "true"
CONTAINER_TIMEZONE: Asia/Shanghai
java:
image: openjdk:8-jre
container_name: java
ports:
- 8080:8080
- 8888:8888
- 8889:8889/udp
- 5061:5061/udp
- 5061:5061/tcp
privileged: true
networks:
network:
ipv4_address: 177.7.0.13
depends_on:
- emqx
- redis
- mysql
- tdengine
- zlmedia-record
volumes:
- ./java/application-prod.yml:/application-prod.yml
- ./java/fastbee-admin.jar:/server.jar
- ./java/libtaos.so:/usr/lib/libtaos.so
- ./java/uploadPath:/uploadPath
- ./java/logs:/logs
- /etc/localtime:/etc/localtime
environment:
TZ: Asia/Shanghai
entrypoint: java -jar /server.jar
nginx:
image: nginx:stable
container_name: nginx
ports:
- 80:80
- 443:443
privileged: true
networks:
network:
ipv4_address: 177.7.0.14
depends_on:
- java
volumes:
- ./nginx/vue:/usr/share/nginx/html
- ./nginx/view:/usr/share/nginx/view
- ./nginx/h5:/usr/share/nginx/h5
- ./nginx/www:/usr/share/nginx/www
- ./nginx/doc:/usr/share/nginx/doc
- ./nginx/ssl:/usr/share/nginx/ssl
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx:/var/log/nginx
zlmedia-record:
image: kerwincui/zlmedia-record:2.0
container_name: zlmedia-record
privileged: true
restart: always
ports:
- "18081:18081"
- "8082:80"
- "8443:443"
- "554:554"
- "1935:1935"
- "8000:8000/tcp"
- "8000:8000/udp"
- "9000:9000/udp"
- "10000:10000/tcp"
- "10000:10000/udp"
- "30000-30100:30000-30100/tcp"
- "30000-30100:30000-30100/udp"
volumes:
- ./zlmedia/record/fastbee-record.jar:/fastbee-record.jar
- ./zlmedia/record/logs:/opt/assist/logs
- ./zlmedia/logs:/opt/media/bin/log
- ./zlmedia/conf/config.ini:/opt/media/conf/config.ini
- ./zlmedia/conf/default.pem:/opt/media/bin/default.pem
networks:
network:
ipv4_address: 177.7.0.15
tdengine:
image: 'tdengine/tdengine:3.3.2.0'
container_name: tdengine
privileged: true
hostname: fastbee
ports:
- 6030:6030
- 6041:6041
- 6043-6049:6043-6049
- 6043-6049:6043-6049/udp
volumes:
- ./tdengine/log:/var/log/taos
- ./tdengine/data:/var/lib/taos
- ./tdengine/conf:/etc/taos
- /etc/localtime:/etc/localtime
environment:
TZ: Asia/Shanghai
networks:
network:
ipv4_address: 177.7.0.16

106
docker/emqx.conf Normal file
View File

@ -0,0 +1,106 @@
## NOTE:
## This config file overrides data/configs/cluster.hocon,
## and is merged with environment variables which start with 'EMQX_' prefix.
##
## Config changes made from EMQX dashboard UI, management HTTP API, or CLI
## are stored in data/configs/cluster.hocon.
## To avoid confusion, please do not store the same configs in both files.
##
## See https://docs.emqx.com/en/enterprise/v5.0/configuration/configuration.html
## Configuration full example can be found in emqx.conf.example
node {
name = "emqx@177.7.0.12"
cookie = "emqxsecretcookie"
data_dir = "data"
}
cluster {
name = emqxcl
discovery_strategy = manual
}
dashboard {
listeners.http {
bind = 18083
}
default_username = "admin"
default_password = "admin123"
}
authorization {
deny_action = ignore
no_match = allow
cache = { enable = true }
}
## http 认证
authentication = [
{
mechanism = password_based
backend = http
enable = true
method = post
url = "http://java:8080/iot/tool/mqtt/authv5"
body {
clientid = "${clientid}"
username = "${username}"
password = "${password}"
peerhost = "${peerhost}"
}
headers {
"Content-Type" = "application/json"
"X-Request-Source" = "EMQX"
}
}
]
# WebHook(匹配上线和下线规则后触发)
bridges {
webhook.fastbee_hook =
{
enable = true
connect_timeout = 15s
retry_interval = 60s
pool_type = random
pool_size = 8
enable_pipelining = 100
max_retries = 2
request_timeout = 15s
method = post
url = "http://java:8080/iot/tool/mqtt/webhookv5"
body = "{\"clientid\" : \"${clientid}\",\"event\" : \"${event}\",\"peername\" : \"${peername}\"}"
headers = { accept = "application/json" "cache-control" = "no-cache" connection = "keep-alive" "content-type" = "application/json" "keep-alive" = "timeout=5"}
}
}
# 规则(处理上线和下线)
rule_engine {
ignore_sys_message = true
jq_function_default_timeout = 10s
rules.fastbee_rule_connected =
{
sql = "SELECT * FROM \"$events/client_connected\""
actions = ["webhook:fastbee_hook"]
enable = true
description = "处理设备上线"
}
rules.fastbee_rule_disconnected =
{
sql = "SELECT * FROM \"$events/client_disconnected\""
actions = ["webhook:fastbee_hook"]
enable = true
description = "处理设备下线"
}
rules.fastbee_rule_subscribed =
{
sql = "SELECT * FROM \"$events/session_subscribed\""
actions = ["webhook:fastbee_hook"]
enable = true
description = "处理订阅完主题的规则"
}
}

View File

@ -18,9 +18,9 @@ spring:
master:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/fastbee?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://47.121.180.229:3306/fastbee?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: fastbee
password: Yan@ancekong-mysql
druid:
filters: stat,wall
stat:
@ -56,7 +56,7 @@ spring:
# ds0: # 配置 mysql 数据源
# type: com.alibaba.druid.pool.DruidDataSource
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://localhost:3306/fastbee?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://47.121.180.229:3306/fastbee?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: root
# password: fastbee
# filters: stat,wall
@ -100,7 +100,7 @@ spring:
# redis 配置
redis:
host: localhost # 地址
host: 47.121.180.229 # 地址
port: 6379 # 端口,默认为6379
database: 0 # 数据库索引
password: fastbee # 密码
@ -115,7 +115,7 @@ spring:
mqtt:
username: fastbee # 账号
password: fastbee # 密码
host-url: tcp://localhost:1883 # mqtt连接tcp地址
host-url: tcp://47.121.180.229:1883 # mqtt连接tcp地址
client-id: ${random.int} # 客户端Id,不能相同,采用随机数 ${random.value}
default-topic: test # 默认主题
timeout: 30 # 超时时间
@ -123,7 +123,7 @@ spring:
clearSession: true # 清除会话(设置为false,断开连接,重连后使用原来的会话 保留订阅的主题,能接收离线期间的消息)
# EMQX API配置需要在运行emqx之后去EMQX管理后台手动创建API Key和Secret,并配置到application.yml中
emqx:
host: localhost # EMQX服务器地址
host: 47.121.180.229 # EMQX服务器地址
port: 18083
ApiKey: emqx.key.123 # EMQX API Key
ApiSecret: emqx.api.123

View File

@ -0,0 +1,109 @@
# 数据源配置
spring:
datasource:
dynamic:
druid:
initial-size: 5
min-idle: 10
max-wait: 60000
max-active: 20
timeBetweenEvictionRunsMillis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
minEvictableIdleTimeMillis: 300000 # 配置一个连接在池中最小生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000 # 配置一个连接在池中最大生存的时间,单位是毫秒
validation-query: 'SELECT 1'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
datasource:
master:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://47.121.180.229:3306/fastbee?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: Yan@ancekong-mysql
druid:
filters: stat,wall
stat:
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
none-base-statement-allow: true
taos: # 配置 taos 数据源
enabled: true
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.taosdata.jdbc.TSDBDriver
url: jdbc:TAOS://fastbee:6030/fastbee_log?timezone=UTC-8&charset=utf-8
username: root
password: Yan@ancekong-taos
dbName: fastbee_log
# slave:
# type: com.alibaba.druid.pool.DruidDataSource
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://localhost:3306/fastbee1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: root
# password: fastbee
# redis 配置
redis:
host: 47.121.180.229 # 地址
port: 6379 # 端口,默认为6379
database: 0 # 数据库索引
password: Yan@ancekong-redis # 密码
timeout: 10s # 连接超时时间
lettuce:
pool:
min-idle: 0 # 连接池中的最小空闲连接
max-idle: 8 # 连接池中的最大空闲连接
max-active: 8 # 连接池的最大数据库连接数
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
# mqtt 配置
mqtt:
username: fastbee # 账号(仅用于后端自认证)
password: Yan@ancekong-mqtt # 密码(仅用于后端自认证)
host-url: tcp://47.121.180.229:1883 # 连接 Emqx 消息服务器地址
#host-url: tcp://47.121.180.229:1883 # 内置netty mqtt broker地址
client-id: ${random.int} # 客户端Id,不能相同,采用随机数 ${random.value}
default-topic: test # 默认主题
timeout: 30 # 超时时间
keepalive: 30 # 保持连接
clearSession: true # 清除会话(设置为false,断开连接,重连后使用原来的会话 保留订阅的主题,能接收离线期间的消息)
# EMQX API配置需要在运行emqx之后去EMQX管理后台手动创建API Key和Secret,并配置到application.yml中
emqx:
host: 47.121.180.229 # EMQX服务器地址
port: 18083
ApiKey: b3da45a649948d18 # EMQX API Key
ApiSecret: tMbf5EEZFb08sut88i4tZscxTc9CE3gaRQewSOTRNvWL
# sip 配置
sip:
enabled: true # 是否启用视频监控SIP,true为启用
## 本地调试时,绑定网卡局域网IP,设备在同一局域网,设备接入IP填写绑定IP
## 部署服务端时,默认绑定容器IP,设备接入IP填写服务器公网IP
ip: 47.121.180.229 # 容器部署容器IP:47.121.180.229;云服务器部署写公网IP;本地部署127.0.0.1;总原则:能被摄像机访问的地址
port: 5061 # SIP端口(保持默认)
domain: 3402000000 # 由省级、市级、区级、基层编号组成
id: 34020000002000000001 # 同上,另外增加编号,(可保持默认)
password: 12345678 # 监控设备接入的密码
log: false
zlmRecordPath: /opt/media/bin/www
mp4MaxSecond: 30 # 视频录像时长,单位秒
# 日志配置
logging:
level:
com.fastbee: debug
com.yomahub: warn
org.dromara: warn
org.springframework: warn
com.baomidou: info
# Swagger配置
swagger:
enabled: true # 是否开启swagger
pathMapping: /test-api # 请求前缀
# 地图配置
map:
provider: baidu

View File

@ -17,8 +17,7 @@ import static com.fastbee.common.constant.Constants.ZH_CN;
*
* @author ruoyi
*/
public class DictUtils
{
public class DictUtils {
/**
* 分隔符
*/
@ -27,11 +26,10 @@ public class DictUtils
/**
* 设置字典缓存
*
* @param key 参数键
* @param key 参数键
* @param dictDatas 字典数据列表
*/
public static void setDictCache(String key, List<SysDictData> dictDatas)
{
public static void setDictCache(String key, List<SysDictData> dictDatas) {
SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas);
}
@ -41,11 +39,9 @@ public class DictUtils
* @param key 参数键
* @return dictDatas 字典数据列表
*/
public static List<SysDictData> getDictCache(String key)
{
public static List<SysDictData> getDictCache(String key) {
JSONArray arrayCache = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key));
if (StringUtils.isNotNull(arrayCache))
{
if (StringUtils.isNotNull(arrayCache)) {
return arrayCache.toList(SysDictData.class);
}
return null;
@ -54,64 +50,52 @@ public class DictUtils
/**
* 根据字典类型和字典值获取字典标签
*
* @param dictType 字典类型
* @param dictType 字典类型
* @param dictValue 字典值
* @param language 语言
* @param language 语言
* @return 字典标签
*/
public static String getDictLabel(String dictType, String dictValue, String language)
{
public static String getDictLabel(String dictType, String dictValue, String language) {
return getDictLabel(dictType, dictValue, SEPARATOR, language);
}
/**
* 根据字典类型和字典标签获取字典值
*
* @param dictType 字典类型
* @param dictType 字典类型
* @param dictLabel 字典标签
* @return 字典值
*/
public static String getDictValue(String dictType, String dictLabel)
{
public static String getDictValue(String dictType, String dictLabel) {
return getDictValue(dictType, dictLabel, SEPARATOR);
}
/**
* 根据字典类型和字典值获取字典标签
*
* @param dictType 字典类型
* @param dictType 字典类型
* @param dictValue 字典值
* @param separator 分隔符
* @param language 语言
* @param language 语言
* @return 字典标签
*/
public static String getDictLabel(String dictType, String dictValue, String separator, String language)
{
public static String getDictLabel(String dictType, String dictValue, String separator, String language) {
StringBuilder propertyString = new StringBuilder();
List<SysDictData> datas = getDictCache(dictType);
if (StringUtils.isNotNull(datas))
{
if (StringUtils.containsAny(separator, dictValue))
{
for (SysDictData dict : datas)
{
for (String value : dictValue.split(separator))
{
if (value.equals(dict.getDictValue()))
{
if (StringUtils.isNotNull(datas)) {
if (StringUtils.containsAny(separator, dictValue)) {
for (SysDictData dict : datas) {
for (String value : dictValue.split(separator)) {
if (value.equals(dict.getDictValue())) {
propertyString.append(dict.getDictLabel()).append(separator);
break;
}
}
}
}
else
{
for (SysDictData dict : datas)
{
if (dictValue.equals(dict.getDictValue()))
{
} else {
for (SysDictData dict : datas) {
if (dictValue.equals(dict.getDictValue())) {
if (ZH_CN.equals(language)) {
return dict.getDictLabel_zh_CN();
} else if (EN_US.equals(language)) {
@ -129,36 +113,27 @@ public class DictUtils
/**
* 根据字典类型和字典标签获取字典值
*
* @param dictType 字典类型
* @param dictType 字典类型
* @param dictLabel 字典标签
* @param separator 分隔符
* @return 字典值
*/
public static String getDictValue(String dictType, String dictLabel, String separator)
{
public static String getDictValue(String dictType, String dictLabel, String separator) {
StringBuilder propertyString = new StringBuilder();
List<SysDictData> datas = getDictCache(dictType);
if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty(datas))
{
for (SysDictData dict : datas)
{
for (String label : dictLabel.split(separator))
{
if (label.equals(dict.getDictLabel()))
{
if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty(datas)) {
for (SysDictData dict : datas) {
for (String label : dictLabel.split(separator)) {
if (label.equals(dict.getDictLabel())) {
propertyString.append(dict.getDictValue()).append(separator);
break;
}
}
}
}
else
{
for (SysDictData dict : datas)
{
if (dictLabel.equals(dict.getDictLabel()))
{
} else {
for (SysDictData dict : datas) {
if (dictLabel.equals(dict.getDictLabel())) {
return dict.getDictValue();
}
}
@ -171,16 +146,14 @@ public class DictUtils
*
* @param key 字典键
*/
public static void removeDictCache(String key)
{
public static void removeDictCache(String key) {
SpringUtils.getBean(RedisCache.class).deleteObject(getCacheKey(key));
}
/**
* 清空字典缓存
*/
public static void clearDictCache()
{
public static void clearDictCache() {
Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys(CacheConstants.SYS_DICT_KEY + "*");
SpringUtils.getBean(RedisCache.class).deleteObject(keys);
}
@ -191,8 +164,7 @@ public class DictUtils
* @param configKey 参数键
* @return 缓存键key
*/
public static String getCacheKey(String configKey)
{
public static String getCacheKey(String configKey) {
return CacheConstants.SYS_DICT_KEY + configKey;
}
}

View File

@ -1,60 +0,0 @@
-- 一、为iot_modbus_job表添加execute_time字段
-- 用于记录设备上电触发任务的执行时间
ALTER TABLE `iot_modbus_job`
ADD COLUMN `execute_time` datetime NULL DEFAULT NULL COMMENT '执行时间(仅设备上电触发任务使用,记录任务执行的时间)' AFTER `remark`;
-- 二. 在字典表中添加"文档"类型,用于首页公告下载pdf等文档
INSERT INTO `sys_dict_data` VALUES (NULL, 3, '文档', '3', 'sys_notice_type', '', 'info', 'N', '0', 'admin', NOW(), '', NULL, '文档类型');
-- 2. 在 sys_notice 表中添加文件路径字段
ALTER TABLE `sys_notice` ADD COLUMN `file_path` VARCHAR(500) NULL COMMENT '文件路径(文档类型使用)' AFTER `notice_content`;
-- 检查表结构
SELECT * FROM sys_dict_data_translate WHERE id = 738;
-- 如果没有记录,插入翻译数据
INSERT INTO sys_dict_data_translate (id, zh_cn, en_us)
VALUES (738, '文档', 'Document')
ON DUPLICATE KEY UPDATE zh_cn = '文档', en_us = 'Document';
-- 三、物模型改造:添加纯计算物模型标识字段
-- is_calculated: 0=设备上报(默认),1=纯计算(计算公式包含{}),2=其他(预留扩展)
ALTER TABLE `iot_things_model`
ADD COLUMN `is_calculated` tinyint(1) NOT NULL DEFAULT 0
COMMENT '物模型来源类型(0-设备上报,1-纯计算,2-其他预留)'
AFTER `formula`;
-- 为已有数据设置 is_calculated:如果公式包含{},则设置为1(纯计算)
UPDATE `iot_things_model`
SET `is_calculated` = 1
WHERE `formula` IS NOT NULL
AND `formula` != ''
AND `formula` LIKE '%{%}%'
AND `del_flag` = '0';
-- 1. 添加 device_id 字段(默认为0,表示产品级物模型)
ALTER TABLE `iot_things_model`
ADD COLUMN `device_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '设备ID,0表示产品级物模型,>0表示设备级计算物模型' AFTER `product_name`;
-- 2. 添加 serial_number 字段
ALTER TABLE `iot_things_model`
ADD COLUMN `serial_number` varchar(64) NULL DEFAULT NULL COMMENT '设备编号' AFTER `device_id`;
-- 3. 添加索引(设备编号索引)
ALTER TABLE `iot_things_model` ADD INDEX `idx_calculated_serial` (`is_calculated`, `serial_number`);
-- ==============================================================================
-- 日期:2026-01-30
-- 1. 添加产品ID字段
ALTER TABLE command_preferences ADD COLUMN product_id BIGINT(20) DEFAULT NULL COMMENT '产品ID' AFTER serial_number;
-- 2. 为产品ID添加索引,提升查询性能
CREATE INDEX idx_command_preferences_product_id ON command_preferences(product_id);
-- 说明:
-- product_id 有值 → 产品指令(同类产品的所有设备通用)
-- serial_number 有值 → 设备指令(仅当前设备可见)
-- 查询时通过 serial_number 或 product_id 字段是否有值来区分指令类型

File diff suppressed because one or more lines are too long

View File

@ -1,75 +0,0 @@
-- 数据库版本升级脚本
-- 适用于fastbee2.4版本到fastbee2.5版本的数据库升级
-- 注意:请在备份好数据库后再进行升级操作
-- modbus产品改造
CREATE TABLE `iot_product_modbus_job` (
`task_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务id',
`job_name` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '任务名称',
`product_id` bigint(20) NOT NULL COMMENT '产品id',
`command` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '指令',
`status` char(1) COLLATE utf8_unicode_ci NOT NULL COMMENT '状态(0正常 1暂停)',
`create_by` varchar(64) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`remark` varchar(500) CHARACTER SET utf8mb4 DEFAULT '' COMMENT '备注信息',
PRIMARY KEY (`task_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='产品轮训任务列表';
CREATE TABLE `iot_product_sub_gateway` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '业务id',
`gw_product_id` bigint(20) NOT NULL COMMENT '网关产品id',
`sub_product_id` bigint(20) NOT NULL COMMENT '子产品id',
`slave_id` int(6) DEFAULT NULL COMMENT '从机地址',
`create_by` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='网关与子产品关联表';
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3363, '产品modbus关联子产品', 2043, 16, '', NULL, NULL, 1, 0, 'F', '0', '0', 'productModbus:gateway:list', '#', 'admin', '2024-09-11 14:44:04', 'admin', '2024-09-11 14:48:00', '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3364, '新增产品modbus关联子产品', 3363, 0, '', NULL, NULL, 1, 0, 'F', '0', '0', 'productModbus:gateway:add', '#', 'admin', '2024-09-11 14:45:27', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3365, '修改产品modbus关联子产品', 3363, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'productModbus:gateway:edit', '#', 'admin', '2024-09-11 14:45:57', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3366, '删除产品modbus关联子产品', 3363, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'productModbus:gateway:remove', '#', 'admin', '2024-09-11 14:46:20', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3367, '产品modbus轮询任务', 2043, 17, '', NULL, NULL, 1, 0, 'F', '0', '0', 'productModbus:job:list', '#', 'admin', '2024-09-11 14:47:40', 'admin', '2024-09-11 14:48:08', '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3368, '新增产品modbus轮询任务', 3367, 0, '', NULL, NULL, 1, 0, 'F', '0', '0', 'productModbus:job:add', '#', 'admin', '2024-09-11 14:48:35', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3369, '修改产品modbus轮询任务', 3367, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'productModbus:job:edit', '#', 'admin', '2024-09-11 14:48:54', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3370, '删除产品modbus轮询任务', 3367, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'productModbus:job:remove', '#', 'admin', '2024-09-11 14:54:59', '', NULL, '');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3363, '产品modbus关联子产品', 'Product Modbus related sub products');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3364, '新增产品modbus关联子产品', 'New product Modbus associated sub product');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3365, '修改产品modbus关联子产品', 'Modify product Modbus associated sub products');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3366, '删除产品modbus关联子产品', 'Delete product Modbus associated sub products');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3367, '产品modbus轮询任务', 'Product Modbus polling task');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3368, '新增产品modbus轮询任务', 'New product Modbus polling task');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3369, '修改产品modbus轮询任务', 'Modify product Modbus polling task');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3370, '删除产品modbus轮询任务', 'Delete product Modbus polling task');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3371, 'modbus配置导入', 3298, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'modbus:config:import', '#', 'admin', '2024-09-11 16:10:35', '', NULL, '');
INSERT INTO `sys_menu_translate` (`id`, `zh_cn`, `en_us`) VALUES (3371, 'modbus配置导入', 'Modbus configuration import');
-- 协议管理
ALTER TABLE `iot_protocol`
ADD COLUMN `display` tinyint(2) NOT NULL DEFAULT 1 COMMENT '显示,1-显示;0-不显示';
ALTER TABLE `iot_protocol`
ADD COLUMN `data_format` text NULL COMMENT '协议数据格式';
ALTER TABLE `iot_device`
add COLUMN `wireless_version` float(11) null COMMENT '分包拉取固件版本';
ALTER TABLE `bridge`
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
MODIFY COLUMN `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';
ALTER TABLE `iot_firmware`
ADD COLUMN `firmware_type` tinyint(2) NULL DEFAULT NULL COMMENT '1,二进制包升级2.http升级' AFTER `firmware_name`,
ADD COLUMN `byte_size` int(5) NULL DEFAULT NULL COMMENT '分包字节大小' AFTER `version`;
-- 修复国际化物模型表遗漏字段
ALTER TABLE `iot_things_model_translate`
ADD COLUMN `product_id` bigint(20) NULL DEFAULT NULL COMMENT '产品ID';

4560
sql/yack-20260316.sql Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +0,0 @@
-- 为 iot_modbus_job 表添加 cycle_type 字段
-- 时间周期类型(1-周期循环,2-自定义时间段,3-设备上电触发)
ALTER TABLE `iot_modbus_job`
ADD COLUMN `cycle_type` int(2) NULL DEFAULT NULL COMMENT '时间周期类型(1-周期循环,2-自定义时间段,3-设备上电触发)' AFTER `device_type`;
-- 迁移设备上电触发任务:将 remark 字段中包含 'power_on_trigger' 的任务设置为 cycle_type = 3
-- remark 字段保持不变,因为代码中还在使用它来识别设备上电触发任务
UPDATE `iot_modbus_job`
SET `cycle_type` = 3
WHERE `remark` IS NOT NULL AND `remark` LIKE '%power_on_trigger%';
-- 为其他现有数据设置默认值(默认为1-周期循环)
UPDATE `iot_modbus_job`
SET `cycle_type` = 1
WHERE `cycle_type` IS NULL;

View File

@ -1,113 +0,0 @@
-- ----------------------------
-- 清空日志表中数据
-- ----------------------------
delete from `iot_alert_log`;
delete from `iot_device_log`;
delete from `iot_event_log`;
delete from `iot_function_log`;
delete from `iot_simulate_log`;
delete from `notify_log`;
delete from `sys_job_log`;
delete from `sys_logininfor`;
delete from `sys_oper_log`;
-- ----------------------------
-- 设置清空的日志表主键取消自增
-- ----------------------------
ALTER TABLE `iot_alert_log` MODIFY COLUMN `alert_log_id` bigint(20) NOT NULL COMMENT '告警日志ID';
ALTER TABLE `iot_device_log` MODIFY COLUMN `log_id` bigint(20) NOT NULL COMMENT '设备监测信息ID';
ALTER TABLE `iot_event_log` MODIFY COLUMN `log_id` bigint(20) NOT NULL COMMENT '设备事件日志ID';
ALTER TABLE `iot_function_log` MODIFY COLUMN `id` bigint(20) NOT NULL COMMENT '设备功能日志ID';
ALTER TABLE `iot_simulate_log` MODIFY COLUMN `log_id` bigint(20) NOT NULL COMMENT '设备模拟日志ID';
ALTER TABLE `notify_log` MODIFY COLUMN `id` bigint(20) NOT NULL COMMENT '通知日志ID';
ALTER TABLE `sys_job_log` MODIFY COLUMN `job_log_id` bigint(20) NOT NULL COMMENT '任务日志ID';
ALTER TABLE `sys_logininfor` MODIFY COLUMN `info_id` bigint(20) NOT NULL COMMENT '访问ID';
ALTER TABLE `sys_oper_log` MODIFY COLUMN `oper_id` bigint(20) NOT NULL COMMENT '操作日志ID';
-- ----------------------------
-- 设置清空的日志表主键ID自增
-- ----------------------------
ALTER TABLE `iot_alert_log` MODIFY COLUMN `alert_log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '告警日志ID';
ALTER TABLE `iot_device_log` MODIFY COLUMN `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备监测信息ID';
ALTER TABLE `iot_event_log` MODIFY COLUMN `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备事件日志ID';
ALTER TABLE `iot_function_log` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备功能日志ID';
ALTER TABLE `iot_simulate_log` MODIFY COLUMN `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备模拟日志ID';
ALTER TABLE `notify_log` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '通知日志ID';
ALTER TABLE `sys_job_log` MODIFY COLUMN `job_log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志ID';
ALTER TABLE `sys_logininfor` MODIFY COLUMN `info_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '访问ID';
ALTER TABLE `sys_oper_log` MODIFY COLUMN `oper_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '操作日志ID';
-- ----------------------------
-- 重置其他表的自增ID
-- ----------------------------
ALTER TABLE `iot_alert` MODIFY COLUMN `alert_id` bigint(20) NOT NULL COMMENT '告警ID';
ALTER TABLE `iot_alert` MODIFY COLUMN `alert_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '告警ID';
ALTER TABLE `iot_device` MODIFY COLUMN `device_id` bigint(20) NOT NULL COMMENT '设备ID';
ALTER TABLE `iot_device` MODIFY COLUMN `device_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备ID';
ALTER TABLE `iot_device_job` MODIFY COLUMN `job_id` bigint(20) NOT NULL COMMENT '任务ID';
ALTER TABLE `iot_device_job` MODIFY COLUMN `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务ID';
ALTER TABLE `iot_group` MODIFY COLUMN `group_id` bigint(20) NOT NULL COMMENT '分组ID';
ALTER TABLE `iot_group` MODIFY COLUMN `group_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '分组ID';
ALTER TABLE `iot_product` MODIFY COLUMN `product_id` bigint(20) NOT NULL COMMENT '产品ID';
ALTER TABLE `iot_product` MODIFY COLUMN `product_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '产品ID';
ALTER TABLE `iot_product_authorize` MODIFY COLUMN `authorize_id` bigint(20) NOT NULL COMMENT '授权码ID';
ALTER TABLE `iot_product_authorize` MODIFY COLUMN `authorize_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '授权码ID';
ALTER TABLE `iot_protocol` MODIFY COLUMN `id` bigint(20) NOT NULL COMMENT '自增id';
ALTER TABLE `iot_protocol` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id';
ALTER TABLE `iot_scene` MODIFY COLUMN `scene_id` bigint(20) NOT NULL COMMENT '场景ID';
ALTER TABLE `iot_scene` MODIFY COLUMN `scene_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '场景ID';
ALTER TABLE `iot_things_model` MODIFY COLUMN `model_id` bigint(20) NOT NULL COMMENT '物模型ID';
ALTER TABLE `iot_things_model` MODIFY COLUMN `model_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '物模型ID';
ALTER TABLE `iot_things_model_template` MODIFY COLUMN `template_id` bigint(20) NOT NULL COMMENT '物模型ID';
ALTER TABLE `iot_things_model_template` MODIFY COLUMN `template_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '物模型ID';
ALTER TABLE `iot_var_temp` MODIFY COLUMN `template_id` bigint(20) NOT NULL COMMENT '主键id';
ALTER TABLE `iot_var_temp` MODIFY COLUMN `template_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id';
ALTER TABLE `iot_firmware` MODIFY COLUMN `firmware_id` bigint(20) NOT NULL COMMENT '固件ID';
ALTER TABLE `iot_firmware` MODIFY COLUMN `firmware_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '固件ID';
ALTER TABLE `iot_firmware_task` MODIFY COLUMN `id` bigint(20) NOT NULL COMMENT '主键';
ALTER TABLE `iot_firmware_task` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键';
ALTER TABLE `iot_firmware_task_detail` MODIFY COLUMN `id` bigint(20) NOT NULL COMMENT '主键';
ALTER TABLE `iot_firmware_task_detail` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键';
ALTER TABLE `sys_user` MODIFY COLUMN `user_id` bigint(20) NOT NULL COMMENT '用户ID';
ALTER TABLE `sys_user` MODIFY COLUMN `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID';
ALTER TABLE `sys_menu` MODIFY COLUMN `menu_id` bigint(20) NOT NULL COMMENT '菜单ID';
ALTER TABLE `sys_menu` MODIFY COLUMN `menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID';
ALTER TABLE `sys_dict_type` MODIFY COLUMN `dict_id` bigint(20) NOT NULL COMMENT '字典主键';
ALTER TABLE `sys_dict_type` MODIFY COLUMN `dict_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典主键';
ALTER TABLE `sys_dict_data` MODIFY COLUMN `dict_code` bigint(20) NOT NULL COMMENT '字典编码';
ALTER TABLE `sys_dict_data` MODIFY COLUMN `dict_code` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典编码';
ALTER TABLE `sip_config` MODIFY COLUMN `id` bigint(20) NOT NULL COMMENT '主键';
ALTER TABLE `sip_config` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键';
ALTER TABLE `sip_device` MODIFY COLUMN `device_id` bigint(20) NOT NULL COMMENT '设备ID';
ALTER TABLE `sip_device` MODIFY COLUMN `device_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '设备ID';
ALTER TABLE `sip_device_channel` MODIFY COLUMN `id` bigint(20) NOT NULL COMMENT '主键';
ALTER TABLE `sip_device_channel` MODIFY COLUMN `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键';
ALTER TABLE `news` MODIFY COLUMN `news_id` bigint(20) NOT NULL COMMENT '新闻ID';
ALTER TABLE `news` MODIFY COLUMN `news_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '新闻ID';
ALTER TABLE `news_category` MODIFY COLUMN `category_id` bigint(20) NOT NULL COMMENT '分类ID';
ALTER TABLE `news_category` MODIFY COLUMN `category_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '分类ID';

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,486 +0,0 @@
-- ----------------------------
-- 注意注意:不要直接执行以下sql,部分有关联的sql,需要根据自己的系统进行调整
-- ----------------------------
-- ----------------------------
-- 通知渠道表
-- ----------------------------
DROP TABLE IF EXISTS `notify_channel`;
CREATE TABLE `notify_channel` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(20) COLLATE utf8_unicode_ci NOT NULL COMMENT '通知名称',
`channel_type` varchar(20) COLLATE utf8_unicode_ci NOT NULL COMMENT '渠道类型',
`provider` varchar(20) COLLATE utf8_unicode_ci NOT NULL COMMENT '服务商',
`config_content` varchar(1024) COLLATE utf8_unicode_ci NOT NULL COMMENT '配置内容',
`tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id',
`tenant_name` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '租户名称',
`create_by` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '创建人',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(2) NOT NULL DEFAULT '0' COMMENT '逻辑删除标识',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='通知渠道';
-- 通知模板表
DROP TABLE IF EXISTS `notify_template`;
CREATE TABLE `notify_template` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT '渠道名称',
`service_code` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT '业务编码(唯一启用)',
`channel_id` bigint(20) DEFAULT NULL COMMENT '通知渠道账号',
`channel_type` varchar(20) COLLATE utf8_unicode_ci NOT NULL COMMENT '渠道类型',
`provider` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT '服务商',
`msg_params` text COLLATE utf8_unicode_ci COMMENT '模板配置参数',
`status` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0' COMMENT '是否启用 0-不启用 1-启用',
`create_by` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '创建人',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(2) NOT NULL DEFAULT '0' COMMENT '逻辑删除标识',
`tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id',
`tenant_name` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '租户名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='通知模版';
-- 通知日志表
DROP TABLE IF EXISTS `notify_log`;
CREATE TABLE `notify_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`channel_id` bigint(20) NOT NULL COMMENT '渠道编号',
`notify_template_id` bigint(20) NOT NULL COMMENT '通知模版编号',
`msg_content` text COLLATE utf8_unicode_ci COMMENT '消息内容',
`send_account` varchar(500) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '发送账号',
`send_status` tinyint(4) NOT NULL COMMENT '发送状态',
`result_content` text COLLATE utf8_unicode_ci COMMENT '返回内容',
`service_code` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '业务编码(唯一启用)',
`create_by` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '创建人',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '更新人',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(2) NOT NULL DEFAULT '0' COMMENT '逻辑删除标识',
`tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id',
`tenant_name` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '租户名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='通知日志';
-- 告警通知模板关联表
DROP TABLE IF EXISTS `iot_alert_notify_template`;
CREATE TABLE `iot_alert_notify_template` (
`alert_id` bigint(20) NOT NULL COMMENT '告警id',
`notify_template_id` bigint(20) NOT NULL COMMENT '通知模版id',
PRIMARY KEY (`alert_id`,`notify_template_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='告警通知模版关联表';
-- 通知渠道菜单
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '通知渠道', 3000, 7, 'channel', 'notify/channel/index', NULL, 1, 0, 'C', '0', '0', 'notify:channel:list', 'notify_channel', 'admin', '2023-12-01 10:18:40', 'admin', '2024-01-03 11:00:37', '通知渠道菜单');
SELECT @parentId := LAST_INSERT_ID();
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知渠道查询', @parentId, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'notify:channel:query', '#', 'admin', '2023-12-01 10:18:40', 'admin', '2024-01-03 11:01:24', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '通知渠道新增', @parentId, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'notify:channel:add', '#', 'admin', '2023-12-01 10:18:40', 'admin', '2024-01-03 11:01:31', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知渠道修改', @parentId, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'notify:channel:edit', '#', 'admin', '2023-12-01 10:18:40', 'admin', '2024-01-03 11:01:36', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知渠道删除', @parentId, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'notify:channel:remove', '#', 'admin', '2023-12-01 10:18:40', 'admin', '2024-01-03 11:01:41', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知渠道导出', @parentId, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'notify:channel:export', '#', 'admin', '2023-12-01 10:18:41', 'admin', '2024-01-03 11:01:52', '');
-- 通知模板菜单
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知模板', 3000, 7, 'notifyTemplate', 'notify/template/index', NULL, 1, 0, 'C', '0', '0', 'notify:template:list', 'template', 'admin', '2023-12-22 15:19:44', 'admin', '2024-01-03 11:02:12', '');
SELECT @parentId := LAST_INSERT_ID();
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知模板查询', @parentId, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:template:query', '#', 'admin', '2024-01-03 11:02:55', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '通知模板新增', @parentId, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:template:add', '#', 'admin', '2024-01-03 11:03:23', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知模板修改', @parentId, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:template:edit', '#', 'admin', '2024-01-03 11:03:40', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知模板删除', @parentId, 4, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:template:remove', '#', 'admin', '2024-01-03 11:03:55', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知模板导出', @parentId, 5, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:template:export', '#', 'admin', '2024-01-03 11:04:16', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知模板测试', @parentId, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:template:send', '#', 'admin', '2024-01-03 11:07:19', '', NULL, '');
-- 通知日志菜单
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ( '通知日志', 3000, 7, 'notifylog', 'notify/log/index', NULL, 1, 0, 'C', '0', '0', 'notify:log:list', 'notify_log', 'admin', '2023-12-28 10:10:52', 'admin', '2024-01-03 11:05:11', '');
SELECT @parentId := LAST_INSERT_ID();
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知日志导出', @parentId, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:log:export', '#', 'admin', '2024-01-03 11:06:11', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知日志删除', @parentId, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:log:remove', '#', 'admin', '2024-01-03 11:06:31', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知日志详情', @parentId, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'notify:log:query', '#', 'admin', '2024-01-03 11:06:31', '', NULL, '');
-- 字典通知渠道类型
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知渠道类型', 'notify_channel_type', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2023-11-30 09:45:15', '通知渠道');
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
(1, '短信', 'sms', 'notify_channel_type', NULL, 'default', 'N', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2023-12-21 10:31:54', NULL),
(2, '语音', 'voice', 'notify_channel_type', NULL, 'default', 'N', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2024-01-05 16:24:22', NULL),
(3, '微信', 'wechat', 'notify_channel_type', NULL, 'default', 'N', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2024-01-05 16:24:15', NULL),
(4, '钉钉', 'dingtalk', 'notify_channel_type', NULL, 'default', 'N', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2024-01-05 16:24:38', NULL),
(5, '邮箱', 'email', 'notify_channel_type', NULL, 'default', 'N', '0', 'admin', '2023-12-11 23:43:14', 'admin', '2024-01-05 16:24:32', NULL);
-- 字典通知短信服务商
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知短信服务商', 'notify_channel_sms_provider', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2023-11-30 09:45:15', '短信服务商');
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
(1, '阿里云', 'alibaba', 'notify_channel_sms_provider', NULL, 'default', 'N', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2024-01-05 16:49:10', ''),
(2, '腾讯云', 'tencent', 'notify_channel_sms_provider', NULL, 'default', 'N', '1', 'admin', '2023-12-21 10:11:25', 'admin', '2024-01-05 16:50:26', ''),
(3, '天翼云', 'ctyun', 'notify_channel_sms_provider', NULL, 'default', 'N', '1', 'admin', '2023-12-21 10:11:51', 'admin', '2024-01-05 16:50:31', ''),
(4, '华为云', 'huawei', 'notify_channel_sms_provider', NULL, 'default', 'N', '1', 'admin', '2023-12-21 10:12:07', 'admin', '2024-01-05 16:50:35', NULL),
(5, '云片', 'yunpian', 'notify_channel_sms_provider', NULL, 'default', 'N', '1', 'admin', '2023-12-21 10:12:29', 'admin', '2024-01-05 16:50:39', NULL),
(6, '亿美软通', 'emay', 'notify_channel_sms_provider', NULL, 'default', 'N', '1', 'admin', '2023-12-21 10:12:56', 'admin', '2024-01-05 16:49:52', NULL),
(7, '容连云', 'cloopen', 'notify_channel_sms_provider', NULL, 'default', 'N', '1', 'admin', '2023-12-21 10:13:16', 'admin', '2024-01-05 16:49:58', NULL),
(8, '京东云', 'jdcloud', 'notify_channel_sms_provider', NULL, 'default', 'N', '1', 'admin', '2023-12-21 10:13:37', 'admin', '2024-01-05 16:50:07', NULL),
(9, '网易云', 'netease', 'notify_channel_sms_provider', NULL, 'default', 'N', '1', 'admin', '2023-12-21 10:13:57', 'admin', '2024-01-05 16:50:13', NULL);
-- 字典通知邮箱服务商
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知邮箱服务商', 'notify_channel_email_provider', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2023-11-30 09:45:15', '邮箱服务商');
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
(1, 'QQ', 'qq', 'notify_channel_email_provider', NULL, 'default', 'N', '0', 'admin', '2023-11-30 09:45:15', 'admin', '2023-12-22 10:33:48', NULL),
(2, '163', '163', 'notify_channel_email_provider', NULL, 'default', 'N', '0', 'admin', '2023-12-21 10:41:52', 'admin', '2023-12-22 10:33:58', NULL);
-- 字典通知微信服务商
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知微信服务商', 'notify_channel_wechat_provider', '0', 'admin', '2023-12-21 10:37:25', '', NULL, NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
(1, '微信小程序(订阅消息)', 'mini_program', 'notify_channel_wechat_provider', NULL, 'default', 'N', '0', 'admin', '2023-12-21 10:41:04', 'admin', '2024-01-22 15:49:10', ''),
(2, '企业微信应用消息', 'wecom_apply', 'notify_channel_wechat_provider', NULL, 'default', 'N', '0', 'admin', '2024-01-22 15:40:11', 'admin', '2024-01-22 17:06:03', NULL),
(3, '企业微信群机器人', 'wecom_robot', 'notify_channel_wechat_provider', NULL, 'default', 'N', '0', 'admin', '2024-01-22 15:40:33', 'admin', '2024-01-22 15:40:38', NULL);
-- 字典通知语音服务商
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知语音服务商', 'notify_channel_voice_provider', '0', 'admin', '2023-12-27 14:58:23', '', NULL, NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
(1, '阿里云', 'alibaba', 'notify_channel_voice_provider', NULL, 'default', 'N', '0', 'admin', '2023-12-27 14:58:54', 'admin', '2024-01-11 09:59:44', ''),
(2, '腾讯云', 'tencent', 'notify_channel_voice_provider', NULL, 'default', 'N', '0', 'admin', '2024-01-11 09:59:33', '', NULL, NULL);
-- 字典通知语音服务商
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知钉钉服务商', 'notify_channel_dingtalk_provider', '0', 'admin', '2024-01-10 15:27:28', '', NULL, NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
(1, '工作通知', 'work', 'notify_channel_dingtalk_provider', NULL, 'default', 'N', '0', 'admin', '2024-01-10 15:32:15', 'admin', '2024-01-18 17:43:10', NULL),
(2, '群机器人', 'group_robot', 'notify_channel_dingtalk_provider', NULL, 'default', 'N', '0', 'admin', '2024-01-10 15:32:57', 'admin', '2024-01-22 15:47:06', NULL);
-- 通知钉钉消息类型
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知钉钉消息类型', 'dingtalk_msg_type', '0', 'admin', '2024-01-22 11:41:26', 'admin', '2024-01-22 11:44:20', NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
(1, '文本', 'text', 'dingtalk_msg_type', NULL, 'default', 'N', '0', 'admin', '2024-01-22 11:42:51', '', NULL, NULL),
(2, 'markdown类型', 'markdown', 'dingtalk_msg_type', NULL, 'default', 'N', '0', 'admin', '2024-01-22 11:43:44', '', NULL, NULL),
(3, '链接消息', 'link', 'dingtalk_msg_type', NULL, 'default', 'N', '0', 'admin', '2024-01-22 11:44:04', '', NULL, NULL);
-- 通知企业微信消息类型
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知企业微信消息类型', 'wecom_msg_type', '0', 'admin', '2024-01-22 11:49:03', 'admin', '2024-01-22 11:51:27', NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
(1, '文本', 'text', 'wecom_msg_type', NULL, 'default', 'N', '0', 'admin', '2024-01-22 15:51:48', '', NULL, NULL),
(2, 'markdown', 'markdown', 'wecom_msg_type', NULL, 'default', 'N', '0', 'admin', '2024-01-22 15:52:04', '', NULL, NULL),
(3, '图文', 'news', 'wecom_msg_type', NULL, 'default', 'N', '0', 'admin', '2024-01-22 15:52:29', '', NULL, NULL);
-- 通知业务编码
INSERT INTO `sys_dict_type` (`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('通知业务编码', 'notify_service_code', '0', 'admin', '2023-12-18 14:56:57', '', NULL, NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '设备告警', 'alert', 'notify_service_code', NULL, 'default', 'N', '0', 'admin', '2023-12-18 14:58:40', 'admin', '2024-01-25 14:35:25', NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '验证码', 'captcha', 'notify_service_code', NULL, 'default', 'N', '0', 'admin', '2023-12-18 14:59:59', 'admin', '2024-01-25 14:36:07', NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '营销通知', 'marketing', 'notify_service_code', NULL, 'default', 'N', '0', 'admin', '2024-01-11 09:56:07', 'admin', '2024-01-25 14:37:40', NULL);
-- 通知渠道初始数据
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (1, '阿里云短信', 'sms', 'alibaba', '{\"accessKeyId\":\"\",\"accessKeySecret\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:24:24', NULL, '2024-01-25 17:24:24', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (2, '阿里云语音', 'voice', 'alibaba', '{\"accessKeyId\":\"\",\"accessKeySecret\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:24:47', NULL, '2024-01-31 11:33:16', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (3, '腾讯云短信', 'sms', 'tencent', '{\"accessKeyId\":\"\",\"accessKeySecret\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:25:31', NULL, '2024-01-25 17:25:31', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (4, '腾讯云语音', 'voice', 'tencent', '{\"accessKeyId\":\"\",\"accessKeySecret\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:26:01', NULL, '2024-01-31 14:13:50', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (5, 'QQ邮箱', 'email', 'qq', '{\"smtpServer\":\"smtp.qq.com\",\"port\":\"465\",\"username\":\"\",\"password\":\"\",\"sslEnable\":true,\"authEnable\":true,\"retryInterval\":\"5\",\"maxRetries\":\"1\"}', 1, 'admin', NULL, '2024-01-25 17:27:34', NULL, '2024-01-25 17:27:34', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (6, '163邮箱', 'email', '163', '{\"smtpServer\":\"smtp.163.com\",\"port\":\"465\",\"username\":\"\",\"password\":\"\",\"sslEnable\":true,\"authEnable\":true,\"retryInterval\":\"5\",\"maxRetries\":\"1\"}', 1, 'admin', NULL, '2024-01-25 17:27:58', NULL, '2024-01-25 17:27:58', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (7, '微信小程序', 'wechat', 'mini_program', '{\"appId\":\"\",\"appSecret\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:28:24', NULL, '2024-01-31 14:32:39', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (8, '企业微信群机器人', 'wechat', 'wecom_robot', '{\"webHook\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:29:06', NULL, '2024-01-31 14:50:38', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (9, '企业微信应用消息', 'wechat', 'wecom_apply', '{\"corpId\":\"\",\"corpSecret\":\"\",\"agentId\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:30:47', NULL, '2024-01-31 15:06:03', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (10, '钉钉消息通知', 'dingtalk', 'work', '{\"appKey\":\"\",\"appSecret\":\"\",\"agentId\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:35:53', NULL, '2024-01-31 15:19:30', 0);
INSERT INTO `notify_channel` (`id`, `name`, `channel_type`, `provider`, `config_content`, `tenant_id`, `tenant_name`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES (11, '钉钉群机器人', 'dingtalk', 'group_robot', '{\"webHook\":\"\"}', 1, 'admin', NULL, '2024-01-25 17:38:58', NULL, '2024-01-31 15:26:39', 0);
-- 通知模版初始数据
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (1, '告警阿里云短信', 'alert', 1, 'sms', 'alibaba', '{\"sendAccount\":\"\",\"templateId\":\"\",\"signature\":\"\",\"content\":\"您的设备:${name},设备编号:${serialnumber},在${address}发生${alert}告警\"}', 0, NULL, '2024-01-26 09:21:57', NULL, '2024-02-05 09:36:16', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (2, '验证码阿里云短信', 'captcha', 1, 'sms', 'alibaba', '{\"templateId\":\"\",\"signature\":\"\",\"content\":\"验证码${code},有效期5分钟\"}', 0, NULL, '2024-01-26 09:23:55', NULL, '2024-01-30 13:59:47', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (3, '验证码腾讯云短信', 'captcha', 3, 'sms', 'tencent', '{\"templateId\":\"\",\"signature\":\"\",\"sdkAppId\":\"\",\"content\":\"验证码{1},有效期5分钟\"}', 0, NULL, '2024-01-26 09:28:50', NULL, '2024-01-26 09:28:52', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (4, '告警腾讯云短信', 'alert', 3, 'sms', 'tencent', '{\"sendAccount\":\"\",\"templateId\":\"\",\"signature\":\"\",\"sdkAppId\":\"\",\"content\":\"您的设备:{1},设备编号:{2},在{3}发生{4}告警\"}', 0, NULL, '2024-01-26 09:37:18', NULL, '2024-02-01 09:30:49', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (5, '告警QQ邮箱', 'alert', 5, 'email', 'qq', '{\"sendAccount\":\"\",\"title\":\"设备告警\",\"attachment\":\"\",\"content\":\"<p>您的设备:#{name},设备编号:#{serialnumber},在#{address}发生#{alert}告警</p>\"}', 0, NULL, '2024-01-26 09:43:26', NULL, '2024-02-05 09:36:16', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (6, '告警163邮箱', 'alert', 6, 'email', '163', '{\"title\":\"设备告警\",\"attachment\":\"\",\"content\":\"<p>您的设备:#{name},设备编号:#{serialnumber},在#{address}发生#{alert}告警</p>\"}', 0, NULL, '2024-01-26 09:44:05', NULL, '2024-01-26 15:08:29', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (7, '告警阿里云语音', 'alert', 2, 'voice', 'alibaba', '{\"sendAccount\":\"\",\"templateId\":\"\",\"content\":\"您的设备:${name},在${address}发生告警,请尽快处理\",\"playTimes\":\"1\",\"volume\":\"50\",\"speed\":\"0\"}', 0, NULL, '2024-01-26 09:49:23', NULL, '2024-02-05 09:36:17', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (8, '告警腾讯云语音', 'alert', 4, 'voice', 'tencent', '{\"sendAccount\":\"\",\"sdkAppId\":\"\",\"templateId\":\"\",\"content\":\"您的设备:{1},设备编号:{2},在{3}发生{4}告警\"}', 0, NULL, '2024-01-26 09:53:07', NULL, '2024-02-01 11:31:35', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (9, '告警微信小程序', 'alert', 7, 'wechat', 'mini_program', '{\"sendAccount\":\"\",\"templateId\":\"\",\"redirectUrl\":\"/pages/tabBar/alert/index\",\"content\":\"报警设备 {{thing1.DATA}} 设备编号 {{character_string7.DATA}}\"}', 0, NULL, '2024-01-26 10:22:42', NULL, '2024-02-05 09:36:17', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (10, '告警企业微信应用消息', 'alert', 9, 'wechat', 'wecom_apply', '{\"sendAccount\":\"\",\"title\":\"设备告警\",\"content\":\"您的设备:${name},设备编号:${serialnumber},在${address}发生${alert}告警\",\"url\":\"https://iot.fastbee.cn/\",\"picUrl\":\"\",\"msgType\":\"news\"}', 0, NULL, '2024-01-26 10:25:58', NULL, '2024-02-05 09:36:18', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (11, '告警企业微信群机器人', 'alert', 8, 'wechat', 'wecom_robot', '{\"title\":\"设备告警\",\"content\":\"您的设备:${name},设备编号:${serialnumber},在${address}发生${alert}告警\",\"url\":\"https://iot.fastbee.cn/\",\"picUrl\":\"\",\"msgType\":\"news\"}', 0, NULL, '2024-01-26 10:26:57', NULL, '2024-02-05 09:36:18', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (12, '告警钉钉消息通知', 'alert', 10, 'dingtalk', 'work', '{\"deptId\":\"\",\"sendAllEnable\":false,\"sendAccount\":\"\",\"title\":\"设备告警\",\"content\":\"您的设备:${name},设备编号:${serialnumber},在${address}发生${alert}告警\",\"messageUrl\":\" https://iot.fastbee.cn/ \",\"picUrl\":\"\",\"msgType\":\"link\"}', 0, NULL, '2024-01-26 10:27:50', NULL, '2024-02-05 09:36:19', 0, 1, 'admin');
INSERT INTO `notify_template` (`id`, `name`, `service_code`, `channel_id`, `channel_type`, `provider`, `msg_params`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `tenant_id`, `tenant_name`) VALUES (13, '告警钉钉机器人', 'alert', 11, 'dingtalk', 'group_robot', '{\"title\":\"设备告警\",\"content\":\"您的设备:${name},设备编号:${serialnumber},在${address}发生${alert}告警\",\"messageUrl\":\"https://iot.fastbee.cn\",\"picUrl\":\"\",\"msgType\":\"link\"}', 0, NULL, '2024-01-26 10:28:34', NULL, '2024-02-05 09:36:19', 0, 1, 'admin');
-- ----------------------------
-- 告警表
-- ----------------------------
DROP TABLE IF EXISTS `iot_alert`;
CREATE TABLE `iot_alert` (
`alert_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '告警ID',
`alert_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '告警名称',
`alert_level` tinyint(11) NOT NULL COMMENT '告警级别(1=提醒通知,2=轻微问题,3=严重警告)',
`status` tinyint(1) NOT NULL COMMENT '告警状态(1-启动,2-停止)',
`notify` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通知方式[1,2,3]',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`alert_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备告警' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- 告警关联场景表
-- ----------------------------
DROP TABLE IF EXISTS `iot_alert_scene`;
CREATE TABLE `iot_alert_scene` (
`alert_id` bigint(20) NOT NULL COMMENT '告警ID',
`scene_id` bigint(20) NOT NULL COMMENT '场景ID',
PRIMARY KEY (`alert_id`, `scene_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci COMMENT = '告警场景表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 场景表
-- ----------------------------
DROP TABLE IF EXISTS `iot_scene`;
CREATE TABLE `iot_scene` (
`scene_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '场景ID',
`scene_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '场景名称',
`chain_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '规则名称',
`enable` tinyint(1) NULL DEFAULT NULL COMMENT '场景状态(1-启动,2-停止)',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`user_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名称',
`silent_period` int(20) NULL DEFAULT NULL COMMENT '静默周期(分钟)',
`cond` tinyint(2) NULL DEFAULT NULL COMMENT '执行条件(1=或、任意条件,2=且、所有条件,3=非,不满足)',
`execute_mode` tinyint(1) NULL DEFAULT NULL COMMENT '执行方式(1=串行,顺序执行,2=并行,同时执行)',
`execute_delay` int(10) NULL DEFAULT NULL COMMENT '延时执行(秒钟)',
`has_alert` tinyint(1) NULL DEFAULT 0 COMMENT '是否包含告警推送(1=包含,2=不包含)',
`application_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '应用名称',
`el_data` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '规则数据',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`scene_id`) USING BTREE,
INDEX `iot_scene_index_user_id`(`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '场景联动' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- 场景设备表
-- ----------------------------
DROP TABLE IF EXISTS `iot_scene_device`;
CREATE TABLE `iot_scene_device` (
`scene_device_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '场景设备ID',
`serial_number` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备编号(产品触发的没有设备编号)',
`product_id` bigint(20) NOT NULL COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '产品名称',
`source` tinyint(1) NOT NULL COMMENT '触发源(1=设备触发,3=产品触发)',
`scene_id` bigint(20) NOT NULL COMMENT '场景ID',
`script_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '场景脚本ID',
`type` tinyint(1) NULL DEFAULT NULL COMMENT '类型(2=触发器,3=执行动作)',
PRIMARY KEY (`scene_device_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci COMMENT = '场景设备表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 场景脚本表
-- ----------------------------
DROP TABLE IF EXISTS `iot_scene_script`;
CREATE TABLE `iot_scene_script` (
`script_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '脚本ID',
`scene_id` bigint(20) NOT NULL COMMENT '场景ID',
`source` tinyint(1) NOT NULL COMMENT '触发源(1=设备触发,2=定时触发,3=产品触发,4=告警执行)',
`script_purpose` tinyint(1) NOT NULL COMMENT '脚本用途(1=数据流,2=触发器,3=执行动作)',
`product_id` bigint(20) NULL DEFAULT NULL COMMENT '产品ID(用于获取对应物模型)',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品名称',
`id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型标识符',
`name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型名称',
`value` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型值',
`operator` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作符',
`type` tinyint(1) NULL DEFAULT NULL COMMENT '物模型类别(1=属性,2=功能,3=事件,4=设备升级,5=设备上线,6=设备下线)',
`device_count` int(20) NULL DEFAULT NULL COMMENT '设备数量',
`job_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID',
`cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'cron执行表达式',
`is_advance` tinyint(1) NULL DEFAULT NULL COMMENT '是否详细corn表达式(1=是,0=否)',
`parent_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父物模id',
`parent_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父物模名称',
`array_index` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数组索引',
`array_index_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数组索引名称',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`script_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci COMMENT = '场景脚本' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- 规则脚本表
-- ----------------------------
DROP TABLE IF EXISTS `iot_script`;
CREATE TABLE `iot_script` (
`script_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '脚本ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`user_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户昵称',
`scene_id` bigint(64) NOT NULL DEFAULT 0 COMMENT '关联场景ID',
`product_id` bigint(20) NULL DEFAULT NULL COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品名称',
`script_event` tinyint(1) NOT NULL COMMENT '脚本事件(1=设备上报,2=平台下发,3=设备上线,4=设备离线)',
`script_action` tinyint(1) NOT NULL COMMENT '脚本动作(1=消息重发,2=消息通知,3=Http推送,4=Mqtt桥接,5=数据库存储)',
`script_purpose` tinyint(1) NOT NULL COMMENT '脚本用途(1=数据流,2=触发器,3=执行动作)',
`script_order` tinyint(1) NOT NULL DEFAULT 0 COMMENT '脚本执行顺序,值越大优先级越高',
`application_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '应用名,后端、规则和脚本要统一',
`script_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '脚本名',
`script_data` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '脚本数据',
`script_type` char(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '脚本类型:\r\nscript=普通脚本,\r\nswitch_script=选择脚本,\r\nif_script=条件脚本,\r\nfor_script=数量循环脚本,\r\nwhile_script=条件循环,\r\nbreak_script=退出循环脚本',
`script_language` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '脚本语言(groovy | qlexpress | js | python | lua | aviator | java)',
`enable` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否生效(0-不生效,1-生效)',
`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`script_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '规则引擎脚本' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- 删除旧版本告警和场景的触发器表
-- ----------------------------
DROP TABLE IF EXISTS `iot_alert_trigger`;
DROP TABLE IF EXISTS `iot_scene_trigger`;
-- ----------------------------
-- 新增规则引擎相关字典
-- ----------------------------
INSERT INTO `sys_dict_type` VALUES (140, '规则脚本类型', 'rule_script_type', '0', 'admin', '2023-11-04 01:48:50', 'admin', '2023-11-04 01:50:16', NULL);
INSERT INTO `sys_dict_type` VALUES (141, '规则脚本语言', 'rule_script_language', '0', 'admin', '2023-11-04 01:50:06', '', NULL, NULL);
INSERT INTO `sys_dict_type` VALUES (149, '规则脚本事件', 'rule_script_event', '0', 'admin', '2023-12-19 11:33:48', '', NULL, '1=设备上报,2=平台下发,3=设备上线,4=设备离线');
INSERT INTO `sys_dict_type` VALUES (150, '规则脚本用途', 'rule_script_purpose', '0', 'admin', '2023-12-19 11:38:18', '', NULL, '1=数据流,2=触发器,3=执行动作');
INSERT INTO `sys_dict_type` VALUES (151, '规则脚本动作', 'rule_script_action', '0', 'admin', '2023-12-19 11:39:58', '', NULL, '1=消息重发,2=消息通知,3=Http推送,4=Mqtt桥接,5=数据库存储');
-- ----------------------------
-- 新增规则引擎相关字典数据
-- ----------------------------
INSERT INTO `sys_dict_data` VALUES (560, 1, '设备上报', '1', 'rule_script_event', NULL, 'primary', 'N', '0', 'admin', '2023-12-19 11:40:34', 'admin', '2023-12-20 02:23:43', NULL);
INSERT INTO `sys_dict_data` VALUES (561, 2, '平台下发', '2', 'rule_script_event', NULL, 'warning', 'N', '0', 'admin', '2023-12-19 11:40:46', 'admin', '2023-12-20 02:23:51', NULL);
INSERT INTO `sys_dict_data` VALUES (562, 3, '设备上线', '3', 'rule_script_event', NULL, 'success', 'N', '0', 'admin', '2023-12-19 11:40:58', 'admin', '2023-12-20 02:24:00', NULL);
INSERT INTO `sys_dict_data` VALUES (563, 4, '设备离线', '4', 'rule_script_event', NULL, 'info', 'N', '0', 'admin', '2023-12-19 11:41:09', 'admin', '2023-12-20 02:24:08', NULL);
INSERT INTO `sys_dict_data` VALUES (564, 1, '数据流', '1', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:39', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (565, 2, '触发器', '2', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:48', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (566, 3, '执行动作', '3', 'rule_script_purpose', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:41:59', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (567, 1, '消息重发', '1', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:42:26', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (568, 2, '消息通知', '2', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:18', 'admin', '2023-12-19 11:43:38', NULL);
INSERT INTO `sys_dict_data` VALUES (569, 3, 'Http推送', '3', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:33', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (570, 4, 'Mqtt桥接', '4', 'rule_script_action', NULL, 'default', 'N', '0', 'admin', '2023-12-19 11:43:54', '', NULL, NULL);
-- ----------------------------
-- 规则引擎相关菜单
-- ----------------------------
INSERT INTO `sys_menu` VALUES (3051, '规则引擎', 0, 4, 'ruleengine', NULL, NULL, 1, 0, 'M', '0', '0', '', 'channel', 'admin', '2023-07-03 21:22:19', 'admin', '2023-11-13 10:46:00', '');
INSERT INTO `sys_menu` VALUES (3055, '规则脚本', 3051, 2, 'script', 'iot/scene/script', NULL, 1, 0, 'C', '0', '0', 'iot/scene/script', 'code', 'admin', '2023-07-06 21:03:14', 'admin', '2024-01-19 00:24:37', '');
UPDATE `sys_menu` SET parent_id=3051,menu_name='场景联动' WHERE menu_id=2085;
INSERT INTO `sys_menu` VALUES (3147, '告警配置', 3051, 6, 'alert', 'iot/alert/index', NULL, 1, 0, 'C', '0', '0', 'iot:alert:list', 'alert', 'admin', '2023-11-12 10:58:01', 'admin', '2024-02-01 02:36:17', '');
UPDATE `sys_menu` SET parent_id=3051,menu_name='告警记录',component='iot/alert/log',perms='iot:alert:list',icon='log' WHERE menu_id=2067;
ALTER TABLE `iot_product`
ADD COLUMN `location_way` tinyint(1) NULL DEFAULT 1 COMMENT '定位方式(1=ip自动定位,2=设备定位,3=自定义)' AFTER `transport`;
-- ----------------------------
-- 权限整理修改,**注意注意**:不要直接执行以下sql,菜单的parent_id不一样,请先整理一下
-- ----------------------------
-- 产品模型
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('产品模型列表', 2043, 10, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:model:list', '#', 'admin', '2024-03-18 17:01:05', 'admin', '2024-03-18 17:01:17', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('产品模型详情', 2043, 11, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:model:query', '#', 'admin', '2024-03-18 17:01:05', 'admin', '2024-03-18 17:01:17', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('产品模型导入', 2043, 12, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:model:import', '#', 'admin', '2024-03-18 17:01:05', 'admin', '2024-03-18 17:01:17', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('产品模型新增', 2043, 13, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:model:add', '#', 'admin', '2024-03-18 17:01:05', 'admin', '2024-03-18 17:01:17', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('产品模型修改', 2043, 14, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:model:edit', '#', 'admin', '2024-03-18 17:01:05', 'admin', '2024-03-18 17:01:17', '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('产品模型删除', 2043, 15, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:model:remove', '#', 'admin', '2024-03-18 17:01:05', 'admin', '2024-03-18 17:01:17', '');
-- 删除设备详情按钮
delete
from sys_menu
where perms = 'iot:device:detail';
-- 设备定时
update sys_menu
set perms = 'iot:device:timer:list'
where perms = 'iot:device:timer';
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
('设备定时详情', 2148, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:timer:query', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('设备定时新增', 2148, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:timer:add', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('设备定时修改', 2148, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:timer:edit', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('设备定时执行', 2148, 4, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:timer:execute', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('设备定时导出', 2148, 5, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:timer:export', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('设备定时删除', 2148, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:timer:remove', '#', 'admin', '2024-03-19 11:18:22', '', NULL, '');
-- 设备用户
update sys_menu
set perms = 'iot:device:user:list',
menu_name = '设备用户列表'
where perms = 'iot:device:share';
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
('设备用户详情', 2147, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:user:query', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('分享设备', 2147, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:user:share', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('设备用户修改', 2147, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:user:edit', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('取消分享', 2147, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:user:remove', '#', 'admin', '2024-03-19 11:18:22', '', NULL, '');
-- 录像管理
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
('录像管理列表', 3099, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:sip:record:list', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('查看录像', 3099, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:sip:record:query', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('录像下载', 3099, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:sip:record:download', '#', 'admin', '2024-03-19 11:18:22', '', NULL, '');
-- 场景联动
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('场景联动执行', 2085, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:scene:run', '#', 'admin', '2024-03-19 16:15:22', '', NULL, '');
-- 字典管理
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('字典刷新', 105, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'system:dict:refresh', '#', 'admin', '2024-03-19 16:38:13', 'admin', '2024-03-19 16:38:35', '');
-- 参数设置
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('参数刷新', 106, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'system:config:refresh', '#', 'admin', '2024-03-19 16:40:31', '', NULL, '');
-- 三方登录
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES
('三方登录详情', 2141, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:platform:query', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('三方登录新增', 2141, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:platform:add', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('三方登录修改', 2141, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:platform:edit', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('三方登录导出', 2141, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:platform:export', '#', 'admin', '2024-03-19 11:18:22', '', NULL, ''),
('三方登录删除', 2141, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:platform:remove', '#', 'admin', '2024-03-19 11:18:22', '', NULL, '');
-- 定时任务
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('任务执行', 110, 8, '', NULL, NULL, 1, 0, 'F', '0', '0', 'monitor:job:run', '#', 'admin', '2024-03-19 17:05:29', '', NULL, '');
-- 缓存列表
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('缓存列表', 124, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'monitor:cache:list', '#', 'admin', '2024-03-19 17:09:49', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('缓存删除', 124, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'monitor:cache:remove', '#', 'admin', '2024-03-19 17:10:15', '', NULL, '');
-- 客户端
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('客户端列表', 3032, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:emqx:client:list', '#', 'admin', '2024-03-19 17:19:32', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('客户端踢出', 3032, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:emqx:client:remove', '#', 'admin', '2024-03-19 17:20:00', '', NULL, '');
-- 固件任务
update sys_menu
set parent_id = 3000
where menu_name = '固件任务'
-- 微信公众号字典
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, '微信开放平台公众号', 'wechat_open_public_account', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2024-03-08 17:56:56', '', NULL, '感谢您关注蜂信物联!');
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '微信公众号', 'public_account', 'notify_channel_wechat_provider', NULL, 'default', 'N', '0', 'admin', '2024-03-09 11:11:57', '', NULL, NULL);

File diff suppressed because one or more lines are too long

View File

@ -1,979 +0,0 @@
-- ----------------------------
-- 注意注意:以下部分sql重构了表结构,会清空部分表的数据,需要根据自己的系统进行调整
-- 更新前建议备份数据,数据丢失蜂信物联概不负责
-- ----------------------------
-- 机构表新加字段
ALTER TABLE `sys_dept`
ADD COLUMN `dept_user_id` bigint(20) NULL DEFAULT NULL COMMENT '机构系统账号ID',
ADD COLUMN `dept_type` tinyint(11) NULL DEFAULT NULL COMMENT '机构类型';
-- 删除 iot_device表 user_id 、user_name
ALTER TABLE `iot_device`
DROP COLUMN `user_id`,
DROP COLUMN `user_name`;
-- 新建设备分享表
CREATE TABLE `iot_device_share` (
`device_id` bigint NOT NULL COMMENT '设备id',
`user_id` bigint NOT NULL COMMENT '用户id',
`phonenumber` varchar(20) NULL COMMENT '手机',
`perms` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户物模型权限,多个以英文逗号分隔',
`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`device_id`, `user_id`),
INDEX `PRIMARK_DEVICE_USER`(`device_id`, `user_id`) USING BTREE COMMENT '设备与用户索引'
) COMMENT = '设备分享表';
-- 设备用户表删除字段
ALTER TABLE `iot_device_user`
DROP COLUMN `device_name`,
DROP COLUMN `user_name`,
DROP COLUMN `perms`,
DROP COLUMN `tenant_id`,
DROP COLUMN `tenant_name`,
DROP COLUMN `is_owner`;
-- 设备分享权限
INSERT INTO `sys_menu`(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('设备分享', 2007, 1, 'share', 'iot/share/index', NULL, 1, 0, 'C', '0', '0', 'iot:share:list', '#', 'admin', '2024-04-17 14:20:33', '', NULL, '设备分享菜单');
SELECT @parentId := LAST_INSERT_ID();
INSERT INTO `sys_menu`(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('设备分享用户', @parentId, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:share:user', '#', 'admin', '2024-05-09 09:38:07', '', NULL, '');
INSERT INTO `sys_menu`(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('设备分享查询', @parentId, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:share:query', '#', 'admin', '2024-04-17 14:20:33', '', NULL, '');
INSERT INTO `sys_menu`(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('设备分享新增', @parentId, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:share:add', '#', 'admin', '2024-04-17 14:20:33', '', NULL, '');
INSERT INTO `sys_menu`(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('设备分享修改', @parentId, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:share:edit', '#', 'admin', '2024-04-17 14:20:33', '', NULL, '');
INSERT INTO `sys_menu`(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('设备分享删除', @parentId, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:share:remove', '#', 'admin', '2024-04-17 14:20:33', '', NULL, '');
INSERT INTO `sys_menu`(`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('设备分享导出', @parentId, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'iot:share:export', '#', 'admin', '2024-04-17 14:20:33', '', NULL, '');
-- 产品表增加是否是私有产品
ALTER TABLE `iot_product`
ADD COLUMN `is_owner` tinyint(255) NULL DEFAULT NULL COMMENT '是否是私有产品(0-否,1-是)';
-- 告警表增加租户字段
ALTER TABLE iot_alert ADD COLUMN tenant_id bigint(20) NULL DEFAULT NULL COMMENT '租户id', ADD COLUMN tenant_name varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '租户名称';
-- 菜单表新增权限
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES ('设备分配', 2007, 10, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:assignment', '#', 'admin', '2024-04-10 09:40:59', '', NULL, '');
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES ('设备回收', 2007, 11, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:device:recovery', '#', 'admin', '2024-04-10 09:41:16', '', NULL, '');
-- 云云对接表增加租户字段
ALTER TABLE oauth_client_details ADD COLUMN tenant_id bigint(20) NOT NULL COMMENT '租户id',
ADD COLUMN tenant_name varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '租户名称';
-- 场景表增加区分终端用户表
ALTER TABLE `iot_scene` ADD COLUMN `terminal_user` tinyint(1) NULL DEFAULT 0 COMMENT '是否终端用户(1-是,0-不是)';
-- 大屏加租户字段
ALTER TABLE iot_goview_project ADD COLUMN tenant_id bigint(20) NULL DEFAULT NULL COMMENT '租户id', ADD COLUMN tenant_name varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '租户名称';
-- 机构类型枚举
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark) VALUES ('机构类型', 'department_type', '0', 'admin', '2024-02-29 11:38:14', '', NULL, NULL);
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (1, '厂商', '1', 'department_type', NULL, 'success', 'N', '0', 'admin', '2024-02-29 14:07:54', 'admin', '2024-03-20 11:55:36', '2,3,4');
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (2, '生产厂商', '2', 'department_type', NULL, 'primary', 'N', '0', 'admin', '2024-02-29 14:09:06', 'admin', '2024-03-20 11:55:45', '3,4');
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (2, '经销商', '3', 'department_type', NULL, 'warning', 'N', '0', 'admin', '2024-02-29 14:09:25', 'admin', '2024-03-20 11:55:52', '3,4');
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (4, '服务商', '4', 'department_type', NULL, 'info', 'N', '0', 'admin', '2024-02-29 14:09:34', 'admin', '2024-03-20 11:55:57', '4');
-- 新增企业管理菜单
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('企业管理', 0, 5, 'enterprise', NULL, '', 1, 0, 'M', '0', '0', '', 'authenticate', 'admin', '2021-12-15 21:36:18', 'admin', '2024-03-20 15:57:01', '企业管理目录');
SELECT @parentId := LAST_INSERT_ID();
update sys_menu
set parent_id = @parentId
where menu_name in ('用户管理','角色管理','菜单管理','部门管理');
update sys_menu
set menu_name = '机构管理'
where menu_name = '部门管理';
-- 刷新部门表数据
truncate table sys_dept;
INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `dept_user_id`, `dept_type`) VALUES (100, 0, '0', '蜂信物联', 0, 'FastBee', '15888888888', '164770707@qq.com', '0', '0', 'admin', '2021-12-15 21:36:18', 'admin', '2023-02-26 23:06:24', 1, 1);
update sys_user
set dept_id = 100
where user_id = 1;
-- 刷新角色部门表数据
truncate table sys_role_dept;
INSERT INTO `fastbee`.`sys_role_dept` (`role_id`, `dept_id`) VALUES (1, 100);
INSERT INTO `fastbee`.`sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 100);
INSERT INTO `fastbee`.`sys_role_dept` (`role_id`, `dept_id`) VALUES (3, 100);
INSERT INTO `fastbee`.`sys_role_dept` (`role_id`, `dept_id`) VALUES (4, 100);
INSERT INTO `fastbee`.`sys_role_dept` (`role_id`, `dept_id`) VALUES (5, 100);
INSERT INTO `fastbee`.`sys_role_dept` (`role_id`, `dept_id`) VALUES (6, 100);
-- 刷新角色菜单数据
delete from sys_role_menu
where role_id in (3,4);
-- 更新普通用户、游客角色权限
INSERT INTO `sys_role_menu` VALUES (3, 1);
INSERT INTO `sys_role_menu` VALUES (3, 4);
INSERT INTO `sys_role_menu` VALUES (3, 107);
INSERT INTO `sys_role_menu` VALUES (3, 1036);
INSERT INTO `sys_role_menu` VALUES (3, 2000);
INSERT INTO `sys_role_menu` VALUES (3, 2007);
INSERT INTO `sys_role_menu` VALUES (3, 2008);
INSERT INTO `sys_role_menu` VALUES (3, 2009);
INSERT INTO `sys_role_menu` VALUES (3, 2010);
INSERT INTO `sys_role_menu` VALUES (3, 2011);
INSERT INTO `sys_role_menu` VALUES (3, 2012);
INSERT INTO `sys_role_menu` VALUES (3, 2019);
INSERT INTO `sys_role_menu` VALUES (3, 2020);
INSERT INTO `sys_role_menu` VALUES (3, 2021);
INSERT INTO `sys_role_menu` VALUES (3, 2022);
INSERT INTO `sys_role_menu` VALUES (3, 2023);
INSERT INTO `sys_role_menu` VALUES (3, 2024);
INSERT INTO `sys_role_menu` VALUES (3, 2043);
INSERT INTO `sys_role_menu` VALUES (3, 2067);
INSERT INTO `sys_role_menu` VALUES (3, 2068);
INSERT INTO `sys_role_menu` VALUES (3, 2070);
INSERT INTO `sys_role_menu` VALUES (3, 2085);
INSERT INTO `sys_role_menu` VALUES (3, 2086);
INSERT INTO `sys_role_menu` VALUES (3, 2087);
INSERT INTO `sys_role_menu` VALUES (3, 2088);
INSERT INTO `sys_role_menu` VALUES (3, 2089);
INSERT INTO `sys_role_menu` VALUES (3, 2090);
INSERT INTO `sys_role_menu` VALUES (3, 2129);
INSERT INTO `sys_role_menu` VALUES (3, 2130);
INSERT INTO `sys_role_menu` VALUES (3, 2147);
INSERT INTO `sys_role_menu` VALUES (3, 2148);
INSERT INTO `sys_role_menu` VALUES (3, 2168);
INSERT INTO `sys_role_menu` VALUES (3, 2169);
INSERT INTO `sys_role_menu` VALUES (3, 2170);
INSERT INTO `sys_role_menu` VALUES (3, 2171);
INSERT INTO `sys_role_menu` VALUES (3, 2172);
INSERT INTO `sys_role_menu` VALUES (3, 3001);
INSERT INTO `sys_role_menu` VALUES (3, 3002);
INSERT INTO `sys_role_menu` VALUES (3, 3003);
INSERT INTO `sys_role_menu` VALUES (3, 3004);
INSERT INTO `sys_role_menu` VALUES (3, 3005);
INSERT INTO `sys_role_menu` VALUES (3, 3006);
INSERT INTO `sys_role_menu` VALUES (3, 3031);
INSERT INTO `sys_role_menu` VALUES (3, 3032);
INSERT INTO `sys_role_menu` VALUES (3, 3033);
INSERT INTO `sys_role_menu` VALUES (3, 3034);
INSERT INTO `sys_role_menu` VALUES (3, 3035);
INSERT INTO `sys_role_menu` VALUES (3, 3036);
INSERT INTO `sys_role_menu` VALUES (3, 3037);
INSERT INTO `sys_role_menu` VALUES (3, 3038);
INSERT INTO `sys_role_menu` VALUES (3, 3044);
INSERT INTO `sys_role_menu` VALUES (3, 3046);
INSERT INTO `sys_role_menu` VALUES (3, 3051);
INSERT INTO `sys_role_menu` VALUES (3, 3159);
INSERT INTO `sys_role_menu` VALUES (3, 3178);
INSERT INTO `sys_role_menu` VALUES (3, 3206);
INSERT INTO `sys_role_menu` VALUES (3, 3207);
INSERT INTO `sys_role_menu` VALUES (3, 3226);
INSERT INTO `sys_role_menu` VALUES (3, 3238);
INSERT INTO `sys_role_menu` VALUES (3, 3247);
INSERT INTO `sys_role_menu` VALUES (3, 3249);
INSERT INTO `sys_role_menu` VALUES (3, 3250);
INSERT INTO `sys_role_menu` VALUES (3, 3251);
INSERT INTO `sys_role_menu` VALUES (3, 3252);
INSERT INTO `sys_role_menu` VALUES (4, 1);
INSERT INTO `sys_role_menu` VALUES (4, 2);
INSERT INTO `sys_role_menu` VALUES (4, 3);
INSERT INTO `sys_role_menu` VALUES (4, 4);
INSERT INTO `sys_role_menu` VALUES (4, 100);
INSERT INTO `sys_role_menu` VALUES (4, 101);
INSERT INTO `sys_role_menu` VALUES (4, 102);
INSERT INTO `sys_role_menu` VALUES (4, 103);
INSERT INTO `sys_role_menu` VALUES (4, 104);
INSERT INTO `sys_role_menu` VALUES (4, 105);
INSERT INTO `sys_role_menu` VALUES (4, 106);
INSERT INTO `sys_role_menu` VALUES (4, 107);
INSERT INTO `sys_role_menu` VALUES (4, 108);
INSERT INTO `sys_role_menu` VALUES (4, 109);
INSERT INTO `sys_role_menu` VALUES (4, 110);
INSERT INTO `sys_role_menu` VALUES (4, 111);
INSERT INTO `sys_role_menu` VALUES (4, 112);
INSERT INTO `sys_role_menu` VALUES (4, 113);
INSERT INTO `sys_role_menu` VALUES (4, 114);
INSERT INTO `sys_role_menu` VALUES (4, 115);
INSERT INTO `sys_role_menu` VALUES (4, 116);
INSERT INTO `sys_role_menu` VALUES (4, 124);
INSERT INTO `sys_role_menu` VALUES (4, 500);
INSERT INTO `sys_role_menu` VALUES (4, 501);
INSERT INTO `sys_role_menu` VALUES (4, 1001);
INSERT INTO `sys_role_menu` VALUES (4, 1008);
INSERT INTO `sys_role_menu` VALUES (4, 1013);
INSERT INTO `sys_role_menu` VALUES (4, 1017);
INSERT INTO `sys_role_menu` VALUES (4, 1021);
INSERT INTO `sys_role_menu` VALUES (4, 1026);
INSERT INTO `sys_role_menu` VALUES (4, 1031);
INSERT INTO `sys_role_menu` VALUES (4, 1036);
INSERT INTO `sys_role_menu` VALUES (4, 1040);
INSERT INTO `sys_role_menu` VALUES (4, 1043);
INSERT INTO `sys_role_menu` VALUES (4, 1046);
INSERT INTO `sys_role_menu` VALUES (4, 1049);
INSERT INTO `sys_role_menu` VALUES (4, 1055);
INSERT INTO `sys_role_menu` VALUES (4, 2000);
INSERT INTO `sys_role_menu` VALUES (4, 2001);
INSERT INTO `sys_role_menu` VALUES (4, 2002);
INSERT INTO `sys_role_menu` VALUES (4, 2003);
INSERT INTO `sys_role_menu` VALUES (4, 2007);
INSERT INTO `sys_role_menu` VALUES (4, 2008);
INSERT INTO `sys_role_menu` VALUES (4, 2009);
INSERT INTO `sys_role_menu` VALUES (4, 2013);
INSERT INTO `sys_role_menu` VALUES (4, 2014);
INSERT INTO `sys_role_menu` VALUES (4, 2015);
INSERT INTO `sys_role_menu` VALUES (4, 2019);
INSERT INTO `sys_role_menu` VALUES (4, 2020);
INSERT INTO `sys_role_menu` VALUES (4, 2021);
INSERT INTO `sys_role_menu` VALUES (4, 2043);
INSERT INTO `sys_role_menu` VALUES (4, 2044);
INSERT INTO `sys_role_menu` VALUES (4, 2045);
INSERT INTO `sys_role_menu` VALUES (4, 2049);
INSERT INTO `sys_role_menu` VALUES (4, 2050);
INSERT INTO `sys_role_menu` VALUES (4, 2051);
INSERT INTO `sys_role_menu` VALUES (4, 2067);
INSERT INTO `sys_role_menu` VALUES (4, 2068);
INSERT INTO `sys_role_menu` VALUES (4, 2069);
INSERT INTO `sys_role_menu` VALUES (4, 2085);
INSERT INTO `sys_role_menu` VALUES (4, 2086);
INSERT INTO `sys_role_menu` VALUES (4, 2087);
INSERT INTO `sys_role_menu` VALUES (4, 2104);
INSERT INTO `sys_role_menu` VALUES (4, 2123);
INSERT INTO `sys_role_menu` VALUES (4, 2124);
INSERT INTO `sys_role_menu` VALUES (4, 2125);
INSERT INTO `sys_role_menu` VALUES (4, 2129);
INSERT INTO `sys_role_menu` VALUES (4, 2130);
INSERT INTO `sys_role_menu` VALUES (4, 2131);
INSERT INTO `sys_role_menu` VALUES (4, 2136);
INSERT INTO `sys_role_menu` VALUES (4, 2137);
INSERT INTO `sys_role_menu` VALUES (4, 2141);
INSERT INTO `sys_role_menu` VALUES (4, 2147);
INSERT INTO `sys_role_menu` VALUES (4, 2148);
INSERT INTO `sys_role_menu` VALUES (4, 2149);
INSERT INTO `sys_role_menu` VALUES (4, 2167);
INSERT INTO `sys_role_menu` VALUES (4, 2168);
INSERT INTO `sys_role_menu` VALUES (4, 2169);
INSERT INTO `sys_role_menu` VALUES (4, 2170);
INSERT INTO `sys_role_menu` VALUES (4, 2173);
INSERT INTO `sys_role_menu` VALUES (4, 2174);
INSERT INTO `sys_role_menu` VALUES (4, 2175);
INSERT INTO `sys_role_menu` VALUES (4, 2179);
INSERT INTO `sys_role_menu` VALUES (4, 2180);
INSERT INTO `sys_role_menu` VALUES (4, 2181);
INSERT INTO `sys_role_menu` VALUES (4, 3000);
INSERT INTO `sys_role_menu` VALUES (4, 3001);
INSERT INTO `sys_role_menu` VALUES (4, 3002);
INSERT INTO `sys_role_menu` VALUES (4, 3003);
INSERT INTO `sys_role_menu` VALUES (4, 3007);
INSERT INTO `sys_role_menu` VALUES (4, 3008);
INSERT INTO `sys_role_menu` VALUES (4, 3009);
INSERT INTO `sys_role_menu` VALUES (4, 3013);
INSERT INTO `sys_role_menu` VALUES (4, 3014);
INSERT INTO `sys_role_menu` VALUES (4, 3015);
INSERT INTO `sys_role_menu` VALUES (4, 3019);
INSERT INTO `sys_role_menu` VALUES (4, 3020);
INSERT INTO `sys_role_menu` VALUES (4, 3021);
INSERT INTO `sys_role_menu` VALUES (4, 3025);
INSERT INTO `sys_role_menu` VALUES (4, 3026);
INSERT INTO `sys_role_menu` VALUES (4, 3027);
INSERT INTO `sys_role_menu` VALUES (4, 3031);
INSERT INTO `sys_role_menu` VALUES (4, 3032);
INSERT INTO `sys_role_menu` VALUES (4, 3033);
INSERT INTO `sys_role_menu` VALUES (4, 3034);
INSERT INTO `sys_role_menu` VALUES (4, 3035);
INSERT INTO `sys_role_menu` VALUES (4, 3039);
INSERT INTO `sys_role_menu` VALUES (4, 3040);
INSERT INTO `sys_role_menu` VALUES (4, 3041);
INSERT INTO `sys_role_menu` VALUES (4, 3044);
INSERT INTO `sys_role_menu` VALUES (4, 3045);
INSERT INTO `sys_role_menu` VALUES (4, 3046);
INSERT INTO `sys_role_menu` VALUES (4, 3047);
INSERT INTO `sys_role_menu` VALUES (4, 3048);
INSERT INTO `sys_role_menu` VALUES (4, 3049);
INSERT INTO `sys_role_menu` VALUES (4, 3051);
INSERT INTO `sys_role_menu` VALUES (4, 3055);
INSERT INTO `sys_role_menu` VALUES (4, 3147);
INSERT INTO `sys_role_menu` VALUES (4, 3157);
INSERT INTO `sys_role_menu` VALUES (4, 3159);
INSERT INTO `sys_role_menu` VALUES (4, 3166);
INSERT INTO `sys_role_menu` VALUES (4, 3167);
INSERT INTO `sys_role_menu` VALUES (4, 3168);
INSERT INTO `sys_role_menu` VALUES (4, 3169);
INSERT INTO `sys_role_menu` VALUES (4, 3172);
INSERT INTO `sys_role_menu` VALUES (4, 3173);
INSERT INTO `sys_role_menu` VALUES (4, 3174);
INSERT INTO `sys_role_menu` VALUES (4, 3175);
INSERT INTO `sys_role_menu` VALUES (4, 3176);
INSERT INTO `sys_role_menu` VALUES (4, 3178);
INSERT INTO `sys_role_menu` VALUES (4, 3179);
INSERT INTO `sys_role_menu` VALUES (4, 3180);
INSERT INTO `sys_role_menu` VALUES (4, 3181);
INSERT INTO `sys_role_menu` VALUES (4, 3184);
INSERT INTO `sys_role_menu` VALUES (4, 3185);
INSERT INTO `sys_role_menu` VALUES (4, 3186);
INSERT INTO `sys_role_menu` VALUES (4, 3187);
INSERT INTO `sys_role_menu` VALUES (4, 3189);
INSERT INTO `sys_role_menu` VALUES (4, 3190);
INSERT INTO `sys_role_menu` VALUES (4, 3191);
INSERT INTO `sys_role_menu` VALUES (4, 3192);
INSERT INTO `sys_role_menu` VALUES (4, 3196);
INSERT INTO `sys_role_menu` VALUES (4, 3197);
INSERT INTO `sys_role_menu` VALUES (4, 3198);
INSERT INTO `sys_role_menu` VALUES (4, 3199);
INSERT INTO `sys_role_menu` VALUES (4, 3200);
INSERT INTO `sys_role_menu` VALUES (4, 3202);
INSERT INTO `sys_role_menu` VALUES (4, 3203);
INSERT INTO `sys_role_menu` VALUES (4, 3204);
INSERT INTO `sys_role_menu` VALUES (4, 3205);
INSERT INTO `sys_role_menu` VALUES (4, 3206);
INSERT INTO `sys_role_menu` VALUES (4, 3207);
INSERT INTO `sys_role_menu` VALUES (4, 3208);
INSERT INTO `sys_role_menu` VALUES (4, 3210);
INSERT INTO `sys_role_menu` VALUES (4, 3211);
INSERT INTO `sys_role_menu` VALUES (4, 3212);
INSERT INTO `sys_role_menu` VALUES (4, 3213);
INSERT INTO `sys_role_menu` VALUES (4, 3214);
INSERT INTO `sys_role_menu` VALUES (4, 3217);
INSERT INTO `sys_role_menu` VALUES (4, 3218);
INSERT INTO `sys_role_menu` VALUES (4, 3219);
INSERT INTO `sys_role_menu` VALUES (4, 3220);
INSERT INTO `sys_role_menu` VALUES (4, 3223);
INSERT INTO `sys_role_menu` VALUES (4, 3224);
INSERT INTO `sys_role_menu` VALUES (4, 3225);
INSERT INTO `sys_role_menu` VALUES (4, 3226);
INSERT INTO `sys_role_menu` VALUES (4, 3229);
INSERT INTO `sys_role_menu` VALUES (4, 3230);
INSERT INTO `sys_role_menu` VALUES (4, 3231);
INSERT INTO `sys_role_menu` VALUES (4, 3232);
INSERT INTO `sys_role_menu` VALUES (4, 3235);
INSERT INTO `sys_role_menu` VALUES (4, 3236);
INSERT INTO `sys_role_menu` VALUES (4, 3237);
INSERT INTO `sys_role_menu` VALUES (4, 3238);
INSERT INTO `sys_role_menu` VALUES (4, 3239);
INSERT INTO `sys_role_menu` VALUES (4, 3240);
INSERT INTO `sys_role_menu` VALUES (4, 3243);
INSERT INTO `sys_role_menu` VALUES (4, 3244);
INSERT INTO `sys_role_menu` VALUES (4, 3249);
INSERT INTO `sys_role_menu` VALUES (4, 3250);
INSERT INTO `sys_role_menu` VALUES (4, 3251);
INSERT INTO `sys_role_menu` VALUES (4, 3252);
INSERT INTO `sys_role_menu` VALUES (4, 3253);
INSERT INTO `sys_role_menu` VALUES (4, 3256);
INSERT INTO `sys_role_menu` VALUES (4, 3269);
INSERT INTO `sys_role_menu` VALUES (4, 3270);
INSERT INTO `sys_role_menu` VALUES (4, 3271);
INSERT INTO `sys_role_menu` VALUES (4, 3277);
-- 删除视频配置表字段
ALTER TABLE `sip_config`
DROP COLUMN `tenant_id`,
DROP COLUMN `tenant_name`;
-- 更新老数据绑定到管理员账户
update iot_goview_project
set tenant_id = 1,
tenant_name = 'admin';
update iot_scene
set user_id = 1,
user_name = 'admin';
update iot_script
set user_id = 1,
user_name = 'admin';
update iot_alert
set tenant_id = 1,
tenant_name = 'admin';
update iot_alert_log
set user_id = 1;
update oauth_client_details
set tenant_id = 1,
tenant_name = 'admin';
update sys_user
set dept_id = 100;
-- 此机构为web端注册用户绑定机构,其中dept_id必须为101,后端写死的
INSERT INTO `sys_dept` (`dept_id`, `dept_user_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `email`, `dept_type`)
VALUES (101, 0, 100, '0,100', 'web端注册用户归属机构', 0, 'fastbee-web', '15888888885', '0', '0', 'admin', '2024-05-08 16:35:48', 'admin', '2024-05-08 16:36:15', NULL, 2);
-- 新增web端注册用户绑定机构
INSERT INTO `sys_role` (`role_name`, `role_key`, `role_sort`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('管理员', 'manager', 1, '1', 0, 0, '0', '0', '', '2024-05-08 16:35:49', '', NULL, NULL);
SELECT @parentId := LAST_INSERT_ID();
INSERT INTO `sys_role_menu` VALUES (@parentId, 3);
INSERT INTO `sys_role_menu` VALUES (@parentId, 4);
INSERT INTO `sys_role_menu` VALUES (@parentId, 5);
INSERT INTO `sys_role_menu` VALUES (@parentId, 100);
INSERT INTO `sys_role_menu` VALUES (@parentId, 101);
INSERT INTO `sys_role_menu` VALUES (@parentId, 103);
INSERT INTO `sys_role_menu` VALUES (@parentId, 114);
INSERT INTO `sys_role_menu` VALUES (@parentId, 115);
INSERT INTO `sys_role_menu` VALUES (@parentId, 116);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1001);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1002);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1003);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1004);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1005);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1006);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1007);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1008);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1009);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1010);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1011);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1012);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1017);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1018);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1019);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1020);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1055);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1056);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1057);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1058);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1059);
INSERT INTO `sys_role_menu` VALUES (@parentId, 1060);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2000);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2001);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2002);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2003);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2006);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2007);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2008);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2009);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2010);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2011);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2012);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2013);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2014);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2015);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2016);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2017);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2018);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2019);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2020);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2021);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2022);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2023);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2024);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2043);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2044);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2045);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2046);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2047);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2048);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2049);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2050);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2051);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2054);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2067);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2068);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2069);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2070);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2071);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2072);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2085);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2086);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2087);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2088);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2089);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2090);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2099);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2100);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2101);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2102);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2103);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2104);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2105);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2106);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2107);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2108);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2109);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2111);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2112);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2136);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2137);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2138);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2139);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2140);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2143);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2144);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2145);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2146);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2147);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2148);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2149);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2167);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2168);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2169);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2170);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2171);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2172);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2173);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2174);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2175);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2176);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2177);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2178);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2179);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2180);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2181);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2182);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2183);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2184);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3000);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3001);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3002);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3003);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3004);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3005);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3006);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3007);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3008);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3009);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3010);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3011);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3012);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3013);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3014);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3015);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3016);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3017);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3018);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3019);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3020);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3021);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3022);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3023);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3024);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3025);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3026);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3027);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3028);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3029);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3030);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3031);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3032);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3033);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3034);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3035);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3036);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3037);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3038);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3039);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3040);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3041);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3042);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3043);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3044);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3046);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3047);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3048);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3049);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3051);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3052);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3055);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3099);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3100);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3102);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3103);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3104);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3105);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3106);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3107);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3108);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3109);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3110);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3111);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3112);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3113);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3114);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3115);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3116);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3117);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3147);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3148);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3149);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3150);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3151);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3152);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3153);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3154);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3155);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3156);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3157);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3158);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3159);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3160);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3161);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3162);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3163);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3164);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3165);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3166);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3167);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3168);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3169);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3170);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3171);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3172);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3173);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3174);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3175);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3176);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3177);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3178);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3179);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3180);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3181);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3182);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3183);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3184);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3185);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3186);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3187);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3188);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3189);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3190);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3191);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3197);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3198);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3199);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3200);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3201);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3202);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3203);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3204);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3205);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3206);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3207);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3208);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3209);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3210);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3211);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3214);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3215);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3216);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3217);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3218);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3219);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3220);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3221);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3222);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3223);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3224);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3225);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3226);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3237);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3238);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3239);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3240);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3247);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3248);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3249);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3250);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3251);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3252);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3253);
INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (@parentId, 101);
INSERT INTO `sys_user` (`dept_id`, `user_name`, `nick_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `status`, `del_flag`, `login_ip`, `login_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (101, 'fastbee-web', 'fastbee-web', '00', '', '15888888885', '0', '', '$2a$10$nwso5Yvdl6pfntn/wuz0MO6BqKTybKXdtb3f326XR8XRVaoD5OTYm', '0', '0', '', NULL, '', '2024-05-08 16:35:49', '', NULL, NULL);
SELECT @parentId := LAST_INSERT_ID();
update sys_dept
set dept_user_id = @parentId
where dept_id = 101;
INSERT INTO `sys_user_role`(`user_id`, `role_id`)
VALUES (@parentId, (select rd.role_id from sys_dept d left join sys_role_dept rd on d.dept_id = rd.dept_id where d.dept_id = 101));
-- web端注册用户绑定角色,其中role_key必须为general,后端代码里写死的
INSERT INTO `sys_role` (`role_name`, `role_key`, `role_sort`, `data_scope`, `menu_check_strictly`, `dept_check_strictly`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('web端注册用户', 'general', 0, '1', 1, 1, '0', '0', 'fastbee-web', '2024-05-08 16:55:16', '', NULL, NULL);
SELECT @parentId := LAST_INSERT_ID();
INSERT INTO `sys_role_menu` VALUES (@parentId, 2000);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2007);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2008);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2009);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2010);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2011);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2012);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2013);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2014);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2015);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2016);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2017);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2018);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2019);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2020);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2021);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2043);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2044);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2147);
INSERT INTO `sys_role_menu` VALUES (@parentId, 2148);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3000);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3001);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3002);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3003);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3007);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3008);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3013);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3014);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3015);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3016);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3017);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3018);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3019);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3020);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3021);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3022);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3023);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3024);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3025);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3026);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3027);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3028);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3029);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3030);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3033);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3034);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3035);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3039);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3040);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3041);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3042);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3043);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3044);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3206);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3207);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3208);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3209);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3210);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3214);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3215);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3216);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3217);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3218);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3219);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3220);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3221);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3222);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3247);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3248);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3249);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3250);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3251);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3252);
INSERT INTO `sys_role_menu` VALUES (@parentId, 3253);
INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (@parentId, 101);
-- 新增设备联动、终端用户菜单,需自行修改parent_id
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('设备联动', 2000, 7, 'linkage', 'iot/device/device-linkage', NULL, 1, 0, 'C', '0', '0', NULL, 'tree-table', 'admin', '2024-05-10 17:54:12', '', NULL, '');
INSERT INTO `sys_menu` (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('终端用户', 5, 5, 'terminal', 'system/terminalUser/index', NULL, 1, 0, 'C', '0', '0', NULL, 'build', 'admin', '2024-05-10 17:55:00', '', NULL, '');
-- 修复小程序头像修改字段超长问题
ALTER TABLE `sys_user`
MODIFY COLUMN `avatar` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '头像地址';
-- 设备新增告警表
-- 新增设备告警用户配置表
DROP TABLE IF EXISTS `iot_device_alert_user`;
CREATE TABLE `iot_device_alert_user` (
`device_id` bigint(20) NOT NULL COMMENT '设备id',
`user_id` bigint(20) NOT NULL COMMENT '用户id',
PRIMARY KEY (`device_id`,`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='设备告警用户表';
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('告警用户', '2007', '1', 'user', 'iot/device/alert/user', 1, 0, 'C', '0', '0', 'iot:device:alert:user:list', '#', 'admin', sysdate(), '', null, '设备告警用户菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('告警用户查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'iot:device:alert:user:query', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('告警用户新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'iot:device:alert:user:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('告警用户删除', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'iot:device:alert:user:remove', '#', 'admin', sysdate(), '', null, '');
-- 设备告警记录更改一下菜单权限标识,menu_id请自行修改,或者直接在菜单改就行了
update sys_menu
set perms = 'iot:alertLog:list'
where menu_id = 2067;
update sys_menu
set perms = 'iot:alertLog:query'
where menu_id = 2068;
update sys_menu
set perms = 'iot:alertLog:add'
where menu_id = 2069;
update sys_menu
set perms = 'iot:alertLog:edit'
where menu_id = 2070;
update sys_menu
set perms = 'iot:alertLog:remove'
where menu_id = 2071;
update sys_menu
set perms = 'iot:alertLog:export'
where menu_id = 2072;
-- ----------------------------
-- Table structure for oss_config
-- ----------------------------
DROP TABLE IF EXISTS `oss_config`;
CREATE TABLE `oss_config`
(
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
`tenant_id` bigint(20) NOT NULL DEFAULT 1 COMMENT '租户ID',
`tenant_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '租户名称',
`config_key` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '配置key',
`access_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'accessKey',
`secret_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '秘钥',
`bucket_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '桶名称',
`prefix` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT'前缀',
`endpoint` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '访问站点',
`domain` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '自定义域名',
`is_https` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N' COMMENT '是否https(Y=是,N=否)',
`region` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '域',
`access_policy` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '桶权限类型(0=private 1=public 2=custom)',
`status` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' COMMENT '是否默认(0=是,1=否)',
`ext1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '扩展字段',
`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NOT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 1
CHARACTER SET = utf8
COLLATE = utf8_general_ci COMMENT = '对象存储配置表'
ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of oss_config
-- ----------------------------
insert into oss_config values (1, 1, 'admin', 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'fastbee','', 'oss-cn-beijing.aliyuncs.com', '','N', '','0' ,'0', '', '0', '', '2023-02-25 23:15:57', '', NULL, NULL);
insert into oss_config values (2, 1, 'admin', 'qiniu', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'fastbee','', 's3-cn-north-1.qiniucs.com', '','N', '','1' ,'1', '', '0', '', '2023-02-25 23:15:57', '', NULL, NULL);
-- ----------------------------
-- Table structure for oss_detail
-- ----------------------------
DROP TABLE IF EXISTS `oss_detail`;
CREATE TABLE `oss_detail`
(
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '文件id',
`tenant_id` bigint(20) NOT NULL DEFAULT 1 COMMENT '租户ID',
`tenant_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '租户名称',
`file_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '文件名',
`original_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '原名',
`file_suffix` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '文件后缀名',
`url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'URL地址',
`service` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'aliyun' COMMENT '服务商',
`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NOT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 1
CHARACTER SET = utf8
COLLATE = utf8_general_ci COMMENT = '文件记录表'
ROW_FORMAT = Dynamic;
-- 文件记录菜单SQL
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件记录', 3046, 4, 'detail', 'system/oss/index', NULL, 1, 0, 'C', '0', '0', 'oss:detail:list', 'documentation', 'admin', sysdate(), '', null, '文件记录菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 文件记录按钮SQL
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件记录查询', @parentId, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'oss:detail:query', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件记录新增', @parentId, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'oss:detail:add', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件记录修改', @parentId, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'oss:detail:edit', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件记录删除', @parentId, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'oss:detail:remove', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件记录导出', @parentId, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'oss:detail:export', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件存储配置新增', @parentId, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'oss:config:add', '#', 'admin', sysdate(), 'admin', null, '');
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件存储配置修改', @parentId, 7, '', NULL, NULL, 1, 0, 'F', '0', '0', 'oss:config:edit', '#', 'admin', sysdate(), '', NULL, '');
INSERT INTO sys_menu (`menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES ('文件存储配置删除', @parentId, 8, '', NULL, NULL, 1, 0, 'F', '0', '0', 'oss:config:remove', '#', 'admin', sysdate(), '', NULL, '');

File diff suppressed because it is too large Load Diff

View File

@ -1,284 +0,0 @@
-- ----------------------------
-- 创建告警表
-- ----------------------------
DROP TABLE IF EXISTS `iot_alert`;
CREATE TABLE `iot_alert` (
`alert_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '告警ID',
`alert_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '告警名称',
`alert_level` tinyint(11) NOT NULL COMMENT '告警级别(1=提醒通知,2=轻微问题,3=严重警告)',
`product_id` bigint(20) NOT NULL COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '产品名称',
`actions` json NOT NULL COMMENT '执行动作',
`status` tinyint(1) NULL DEFAULT NULL COMMENT '告警状态(1-启动,2-停止)',
`message_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '消息通知类型[1,2,3],1=设备告警,2=短信通知,3=移动端推送',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`alert_id`) USING BTREE,
INDEX `iot_alert_index_product_id`(`product_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 49 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备告警' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 创建告警日志表
-- ----------------------------
DROP TABLE IF EXISTS `iot_alert_log`;
CREATE TABLE `iot_alert_log` (
`alert_log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '告警ID',
`alert_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '告警名称',
`alert_level` tinyint(11) NOT NULL COMMENT '告警级别(1=提醒通知,2=轻微问题,3=严重警告)',
`status` tinyint(11) NOT NULL COMMENT '处理状态(1=不需要处理,2=未处理,3=已处理)',
`serial_number` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备编号',
`product_id` bigint(20) NOT NULL COMMENT '产品ID',
`detail` json NULL COMMENT '告警详情(对应物模型)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`alert_log_id`) USING BTREE,
INDEX `iot_alert_log_index_serial_number`(`serial_number`) USING BTREE,
INDEX `iot_alert_log_index_product_id`(`product_id`) USING BTREE,
INDEX `iot_alert_log_index_create_time`(`create_time`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 149279 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备告警日志' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 创建告警触发器表
-- ----------------------------
DROP TABLE IF EXISTS `iot_alert_trigger`;
CREATE TABLE `iot_alert_trigger` (
`alert_trigger_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '告警触发器ID',
`alert_id` bigint(20) NOT NULL COMMENT '场景ID',
`status` tinyint(1) NOT NULL COMMENT '告警状态(1-启动,2-停止)',
`source` tinyint(1) NOT NULL COMMENT '触发源(1=设备触发,2=定时触发)',
`id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型标识符',
`name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型名称',
`value` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型值',
`operator` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作符',
`type` tinyint(1) NULL DEFAULT NULL COMMENT '物模型类别(1=属性,2=功能,3=事件,4=设备升级,5=设备上线,6=设备下线)',
`product_id` bigint(20) NULL DEFAULT NULL COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品名称',
`job_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID',
`cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'cron执行表达式',
`is_advance` tinyint(1) NULL DEFAULT NULL COMMENT '是否详细corn表达式(1=是,0=否)',
PRIMARY KEY (`alert_trigger_id`) USING BTREE,
INDEX `iot_alert_trigger_index_alert_id`(`alert_id`) USING BTREE,
INDEX `iot_alert_trigger_index_product_id`(`product_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 193 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '告警触发器' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 创建场景联动表
-- ----------------------------
DROP TABLE IF EXISTS `iot_scene`;
CREATE TABLE `iot_scene` (
`scene_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '场景ID',
`scene_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '场景名称',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`user_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名称',
`actions` json NOT NULL COMMENT '执行动作',
`status` tinyint(1) NULL DEFAULT NULL COMMENT '场景状态(1-启动,2-停止)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`scene_id`) USING BTREE,
INDEX `iot_scene_index_user_id`(`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 70 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '场景联动' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 创建场景联动触发器表
-- ----------------------------
DROP TABLE IF EXISTS `iot_scene_trigger`;
CREATE TABLE `iot_scene_trigger` (
`scene_trigger_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '场景触发器ID',
`scene_id` bigint(20) NOT NULL COMMENT '所属场景ID',
`status` tinyint(1) NOT NULL COMMENT '告警状态(1-启动,2-停止)',
`source` tinyint(1) NOT NULL COMMENT '触发源(1=设备触发,2=定时触发)',
`id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型标识符',
`name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型名称',
`value` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物模型值',
`operator` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作符',
`type` tinyint(1) NULL DEFAULT NULL COMMENT '物模型类别(1=属性,2=功能,3=事件,4=设备升级,5=设备上线,6=设备下线)',
`device_id` bigint(20) NULL DEFAULT NULL COMMENT '设备ID',
`device_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设备名称',
`serial_number` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设备编号',
`product_id` bigint(20) NULL DEFAULT NULL COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品名称',
`job_id` bigint(20) NULL DEFAULT NULL COMMENT '任务ID',
`cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'cron执行表达式',
`is_advance` tinyint(1) NULL DEFAULT NULL COMMENT '是否详细corn表达式(1=是,0=否)',
PRIMARY KEY (`scene_trigger_id`) USING BTREE,
INDEX `iot_scene_trigger_index_scene_id`(`scene_id`) USING BTREE,
INDEX `iot_scene_trigger_index_device_id`(`device_id`) USING BTREE,
INDEX `iot_scene_trigger_index_serial_number`(`serial_number`) USING BTREE,
INDEX `iot_scene_trigger_index_product_id`(`product_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 213 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '场景联动触发器' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 创建视频设备表
-- ----------------------------
DROP TABLE IF EXISTS `sip_device`;
CREATE TABLE `sip_device`(
`device_id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '设备ID',
`device_sip_id` varchar(64) NOT NULL COMMENT '设备sip_id',
`device_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '设备名称',
`product_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品名称',
`manufacturer` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '厂商名称',
`model` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品型号',
`firmware` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '固件版本',
`transport` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'UDP' COMMENT '传输模式',
`streamMode` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'UDP' COMMENT '流模式',
`online` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '在线状态',
`registerTimeMillis` bigint(20) NOT NULL COMMENT '注册时间',
`ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备入网IP',
`port` bigint(10) NULL DEFAULT NULL COMMENT '设备接入端口号',
`hostAddress` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备地址',
PRIMARY KEY(`device_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '监控设备' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 创建视频设备通道
-- ----------------------------
DROP TABLE IF EXISTS `sip_device_channel`;
CREATE TABLE `sip_device_channel` (
`channel_id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '通道ID',
`channel_sip_id` varchar(64) NOT NULL COMMENT '通道SipID',
`device_sip_id` varchar(64) NOT NULL COMMENT '设备sip_id',
`channel_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '通道名称',
`manufacture` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '厂商名称',
`model` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品型号',
`owner` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '设备归属',
`civilCode` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '行政区域',
`block` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '警区',
`address` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '安装地址',
`parentId` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '父级id',
`ipAddress` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL DEFAULT '' COMMENT '设备入网IP',
`port` bigint(10) NULL DEFAULT 0 COMMENT '设备接入端口号',
`password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '密码',
`PTZType` bigint(20) NOT NULL DEFAULT 0 COMMENT 'PTZ类型',
`PTZTypeText` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'PTZ类型描述字符串',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '设备状态(1-未激活,2-禁用,3-在线,4-离线)',
`longitude` double(11, 6) NULL DEFAULT NULL COMMENT '设备经度',
`latitude` double(11, 6) NULL DEFAULT NULL COMMENT '设备纬度',
`streamId` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '流媒体ID',
`subCount` bigint(20) NOT NULL DEFAULT 0 COMMENT '子设备数',
`parental` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否有子设备(1-有, 0-没有)',
`hasAudio` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否含有音频(1-有, 0-没有)',
PRIMARY KEY(`channel_id`,`device_sip_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '监控设备通道信息' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 创建可视化项目表
-- ----------------------------
DROP TABLE IF EXISTS `iot_goview_project`;
CREATE TABLE `iot_goview_project` (
`id` varchar(50) NOT NULL COMMENT '主键',
`project_name` varchar(255) NOT NULL COMMENT '项目名称',
`state` int(1) NOT NULL DEFAULT '0' COMMENT '项目状态[0未发布,1发布]',
`index_image` varchar(255) DEFAULT NULL COMMENT '首页图片',
`del_flag` int(11) NOT NULL DEFAULT '0' COMMENT '删除状态[1删除,-1未删除]',
`create_time` datetime NOT NULL COMMENT '创建时间',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人id',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remarks` varchar(255) DEFAULT NULL COMMENT '项目介绍',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='项目表';
-- ----------------------------
-- 创建可视化项目数据表
-- ----------------------------
DROP TABLE IF EXISTS `iot_goview_project_data`;
CREATE TABLE `iot_goview_project_data` (
`id` varchar(50) NOT NULL COMMENT '主键',
`project_id` varchar(50) NOT NULL COMMENT '项目id',
`content` longblob COMMENT '存储数据',
`create_time` datetime NOT NULL COMMENT '创建时间',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人id',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='项目数据关联表';
-- ----------------------------
-- 更新设备定时任务表结构
-- ----------------------------
alter table `iot_device_job` modify column device_id bigint(20) NULL DEFAULT NULL COMMENT '设备ID';
alter table `iot_device_job` modify column product_id bigint(20) NULL DEFAULT NULL COMMENT '产品ID';
alter table `iot_device_job` modify column product_name varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品名称';
alter table `iot_device_job` add `alert_trigger` json NULL COMMENT '定时告警触发器';
-- ----------------------------
-- 更新设备日志表结构
-- ----------------------------
alter table `iot_device_log` modify column device_id bigint(20) NULL DEFAULT NULL COMMENT '设备ID';
alter table `iot_device_log` modify column device_name varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设备名称';
alter table `iot_device_log` modify column user_id bigint(20) NULL DEFAULT NULL COMMENT '用户ID';
alter table `iot_device_log` modify column user_name varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户昵称';
alter table `iot_device_log` modify column tenant_id bigint(20) NULL DEFAULT NULL COMMENT '租户ID';
alter table `iot_device_log` modify column tenant_name varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '租户名称';
-- ----------------------------
-- 更新通用物模型和产品模型表结构并设置默认值
-- ----------------------------
alter table `iot_things_model` add `model_order` int(10) NULL DEFAULT 0 COMMENT '排序,值越大,排序越靠前';
alter table `iot_things_model` add `is_readonly` tinyint(1) NULL DEFAULT 0 COMMENT '是否只读数据(0-否,1-是)';
alter table `iot_things_model_template` add `model_order` int(10) NULL DEFAULT 0 COMMENT '排序,值越大,排序越靠前';
alter table `iot_things_model_template` add `is_readonly` tinyint(1) NULL DEFAULT 0 COMMENT '是否只读数据(0-否,1-是)';
update `iot_things_model_template` set is_readonly=1 , model_order=1;
update `iot_things_model` set is_readonly=1 , model_order=1;
-- ----------------------------
-- 新增视频监控菜单
-- ----------------------------
INSERT INTO `sys_menu` VALUES (2150, '监控设备', 2000, 10, 'iot/sip/index', 'iot/sip/index', NULL, 1, 0, 'C', '0', '0', 'sip:device:list', 'channel', 'admin', '2022-10-24 16:36:07', 'admin', '2022-10-24 16:38:07', '');
INSERT INTO `sys_menu` VALUES (2151, '设备通道', 2000, 11, 'iot/sip/channel', 'iot/sip/channel', '', 1, 0, 'C', '0', '0', 'sip:channel:list', 'live', 'admin', '2022-10-24 16:39:05', 'admin', '2022-10-24 16:39:48', '');
-- ----------------------------
-- 创建外键索引
-- ----------------------------
alter table `iot_category` add INDEX `iot_category_index_tenant_id`(`tenant_id`) USING BTREE;
alter table `iot_category` add INDEX `iot_category_index_parent_id`(`parent_id`) USING BTREE;
alter table `iot_device` add INDEX `iot_device_index_product_id`(`product_id`) USING BTREE;
alter table `iot_device` add INDEX `iot_device_index_tanant_id`(`tenant_id`) USING BTREE;
alter table `iot_device` add INDEX `iot_device_index_user_id`(`user_id`) USING BTREE;
alter table `iot_device` add INDEX `iot_device_index_create_time`(`create_time`) USING BTREE;
alter table `iot_device` add UNIQUE INDEX `iot_device_index_serial_number`(`serial_number`) USING BTREE;
alter table `iot_device_job` add INDEX `iot_device_job_index_device_id`(`device_id`) USING BTREE;
alter table `iot_device_job` add INDEX `iot_device_job_index_product_id`(`product_id`) USING BTREE;
alter table `iot_device_job` add INDEX `iot_device_job_index_scene_id`(`scene_id`) USING BTREE;
alter table `iot_device_job` add INDEX `iot_device_job_index_alert_id`(`alert_id`) USING BTREE;
alter table `iot_device_job` add INDEX `iot_device_job_index_serial_number`(`serial_number`) USING BTREE;
alter table `iot_device_log` add INDEX `iot_device_log_index_serial_number`(`serial_number`) USING BTREE;
alter table `iot_device_log` add INDEX `iot_device_log_index_tenant_id`(`tenant_id`) USING BTREE;
alter table `iot_device_log` add INDEX `iot_device_log_index_user_id`(`user_id`) USING BTREE;
alter table `iot_device_log` add INDEX `iot_device_log_index_device_id`(`device_id`) USING BTREE;
alter table `iot_device_user` add INDEX `iot_device_user_index_user_id`(`user_id`) USING BTREE;
alter table `iot_device_user` add INDEX `iot_device_user_index_tenant_id`(`tenant_id`) USING BTREE;
alter table `iot_firmware` add INDEX `iot_firmware_index_product_id`(`product_id`) USING BTREE;
alter table `iot_firmware` add INDEX `iot_firmware_index_tenant_id`(`tenant_id`) USING BTREE;
alter table `iot_product` add INDEX `iot_product_index_category_id`(`category_id`) USING BTREE;
alter table `iot_product` add INDEX `iot_product_index_tenant_id`(`tenant_id`) USING BTREE;
alter table `iot_product_authorize` add INDEX `iot_product_authorize_index_product_id`(`product_id`) USING BTREE;
alter table `iot_product_authorize` add INDEX `iot_product_authorize_index_device_id`(`device_id`) USING BTREE;
alter table `iot_product_authorize` add INDEX `iot_product_authorize_index_serial_number`(`serial_number`) USING BTREE;
alter table `iot_product_authorize` add INDEX `iot_product_authorize_index_user_id`(`user_id`) USING BTREE;
alter table `iot_things_model` add INDEX `iot_things_model_index_product_id`(`product_id`) USING BTREE;
alter table `iot_things_model` add INDEX `iot_things_model_index_tenant_id`(`tenant_id`) USING BTREE;
alter table `iot_things_model` add INDEX `iot_things_model_index_model_order`(`model_order`) USING BTREE;
alter table `iot_things_model_template` add INDEX `iot_things_model_template_index_tenant_id`(`tenant_id`) USING BTREE;
alter table `iot_things_model_template` add INDEX `iot_things_model_template_index_model_order`(`model_order`) USING BTREE;
alter table `news` add INDEX `news_index_category_id`(`category_id`) USING BTREE;
alter table `iot_group` add INDEX `iot_group_index_user_id`(`user_id`) USING BTREE;

View File

@ -1,193 +0,0 @@
-- ----------------------------
-- 创建流媒体配置表
-- ----------------------------
DROP TABLE IF EXISTS `media_server`;
CREATE TABLE `media_server` (
`id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '流媒体配置ID',
`tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
`tenant_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '租户名称',
`enabled` tinyint(1) NULL DEFAULT NULL COMMENT '使能开关',
`protocol` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '默认播放协议',
`ip` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '服务器ip',
`domain` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '服务器域名',
`secret` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '流媒体密钥',
`port_http` int(11) NOT NULL DEFAULT 0 COMMENT 'http端口',
`port_ws` int(11) NOT NULL DEFAULT 0 COMMENT 'ws端口',
`port_rtmp` int(11) NOT NULL DEFAULT 0 COMMENT 'rtmp端口',
`port_rtsp` int(11) NOT NULL DEFAULT 0 COMMENT 'rtsp端口',
`rtp_port_range` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'rtp端口范围',
`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NOT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '流媒体服务器配置' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 新增流媒体配置记录
-- ----------------------------
INSERT INTO `media_server` VALUES (1, 1, 'admin', 1, 'https', '1.1.1.1', 'fastbee', '035c73f7-bb6b-4889-a715-d9eb2d192xxx', 8082, 8082, 1935, 554, '30000,30100', '0', '', '2021-12-29 13:12:42', '', '2023-02-26 22:35:09', 'admin');
-- ----------------------------
-- 新增SIP配置表
-- ----------------------------
DROP TABLE IF EXISTS `sip_config`;
CREATE TABLE `sip_config` (
`id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '配置ID',
`tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
`tenant_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '租户名称',
`product_id` bigint(20) NOT NULL COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品名称',
`enabled` tinyint(1) NULL DEFAULT NULL COMMENT '使能开关',
`isdefault` tinyint(1) NULL DEFAULT NULL COMMENT '系统默认配置',
`seniorSdp` tinyint(1) NULL DEFAULT NULL COMMENT '拓展sdp',
`domain` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '服务器域',
`server_sipid` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '服务器sipid',
`password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'sip认证密码',
`ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'sip接入IP',
`port` bigint(10) NULL DEFAULT NULL COMMENT 'sip接入端口号',
`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NOT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'sip系统配置' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 新增SIP设备表
-- ----------------------------
DROP TABLE IF EXISTS `sip_device`;
CREATE TABLE `sip_device` (
`device_id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT '设备ID',
`product_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品名称',
`device_sip_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备SipID',
`device_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '设备名称',
`manufacturer` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '厂商名称',
`model` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品型号',
`firmware` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '固件版本',
`transport` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'UDP' COMMENT '传输模式',
`streamMode` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'UDP' COMMENT '流模式',
`online` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '在线状态',
`registerTime` datetime(0) NOT NULL COMMENT '注册时间',
`lastConnectTime` datetime(0) NULL DEFAULT NULL COMMENT '最后上线时间',
`active_time` datetime(0) NULL DEFAULT NULL COMMENT '激活时间',
`ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备入网IP',
`port` bigint(10) NULL DEFAULT NULL COMMENT '设备接入端口号',
`hostAddress` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备地址',
`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`device_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '监控设备' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 新增设备通道表
-- ----------------------------
DROP TABLE IF EXISTS `sip_device_channel`;
CREATE TABLE `sip_device_channel` (
`id` bigint(64) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
`tenant_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '租户名称',
`product_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '产品ID',
`product_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品名称',
`user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '产品ID',
`user_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品名称',
`device_sip_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备SipID',
`channel_sip_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '通道SipID',
`channel_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '通道名称',
`register_time` datetime(0) NULL DEFAULT NULL COMMENT '注册时间',
`device_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '设备类型',
`channel_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '通道类型',
`cityCode` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '城市编码',
`civilCode` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '行政区域',
`manufacture` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '厂商名称',
`model` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '产品型号',
`owner` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '设备归属',
`block` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '警区',
`address` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '安装地址',
`parentId` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '父级id',
`ipAddress` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '设备入网IP',
`port` bigint(10) NULL DEFAULT 0 COMMENT '设备接入端口号',
`password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '密码',
`PTZType` bigint(20) NOT NULL DEFAULT 0 COMMENT 'PTZ类型',
`PTZTypeText` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'PTZ类型描述字符串',
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '设备状态(1-未激活,2-禁用,3-在线,4-离线)',
`longitude` double(11, 6) NULL DEFAULT NULL COMMENT '设备经度',
`latitude` double(11, 6) NULL DEFAULT NULL COMMENT '设备纬度',
`streamId` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '流媒体ID',
`subCount` bigint(20) NOT NULL DEFAULT 0 COMMENT '子设备数',
`parental` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否有子设备(1-有, 0-没有)',
`hasAudio` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否含有音频(1-有, 0-没有)',
`del_flag` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NOT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`, `device_sip_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '监控设备通道信息' ROW_FORMAT = Dynamic;
-- ----------------------------
-- 添加字典类型和数据
-- ----------------------------
INSERT INTO `sys_dict_type` VALUES (119, 'SipID状态', 'sip_gen_status', '0', 'admin', '2023-02-19 15:43:36', 'admin', '2023-02-19 15:45:54', '1=未使用,2=使用中');
INSERT INTO `sys_dict_type` VALUES (120, '监控设备类型', 'video_type', '0', 'admin', '2023-02-22 01:06:38', '', NULL, NULL);
INSERT INTO `sys_dict_type` VALUES (121, '通道类型', 'channel_type', '0', 'admin', '2023-02-22 01:11:51', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (165, 7, '对象', 'object', 'iot_data_type', NULL, 'default', 'N', '0', 'admin', '2023-02-09 16:20:57', 'admin', '2023-02-09 16:21:08', NULL);
-- 删除网关子设备,添加监控设备
delete FROM `sys_dict_data` where dict_type='iot_device_type' and dict_value=3;
INSERT INTO `sys_dict_data` VALUES (166, 3, '监控设备', '3', 'iot_device_type', NULL, 'default', 'N', '0', 'admin', '2023-02-09 16:26:00', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (167, 1, '未使用', '1', 'sip_gen_status', NULL, 'info', 'N', '0', 'admin', '2023-02-19 15:49:04', 'admin', '2023-02-19 15:50:03', NULL);
INSERT INTO `sys_dict_data` VALUES (168, 2, '在线', '2', 'sip_gen_status', NULL, 'success', 'N', '0', 'admin', '2023-02-19 15:49:24', 'admin', '2023-02-24 21:36:29', NULL);
INSERT INTO `sys_dict_data` VALUES (169, 0, 'DVR', '111', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:07:06', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (170, 1, 'NVR', '118', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:07:59', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (171, 2, '报警控制器', '117', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:08:13', 'admin', '2023-02-22 01:08:35', NULL);
INSERT INTO `sys_dict_data` VALUES (172, 4, '摄像机', '131', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:08:52', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (173, 5, 'IPC', '132', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:09:11', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (174, 6, '显示器', '133', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:09:30', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (175, 7, '报警输入设备', '134', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:09:49', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (176, 8, '报警输出设备', '135', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:10:08', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (177, 9, '语音输入设备', '136', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:10:29', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (178, 10, '语音输出设备', '137', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:10:46', 'admin', '2023-02-22 01:10:51', NULL);
INSERT INTO `sys_dict_data` VALUES (179, 11, '移动传输设备', '138', 'video_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:11:09', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (180, 0, '报警控制器', '117', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:12:09', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (181, 1, '摄像机', '131', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:12:24', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (182, 2, 'IPC', '132', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:12:39', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (183, 3, '显示器', '133', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:12:57', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (184, 5, '报警输入设备', '134', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:13:14', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (185, 6, '报警输出设备', '135', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:13:29', 'admin', '2023-02-22 01:13:49', NULL);
INSERT INTO `sys_dict_data` VALUES (186, 7, '语音输入设备', '136', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:14:14', 'admin', '2023-02-22 01:14:24', NULL);
INSERT INTO `sys_dict_data` VALUES (187, 8, '语音输出设备', '137', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:14:50', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (188, 9, '移动传输设备', '138', 'channel_type', NULL, 'default', 'N', '0', 'admin', '2023-02-22 01:15:11', '', NULL, NULL);
INSERT INTO `sys_dict_data` VALUES (189, 3, '离线', '3', 'sip_gen_status', NULL, 'warning', 'N', '0', 'admin', '2023-02-24 21:36:53', 'admin', '2023-02-24 21:37:11', NULL);
INSERT INTO `sys_dict_data` VALUES (190, 4, '禁用', '4', 'sip_gen_status', NULL, 'danger', 'N', '0', 'admin', '2023-02-24 21:37:39', '', NULL, NULL);
-- ----------------------------
-- 视频配置菜单记录
-- ----------------------------
INSERT INTO `sys_menu` VALUES (2168, '视频配置', 2000, 10, 'sip', 'iot/sip/index', NULL, 1, 0, 'C', '0', '0', 'iot:video:list', 'live', 'admin', '2023-02-21 00:21:39', 'admin', '2023-02-22 07:54:06', '');
INSERT INTO `sys_menu` VALUES (2169, '视频配置查询', 2168, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:video:query', '#', 'admin', '2023-02-22 07:55:16', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2170, '视频配置新增', 2168, 2, '', NULL, NULL, 1, 0, 'F', '0', '0', ' iot:video:add', '#', 'admin', '2023-02-22 07:56:41', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2171, '视频配置修改', 2168, 3, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:video:edit', '#', 'admin', '2023-02-22 07:57:26', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2172, '视频配置删除', 2168, 4, '', NULL, NULL, 1, 0, 'F', '0', '0', 'iot:video:remove', '#', 'admin', '2023-02-22 07:58:03', '', NULL, '');
-- ----------------------------
-- 设备日志的log_value 长度改为256
-- ----------------------------
alter table `iot_device_log` modify column log_value varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '日志值';

View File

@ -1,166 +0,0 @@
-- -------------------------------2.0版本表更改-----------------------------------------
-- iot_things_model 物模型表更改
ALTER TABLE `wumeismart`.`iot_things_model`
ADD COLUMN `temp_slave_id` bigint NULL COMMENT '从机id' AFTER `remark`,
ADD COLUMN `formula` varchar(255) NULL COMMENT '计算公式' AFTER `temp_slave_id`,
ADD COLUMN `reverse_formula` varchar(255) NULL COMMENT '控制公式' AFTER `formula`,
ADD COLUMN `reg_addr` int(255) NULL COMMENT '寄存器地址值' AFTER `reverse_formula`,
ADD COLUMN `bit_option` varchar(255) NULL COMMENT '位定义选项' AFTER `reg_addr`,
ADD COLUMN `value_type` varchar(64) NULL COMMENT '解析类型 1.数值 2.选项' AFTER `bit_option`;
MODIFY COLUMN `specs` json NULL COMMENT '数据定义' AFTER `datatype`;
-- iot_things_model_template 物模型模板表更改
ALTER TABLE `wumeismart`.`iot_things_model_template`
ADD COLUMN `temp_slave_id` bigint NULL COMMENT '从机id' AFTER `remark`,
ADD COLUMN `formula` varchar(255) NULL COMMENT '计算公式' AFTER `temp_slave_id`,
ADD COLUMN `reverse_formula` varchar(255) NULL COMMENT '控制公式' AFTER `formula`,
ADD COLUMN `reg_addr` int(255) NULL COMMENT '寄存器地址值' AFTER `reverse_formula`,
ADD COLUMN `bit_option` varchar(255) NULL COMMENT '位定义选项' AFTER `reg_addr`,
ADD COLUMN `value_type` varchar(64) NULL COMMENT '解析类型 1.数值 2.选项' AFTER `bit_option`;
ADD COLUMN `is_params` int(1) ZEROFILL NULL COMMENT '是否是计算参数,默认否 0=否,1=是' AFTER `remark`;
MODIFY COLUMN `specs` json NULL COMMENT '数据定义' AFTER `datatype`;
-- iot_device 设备表更改
ALTER TABLE `wumeismart`.`iot_device`
ADD COLUMN `gw_dev_code` varchar(64) NULL COMMENT '子设备网关编号' AFTER `firmware_version`,
-- iot_product 产品表更改
ALTER TABLE `wumeismart`.`iot_product`
ADD COLUMN `protocol_code` varchar(64) NULL COMMENT '协议编号' AFTER `category_id`,
-- -------------------------------2.0表新增-----------------------------------------
-- iot_firmware_task OTA升级任务对象
CREATE TABLE `iot_firmware_task` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`task_name` varchar(60) NOT NULL DEFAULT '' COMMENT '任务名称',
`firmware_id` bigint(20) unsigned NOT NULL COMMENT '关联固件ID',
`upgrade_type` int(11) NOT NULL DEFAULT '1' COMMENT '1:指定设备 2:产品级别',
`task_desc` varchar(255) NOT NULL DEFAULT '',
`device_amount` int(11) NOT NULL DEFAULT '0' COMMENT '选中的设备总数',
`del_flag` int(11) NOT NULL DEFAULT '0',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`book_time` timestamp NULL DEFAULT NULL COMMENT '预定时间升级',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='OTA升级任务对象';
-- iot_firmware_task_detail OTA升级任务详细表
CREATE TABLE `iot_firmware_task_detail` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`task_id` bigint(20) unsigned NOT NULL DEFAULT '0',
`serial_number` varchar(64) NOT NULL DEFAULT '' COMMENT '设备编码',
`upgrade_status` int(11) NOT NULL DEFAULT '0' COMMENT '0:等待升级 1:已发送设备 2:设备收到 3:升级成功 4:升级失败',
`detail_msg` varchar(100) NOT NULL DEFAULT '' COMMENT '描述',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`message_id` varchar(100) DEFAULT '' COMMENT '消息ID',
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='OTA升级任务详细表';
-- iot_device_template 设备采集点模板关联表
CREATE TABLE `iot_device_template` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`product_id` bigint(20) DEFAULT NULL COMMENT '产品id',
`templateId` bigint(20) DEFAULT NULL COMMENT '采集点模板id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='设备采集点模板关联表';
-- iot_var_temp 设备采集变量模板表
CREATE TABLE `iot_var_temp` (
`templateId` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`templateName` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT '模板名称',
`type` tinyint(20) NOT NULL,
`pollingMethod` tinyint(20) NOT NULL COMMENT '采集方式 1.云端轮询 2.云端边缘计算',
`userId` int(11) DEFAULT NULL COMMENT '模板所属用户',
`slaveTotal` bigint(20) DEFAULT NULL COMMENT '从机总数',
`pointTotal` bigint(20) DEFAULT NULL COMMENT '总采集点数',
`share` tinyint(20) DEFAULT NULL COMMENT '是否分享',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
`createBy` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '创建用户',
`updateTime` datetime DEFAULT NULL COMMENT '更新时间',
`updateBy` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '更新用户',
PRIMARY KEY (`templateId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='设备采集变量模板表';
-- iot_var_temp_salve 变量模板设备从机对象表
CREATE TABLE `iot_var_temp_salve` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`deviceTempId` bigint(20) NOT NULL COMMENT '关联的模板id',
`slaveAddr` int(20) NOT NULL COMMENT '从机编号',
`slaveIndex` int(20) NOT NULL,
`slaveIp` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT '从机ip地址',
`slaveName` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT '从机名称',
`slavePort` int(20) NOT NULL COMMENT '从机端口',
`addrStart` bigint(20) NOT NULL COMMENT '寄存器起始地址(10进制)',
`addrEnd` bigint(20) NOT NULL COMMENT '寄存器结束地址(10进制)',
`packetLength` int(20) NOT NULL COMMENT '寄存器批量读取个数',
`timer` bigint(20) NOT NULL COMMENT '批量获取轮询时间(默认5分钟)',
`status` tinyint(20) NOT NULL COMMENT '状态 0-启动 1-失效',
`code` int(20) DEFAULT NULL COMMENT '功能编码',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
`createBy` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '创建用户',
`updateTime` datetime DEFAULT NULL COMMENT '更新时间',
`updateBy` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '更新用户',
`remark` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='变量模板设备从机对象表';
-- iot_protocol 设备通讯协议表
CREATE TABLE `iot_protocol` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
`protocol_code` varchar(60) NOT NULL DEFAULT '' COMMENT '协议编码',
`protocol_name` varchar(60) NOT NULL DEFAULT '' COMMENT '协议名称',
`protocol_file_url` varchar(500) NOT NULL DEFAULT '' COMMENT '协议jar包,js包,c程序上传地址',
`protocol_type` int(11) NOT NULL DEFAULT '0' COMMENT '协议类型 0:未知 1:jar,2.js,3.c',
`jar_sign` varchar(100) NOT NULL DEFAULT '' COMMENT '协议文件摘要(文件的md5)',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`protocol_status` int(11) NOT NULL DEFAULT '0' COMMENT '0:草稿 1:启用 2:停用',
`del_flag` int(11) NOT NULL DEFAULT '0' COMMENT '0:正常 1:删除',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `UNIQUE_CODE` (`protocol_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='设备通讯协议表';
-- ----------------------------
-- iot_function_log 设备服务下发日志
-- ----------------------------
DROP TABLE IF EXISTS `iot_function_log`;
CREATE TABLE `iot_function_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`identify` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT '标识符',
`fun_type` int(2) NOT NULL COMMENT '1==服务下发,2=属性获取,3.OTA升级',
`fun_value` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT '日志值',
`message_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '消息id',
`device_name` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '设备名称',
`serial_number` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT '设备编号',
`mode` int(2) DEFAULT NULL COMMENT '模式(1=影子模式,2=在线模式,3=其他)',
`user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
`result_msg` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '下发结果描述',
`result_code` int(3) DEFAULT NULL COMMENT '下发结果代码',
`create_by` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`remark` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `iot_function_log_id_uindex` (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='设备服务下发日志';
-- ----------------------------
-- 系统相关升级sql
-- ----------------------------
-- 二级菜单
insert into sys_menu values('124', '缓存列表', '2', '6', 'cacheList', 'monitor/cache/list', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis-list', 'admin', sysdate(), '', null, '缓存列表菜单');
-- 三级菜单
insert into sys_menu values('1065', '账户解锁', '501', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 'admin', sysdate(), '', null, '');
-- 角色和菜单关联,给管理员添加缓存列表菜单权限
insert into sys_role_menu values ('5', '124');
-- 字典数据表
insert into sys_dict_data values(230, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', sysdate(), '', null, '其他操作');
-- 13、参数配置表
insert into sys_config values(6, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', sysdate(), '', null, '是否开启验证码功能(true开启,false关闭)');

View File

@ -1,71 +0,0 @@
-- ----------------------------
-- 新增视频中心菜单
-- ----------------------------
INSERT INTO `sys_menu` VALUES (3047, '录像管理', 3044, 2, 'record', 'iot/record/record', null, 1, 0, 'C', '0', '0', '', 'chart', 'admin', '2023-05-16 22:09:34', 'admin', '2023-06-03 22:37:32', '');
-- ----------------------------
-- 更新监控产品物模型和协议类型
-- ----------------------------
UPDATE iot_product SET transport = 'GB28181' where device_type = 3;
UPDATE iot_product SET things_models_json = '{"events": [{"id": "devAlarm", "name": "设备报警", "type": 3, "order": 0, "regId": "devAlarm", "isChart": 0, "datatype": {"type": "enum", "showWay": "select", "enumList": [{"text": "视频丢失报警", "value": "1"}, {"text": "设备防拆报警", "value": "2"}, {"text": "存储设备磁盘满报警", "value": "3"}, {"text": "设备高温报警", "value": "4"}, {"text": "设备低温报警", "value": "5"}]}, "isHistory": 1, "isMonitor": 0, "isReadonly": 1}], "functions": [{"id": "audio_broadcast", "name": "语音广播", "type": 2, "order": 0, "regId": "audio_broadcast", "isChart": 0, "datatype": {"type": "string", "maxLength": 1024}, "isHistory": 1, "isMonitor": 0, "isReadonly": 0}, {"id": "video_push", "name": "设备推流", "type": 2, "order": 0, "regId": "video_push", "isChart": 0, "datatype": {"type": "string", "maxLength": 1024}, "isHistory": 1, "isMonitor": 0, "isReadonly": 0}]}' where device_type = 3;
-- ----------------------------
-- 三方登录
-- ----------------------------
ALTER TABLE iot_social_platform MODIFY COLUMN client_id varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '第三方平台申请Id', MODIFY COLUMN secret_key varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '第三方平台密钥';
ALTER TABLE iot_social_user ADD PRIMARY KEY (social_user_id);
ALTER TABLE iot_social_user ADD COLUMN source_client varchar(64) NULL COMMENT '第三方用户来源客户端(web、app、小程序)';
ALTER TABLE iot_social_user MODIFY COLUMN access_token varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户的授权令牌', MODIFY COLUMN refresh_token varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '刷新令牌(部分平台可能没有)', MODIFY COLUMN open_id varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方用户的 open id(部分平台可能没有)', MODIFY COLUMN union_id varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方用户的 union id(部分平台可能没有)';
ALTER TABLE iot_social_user MODIFY COLUMN uuid varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '第三方系统的唯一ID';
ALTER TABLE iot_social_user MODIFY COLUMN access_token varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户的授权令牌';
ALTER TABLE iot_social_user DROP INDEX iot_social_user_unique_key;
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '微信开放平台网站应用', 'wechat_open_web', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:28:15', '', NULL, NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '微信开放平台移动应用', 'wechat_open_mobile', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:29:14', '', NULL, NULL);
INSERT INTO `sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '微信开放平台小程序', 'wechat_open_mini_program', 'iot_social_platform', NULL, 'default', 'N', '0', 'admin', '2023-08-23 11:38:12', '', NULL, NULL);
-- ----------------------------
-- 分享设备权限
-- ----------------------------
ALTER TABLE iot_things_model ADD COLUMN is_share_perm tinyint(1) NULL COMMENT '是否分享设备权限(0-否,1-是)';
ALTER TABLE iot_things_model_template ADD COLUMN is_share_perm tinyint(1) NULL COMMENT '是否分享设备权限(0-否,1-是)';
ALTER TABLE iot_device_user ADD COLUMN perms varchar(255) NULL COMMENT '用户物模型权限,多个以英文逗号分隔';
-- modbus数据类型转换 字典
INSERT INTO `sys_dict_type`(`dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES ('modbus数据类型', 'iot_modbus_data_type', '0', 'admin', '2023-09-04 13:54:17', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (0, '16位 无符号', 'ushort', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:11:54', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '16位 有符号', 'short', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:12:26', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '32位 有符号(ABCD)', 'long-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:12:53', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '32位 有符号(CDAB)', 'long-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:13:21', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '32位 无符号(ABCD)', 'ulong-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:13:42', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '32位 无符号(CDAB)', 'ulong-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:06', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '32位 浮点数(ABCD)', 'float-ABCD', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:28', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, '32位 浮点数(CDAB)', 'float-CDAB', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:14:50', '', NULL, NULL);
INSERT INTO `sys_dict_data`(`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, '位', 'bit', 'iot_modbus_data_type', NULL, 'default', 'N', '0', 'admin', '2023-09-04 14:15:13', '', NULL, NULL);
-- modbus数据类型转换,添加字段
ALTER TABLE `iot_things_model_template`
ADD COLUMN `parse_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'modbus解析类型' AFTER `old_temp_slave_id`;
ALTER TABLE `iot_things_model`
ADD COLUMN `parse_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'modbus解析类型' AFTER `code`;
-- modbus数据类型转换测试数据
INSERT INTO `iot_var_temp`(`template_id`, `template_name`, `type`, `polling_method`, `user_id`, `slave_total`, `point_total`, `share`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES (14, '测试', NULL, 0, NULL, NULL, NULL, NULL, '2023-09-04 08:56:30', NULL, NULL, NULL);
INSERT INTO `iot_var_temp_salve`(`id`, `device_temp_id`, `slave_addr`, `slave_index`, `slave_ip`, `slave_name`, `slave_port`, `addr_start`, `addr_end`, `packet_length`, `timer`, `status`, `code`, `create_time`, `create_by`, `update_time`, `update_by`, `remark`) VALUES (18, 14, 1, NULL, NULL, '测试设备1', NULL, 0, 9, 10, 60, 0, NULL, '2023-09-04 08:56:48', NULL, NULL, NULL, NULL);
INSERT INTO `iot_things_model_template`(`template_id`, `template_name`, `tenant_id`, `tenant_name`, `identifier`, `type`, `datatype`, `specs`, `is_sys`, `is_chart`, `is_monitor`, `is_history`, `is_readonly`, `is_share_perm`, `model_order`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `temp_slave_id`, `formula`, `reverse_formula`, `reg_addr`, `bit_option`, `value_type`, `is_params`, `quantity`, `code`, `old_identifier`, `old_temp_slave_id`, `parse_type`) VALUES (348, '开关-位', 1, 'admin', '5', 1, 'enum', '{\"type\": \"enum\", \"showWay\": \"select\", \"enumList\": [{\"text\": \"关\", \"value\": \"0x0000\"}, {\"text\": \"开\", \"value\": \"0xFF00\"}]}', 1, 0, 0, 0, 1, 0, 0, '0', '', '2023-09-05 16:13:02', '', '2023-09-05 16:16:06', NULL, '14#1', NULL, NULL, 5, NULL, NULL, NULL, 1, '1', NULL, NULL, 'bit');
INSERT INTO `iot_things_model_template`(`template_id`, `template_name`, `tenant_id`, `tenant_name`, `identifier`, `type`, `datatype`, `specs`, `is_sys`, `is_chart`, `is_monitor`, `is_history`, `is_readonly`, `is_share_perm`, `model_order`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `temp_slave_id`, `formula`, `reverse_formula`, `reg_addr`, `bit_option`, `value_type`, `is_params`, `quantity`, `code`, `old_identifier`, `old_temp_slave_id`, `parse_type`) VALUES (349, '参数-16位有符号', 1, 'admin', '6', 1, 'integer', '{\"max\": 100, \"min\": 0, \"step\": 1, \"type\": \"integer\", \"unit\": \"\"}', 1, 0, 0, 0, 1, 0, 0, '0', '', '2023-09-05 16:13:40', '', '2023-09-05 16:17:45', NULL, '14#1', NULL, NULL, 6, NULL, NULL, NULL, 1, '3', NULL, NULL, 'short');
INSERT INTO `iot_things_model_template`(`template_id`, `template_name`, `tenant_id`, `tenant_name`, `identifier`, `type`, `datatype`, `specs`, `is_sys`, `is_chart`, `is_monitor`, `is_history`, `is_readonly`, `is_share_perm`, `model_order`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `temp_slave_id`, `formula`, `reverse_formula`, `reg_addr`, `bit_option`, `value_type`, `is_params`, `quantity`, `code`, `old_identifier`, `old_temp_slave_id`, `parse_type`) VALUES (350, '参数-16位有符号', 1, 'admin', '7', 1, 'integer', '{\"max\": 100, \"min\": 0, \"step\": 1, \"type\": \"integer\", \"unit\": \"\"}', 1, 0, 0, 0, 1, 0, 0, '0', '', '2023-09-05 16:13:55', '', '2023-09-05 16:17:35', NULL, '14#1', NULL, NULL, 7, NULL, NULL, NULL, 1, '3', NULL, NULL, 'short');
INSERT INTO `iot_things_model_template`(`template_id`, `template_name`, `tenant_id`, `tenant_name`, `identifier`, `type`, `datatype`, `specs`, `is_sys`, `is_chart`, `is_monitor`, `is_history`, `is_readonly`, `is_share_perm`, `model_order`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `temp_slave_id`, `formula`, `reverse_formula`, `reg_addr`, `bit_option`, `value_type`, `is_params`, `quantity`, `code`, `old_identifier`, `old_temp_slave_id`, `parse_type`) VALUES (351, '参数-16位有符号', 1, 'admin', '8', 1, 'integer', '{\"max\": 100, \"min\": 0, \"step\": 1, \"type\": \"integer\", \"unit\": \"\"}', 1, 0, 0, 0, 1, 0, 0, '0', '', '2023-09-05 16:14:12', '', '2023-09-05 16:18:04', NULL, '14#1', NULL, NULL, 8, NULL, NULL, NULL, 1, '3', NULL, NULL, 'short');
INSERT INTO `iot_things_model_template`(`template_id`, `template_name`, `tenant_id`, `tenant_name`, `identifier`, `type`, `datatype`, `specs`, `is_sys`, `is_chart`, `is_monitor`, `is_history`, `is_readonly`, `is_share_perm`, `model_order`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `temp_slave_id`, `formula`, `reverse_formula`, `reg_addr`, `bit_option`, `value_type`, `is_params`, `quantity`, `code`, `old_identifier`, `old_temp_slave_id`, `parse_type`) VALUES (352, '参数-32有符号-ABCD', 1, 'admin', '9', 1, 'integer', '{\"max\": 100, \"min\": 0, \"step\": 1, \"type\": \"integer\", \"unit\": \"\"}', 1, 0, 0, 0, 1, 0, 0, '0', '', '2023-09-05 16:14:47', '', '2023-09-05 16:18:24', NULL, '14#1', NULL, NULL, 9, NULL, NULL, NULL, 2, '3', NULL, NULL, 'long-ABCD');
INSERT INTO `iot_things_model_template`(`template_id`, `template_name`, `tenant_id`, `tenant_name`, `identifier`, `type`, `datatype`, `specs`, `is_sys`, `is_chart`, `is_monitor`, `is_history`, `is_readonly`, `is_share_perm`, `model_order`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `temp_slave_id`, `formula`, `reverse_formula`, `reg_addr`, `bit_option`, `value_type`, `is_params`, `quantity`, `code`, `old_identifier`, `old_temp_slave_id`, `parse_type`) VALUES (353, '参数-32位有符号-CDAB', 1, 'admin', '11', 1, 'integer', '{\"max\": 100, \"min\": 0, \"step\": 1, \"type\": \"integer\", \"unit\": \"\"}', 1, 0, 0, 0, 1, 0, 0, '0', '', '2023-09-05 16:18:58', '', NULL, NULL, '14#1', NULL, NULL, 11, NULL, NULL, NULL, 2, '3', NULL, NULL, 'long-CDAB');
INSERT INTO `iot_things_model_template`(`template_id`, `template_name`, `tenant_id`, `tenant_name`, `identifier`, `type`, `datatype`, `specs`, `is_sys`, `is_chart`, `is_monitor`, `is_history`, `is_readonly`, `is_share_perm`, `model_order`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `temp_slave_id`, `formula`, `reverse_formula`, `reg_addr`, `bit_option`, `value_type`, `is_params`, `quantity`, `code`, `old_identifier`, `old_temp_slave_id`, `parse_type`) VALUES (354, '参数-32位无符号-ABCD', 1, 'admin', '13', 1, 'integer', '{\"max\": 100, \"min\": 0, \"step\": 1, \"type\": \"integer\", \"unit\": \"\"}', 1, 0, 0, 0, 1, 0, 0, '0', '', '2023-09-05 16:20:20', '', NULL, NULL, '14#1', NULL, NULL, 13, NULL, NULL, NULL, 2, '3', NULL, NULL, 'ulong-ABCD');
INSERT INTO `iot_things_model_template`(`template_id`, `template_name`, `tenant_id`, `tenant_name`, `identifier`, `type`, `datatype`, `specs`, `is_sys`, `is_chart`, `is_monitor`, `is_history`, `is_readonly`, `is_share_perm`, `model_order`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `temp_slave_id`, `formula`, `reverse_formula`, `reg_addr`, `bit_option`, `value_type`, `is_params`, `quantity`, `code`, `old_identifier`, `old_temp_slave_id`, `parse_type`) VALUES (355, '参数-32位无符号-CDAB', 1, 'admin', '15', 1, 'integer', '{\"max\": 100, \"min\": 0, \"step\": 1, \"type\": \"integer\", \"unit\": \"\"}', 1, 0, 0, 0, 1, 0, 0, '0', '', '2023-09-05 16:20:55', '', NULL, NULL, '14#1', NULL, NULL, 15, NULL, NULL, NULL, 2, '3', NULL, NULL, 'ulong-CDAB');
ALTER TABLE `iot_alert_log`
DROP COLUMN `user_id`,
ADD COLUMN `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户id' AFTER `device_name`;

View File

@ -39,7 +39,7 @@
{{ $t('product.product-things-model.142341-1') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-col :span="1.5" v-if="productInfo.deviceType == 2">
<el-button type="primary" plain icon="el-icon-download" size="mini" @click="handleImportFromSubProduct" v-if="productInfo.status == 1 && productInfo.isOwner != 0" v-hasPermi="['iot:model:add']">
从子产品导入
</el-button>