lenovo
|
1becba790f
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
Conflicts:
iot-platform/src/main/java/com/iot/platform/mqtt/MqttDynamicConsumer.java
iot-platform/src/main/java/com/iot/platform/service/TdEngineService.java
|
2 weeks ago |
lenovo
|
10fedc0a39
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
Conflicts:
iot-platform/src/main/java/com/iot/platform/mqtt/MqttDynamicConsumer.java
iot-platform/src/main/java/com/iot/platform/service/TdEngineService.java
|
2 weeks ago |
lenovo
|
a7a02b9a84
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
Conflicts:
iot-platform/src/main/java/com/iot/platform/mqtt/MqttDynamicConsumer.java
iot-platform/src/main/java/com/iot/platform/service/TdEngineService.java
|
2 weeks ago |
lenovo
|
a21ed3c069
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
Conflicts:
iot-platform/src/main/java/com/iot/platform/service/TdEngineService.java
|
2 weeks ago |
lenovo
|
fdabe24599
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
Conflicts:
iot-platform/src/main/java/com/iot/platform/service/TdEngineService.java
|
2 weeks ago |
lenovo
|
6ec2442651
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
bdc2ccb2ea
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
35d1316718
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
2fcc39dbad
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
041d3a1380
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
ccfd3a4e7e
|
Merge remote-tracking branch 'origin/master' into mqy20260511
|
2 weeks ago |
humanleft
|
e1532193d2
|
refactor: TdEngineService 代码清理
|
2 weeks ago |
humanleft
|
75f639e4d7
|
Merge remote-tracking branch 'origin/mqy20260511'
|
2 weeks ago |
humanleft
|
8772fd4c08
|
chore(deploy): JAR 备份保留数量改回 10 个
|
2 weeks ago |
humanleft
|
12e9e3b352
|
feat(deploy): 限制 JAR 备份保留 3 个 + 清理 dangling 镜像
|
2 weeks ago |
humanleft
|
08860c245f
|
docs: 更新部署文档和项目说明
- deploy/README.md:
- 安装目录 /opt/iot-platform -> /mnt/iot-platform
- 网络模式 host -> bridge,新增端口映射说明
- 去掉自动回滚描述,改为保留容器排查
- 新增容器架构表格和 TDengine 配置文件说明
- CLAUDE.md:
- Redis host: localhost -> ${REDIS_HOST:localhost}
- TDengine URL: 127.0.0.1 -> 172.21.185.173
- 环境变量示例添加 REDIS_HOST
|
2 weeks ago |
humanleft
|
a5b7e0823f
|
feat(deploy): 容器网络架构改造 + 配置纳入版本控制
网络架构:
- iot-platform: host -> bridge (新增 -p 8887:8887 端口映射)
- taos-explorer: bridge (新增 /mnt/taos-explorer-data 数据持久化)
- tdengine-operator: 保持 host 网络
配置更新:
- TDengine URL: 127.0.0.1 -> 172.21.185.173 (宿主机内网 IP)
- Redis host: localhost -> ${REDIS_HOST:localhost} 环境变量
- taos.cfg fqdn: 127.0.0.1 -> 172.21.185.173
- explorer.toml cluster: localhost -> 172.21.185.173
部署脚本:
- REMOTE_DIR: /opt/iot-platform -> /mnt/iot-platform
- 日志目录: /opt/iot-platform/logs -> /mnt/iot-platform/logs
- 去掉自动回滚逻辑,保留容器用于排查
- 新增 -p 8887:8887 端口映射
新增服务器配置文件到仓库:
- deploy/Dockerfile
- deploy/start-container.sh
- deploy/config/taos.cfg
- deploy/config/explorer.toml
- deploy/config/tdengine-explorer.conf
- .env (移除 .gitignore 忽略)
|
2 weeks ago |
lenovo
|
502604ea6c
|
Merge remote-tracking branch 'origin/master' into mqy20260511
|
2 weeks ago |
lenovo
|
5667d23b2e
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
83c0ffdcf1
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
humanleft
|
fd11440482
|
docs: 更新部署文档为容器化方案
- deploy/README.md: systemd → Podman 容器化部署
- CLAUDE.md: 更新部署命令、TDengine URL、.env 加载方式
|
2 weeks ago |
humanleft
|
ea084791d6
|
chore(deploy): 部署脚本改为容器化 (Podman)
- 停止/启动 systemd 服务 → 停止/启动 Podman 容器
- 部署时自动构建容器镜像
- 回滚逻辑同步改为容器方式
|
2 weeks ago |
humanleft
|
356fd0b43c
|
chore: 修改 TDengine JDBC URL 为 127.0.0.1:6031
- application.yml: localhost → 127.0.0.1 避免 IPv6 解析问题
- IotProperties.java: 同步修改默认 URL
|
2 weeks ago |
humanleft
|
350327912e
|
Merge remote-tracking branch 'origin/mqy20260511'
|
2 weeks ago |
lenovo
|
a84e9ef88c
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
609e23ff9d
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
humanleft
|
a2d0c7d0d6
|
Merge remote-tracking branch 'origin/mqy20260511'
|
2 weeks ago |
lenovo
|
bda327cf66
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
833288c1b4
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
humanleft
|
bb26329b48
|
chore: 部署全新 TDengine 3.3.6.0 实例(端口 6031),升级 JDBC 驱动至 3.3.2
- 服务器新建独立 TDengine 容器实例(Podman),端口 6031
- 数据卷挂载至 /mnt/tdengine-new/(大容量数据盘)
- 部署 taos-explorer Web 控制台,nginx 6060 端口反向代理 + Basic Auth
- 升级 taos-jdbcdriver 3.2.7 → 3.3.2
- 应用 JDBC URL 指向新实例 localhost:6031
- TdEngineService 删除 device_id VARCHAR(32) 特殊处理,统一 VARCHAR(255)
|
2 weeks ago |
lenovo
|
a66d8179ed
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
2 weeks ago |
lenovo
|
2e06aefae5
|
修改超级表
|
2 weeks ago |
lenovo
|
de65516db4
|
修改超级表
|
2 weeks ago |
humanleft
|
216f58c8b6
|
超级表传输
|
2 weeks ago |
humanleft
|
04e70a5dea
|
格式
|
2 weeks ago |
humanleft
|
5c88b90a61
|
fix(service): 放宽表名校验正则,允许数字开头和连字符
|
2 weeks ago |
humanleft
|
72e23e493c
|
refactor(service): 统一 VARCHAR 长度为 255,移除 device_id 特殊处理
- DEFAULT_VARCHAR_LENGTH 38 → 255
- 删除 DEVICE_ID_VARCHAR_LENGTH 常量
- 删除 getColumnTypeForDDL 中 device_id 的 VARCHAR(32) 特殊分支
- 删除 formatValue 中 device_id 的 UUID 去连字符逻辑
- 同步更新相关单元测试断言
|
2 weeks ago |
humanleft
|
9313097021
|
chore: 删除 TdEngineService 中未使用的 closeQuietly 方法
|
2 weeks ago |
humanleft
|
1de1fcc14c
|
refactor(service): 全面优化 TdEngineService 资源管理与代码质量
- 资源管理:loadStableColumnsFromDB / ensureColumnsExist / ensureTableExists
统一改为 try-with-resources,消除手动 close 的冗长代码
- 缓存策略:getStableColumns 使用 computeIfAbsent 解决多线程竞态条件;
缓存满时改为淘汰最老的 20% 条目,替代粗暴 clear()
- 列数计算:insertBatchInternal 中扣除 existingColumns 与 columnTypes 的交集,
避免重复计算导致不必要的插入拒绝
- 缓存更新:ensureColumnsExist 循环结束后统一更新 stableColumnCache
- 连接池配置:IotProperties.TDengine 新增 HikariCP 配置项,initDataSource 改为读取配置
- 日志级别:loadStableColumnsFromDB 表不存在场景 error→debug;
formatValue 超长截断 info→debug
- ZoneOffset.of("+8") 提取为 static final ZONE_OFFSET_8,避免重复创建
|
2 weeks ago |
humanleft
|
2acb0f92d8
|
refactor(mqtt): 优化 MqttChargeStationConsumer 并补充单元测试
- 移除冗余的 deepCopyMap 调用(JSON 解析结果已是新对象)
- 空数据列表提前返回,避免无效的 topic 解析
- 简化空 map 过滤逻辑,消除误导性变量名 'list'
- 新增 4 个单元测试覆盖正常写入、空数据、无效 topic、过滤 null/空 map 场景
|
2 weeks ago |
humanleft
|
7a2edf5fa2
|
fix(mapper): 修复 SysControllerMapper XML id 与接口方法名不一致
selectjingweidu → selectCoordinates,与 Java 接口定义保持一致。
|
2 weeks ago |
humanleft
|
7a72c540e7
|
refactor(domain): Domain 类字段命名规范化(snake_case → camelCase)
- ControllerData: fleet_id→fleetId, controller_id→controllerId, cmd_topics→cmdTopics, fault_prot→faultProt,加 @JSONField 保持 JSON 序列化兼容,字段改为 private
- SysFault: 修复 getter/setter 内部引用旧字段名的问题
- MqttGenericConsumer/MqttFaultConsumer: 同步更新字段访问器调用
- TDengineServiceTest: 更新超长 VARCHAR 截断测试断言
|
2 weeks ago |
humanleft
|
9ef8ad942c
|
refactor: 全面规范化项目命名
变量名:
- weather → faultData(消除误导性命名)
- jingdu/weidu → longitude/latitude(消除中文拼音)
- jingduValue/weiduValue → longitudeValue/latitudeValue
- tdEngineshuju → tdEngineData(消除中文拼音)
- companyid → companyId
- controllername → controllerName
- tablename → tableNames
方法名(camelCase 规范化):
- selectall → selectAll
- insertfault → insertFault, updatefault → updateFault
- insertalarm → insertAlarm
- createmessage → createMessage
- selecttables → selectTables, inserttables → insertTables
- selectjingweidu → selectCoordinates(消除中文拼音)
- triggermethod → triggerMethod
- 等 40+ 个 mapper/service 方法名
类名:
- Sysrealtime → SysRealtime
- SysrealtimeMapper → SysRealtimeMapper
- SysrealtimeService → SysRealtimeService
- 所有引用同步更新
|
2 weeks ago |
humanleft
|
b8c75cd505
|
chore: 清理未使用的 Jackson ObjectMapper,调整测试可见性
- MqttFaultConsumerTest: 删除未使用的 ObjectMapper 实例和导入
- MqttFaultConsumer: insertTdEngine/triggermethod 改为 package-private
以支持同包测试访问
|
2 weeks ago |
humanleft
|
280890b8dc
|
fix(security): 修复 CRITICAL/HIGH 安全漏洞并全面优化代码质量
安全修复:
- MqttFaultConsumer: 修复 SSRF 漏洞,使用 UriComponentsBuilder + controllerId 白名单
- TdEngineService: 修复 SQL 注入,information_schema 查询改用 PreparedStatement
- TdEngineService: 收紧 ALLOWED_COLUMNS 正则,仅允许 ASCII 字母数字下划线
- TdEngineService: 修复静默数据丢失,超长字符串截断存储而非返回 NULL
- TdEngineAlarm: SQL 查询参数化,防止注入
- MqttFaultConsumer/MqttDynamicConsumer: topic/controllerId/dbName 白名单校验
- SysDeviceService: 添加表名校验
代码质量:
- 统一使用 Fastjson2 替代 Jackson ObjectMapper
- Domain 类字段全部改为 private(13 个类)
- topics.java 重命名为 Topics.java
- SimpleDateFormat 替换为线程安全的 DateTimeFormatter
- 提取魔法数字为常量(DEFAULT_BATCH_SIZE 等)
- SysWorkorderMapper.xml 修复 SQL 逻辑错误(AND/OR 括号)
- SysIndicatorsMapper.xml 修正字段名 createtime -> createdata
- SysControllerService 移除 Service 层 @Param 注解
- MqttGenericConsumer 提取过长方法
- NumericIdGenerator 支持 @Value 注入 workerId/dataCenterId
- 空 catch 块补充日志
日志级别优化:
- WARN 31 -> 9 (-71%),数据校验/格式问题降级为 INFO
- INFO 28 -> 50 (+79%),正常业务流使用 INFO
- ERROR 37 -> 33 (-11%),仅最终失败使用 ERROR
|
2 weeks ago |
lenovo
|
0638d28c74
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
3 weeks ago |
lenovo
|
374acea39e
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
3 weeks ago |
lenovo
|
1a1e92631a
|
Merge branch 'mqy20260511' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
|
3 weeks ago |
lenovo
|
265a8fbc46
|
Merge branch 'master' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
Conflicts:
iot-platform/src/main/java/com/iot/platform/task/VehicleSyncTask.java
|
3 weeks ago |
lenovo
|
b7dee4c46f
|
Merge branch 'master' of http://114.215.146.132:3000/Mqy/Wisdom-Data into mqy20260511
Conflicts:
iot-platform/src/main/java/com/iot/platform/task/VehicleSyncTask.java
|
3 weeks ago |