Files
water/.workbuddy/memory/2026-06-08.md
2026-06-11 10:07:03 +08:00

46 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-06-08 工作日志
## 代码质量审计 & 安全修复
### 已完成的 P0/P1 修复
1. **移除硬编码敏感凭据**P0 安全红线)
- `application-dev.yml`:邮件密码、阿里云短信 AK/SK、SnailJob Token、MySQL 密码 → 改为 `${ENV_VAR:}` 占位符
- `application.yml`MQTT Broker 密码、JWT 密钥 → 改为环境变量引用
- `application-prod.yml`SnailJob Token → 环境变量引用
2. **Git 仓库清理**
- 更新 `.gitignore`:添加 `.idea/``*.iml``.vscode/``.env`、OS 临时文件
- 创建 `.env.example` 模板文件,供团队参考配置
3. **修复 N+1 查询**AppDeviceServiceImpl.deleteWithValidByIds
- 将 for 循环逐条 delete 改为 `QueryWrapper.in("device_id", ids)` 批量删除
4. **修复 AppSchedule 重复字段**
- 移除与 BaseEntity 冲突的 `createTime` 字段定义(父类已有 @TableField fill=INSERT
5. **DromaraApplication 日志规范化**
- `System.out.println``@Slf4j` + `log.info()`
6. **DeviceDataHandler 代码清理**
- 被注释的死代码改为结构化 TODO 注释,明确后续实现路径
7. **application.yml 格式修复**
- 移除重复的 `--- # mqtt配置信息`
8. **修复 Spring 循环依赖**MqttCommandAckService
- 循环链MqttClientManager → MqttMessageDispatcher → MqttCommandAckService → MqttClientManager
- 方案MqttCommandAckService 中对 MqttClientManager 加 @Lazy,因为 publish() 仅在 retryExpiredCommands() 运行时调用,非构造阶段必须
### 待处理
- [ ] P1: 补齐 app_device 等 5 张表的 DDL 脚本task #3
- [ ] P1: 搭建单元测试框架task #6
- [ ] P2: 编写团队编码规范文档
- [ ] 确认线上环境已同步更新凭据配置
### 技术备忘
- 环境变量默认值写法:`${VAR_NAME:defaultValue}` — dev 环境保留弱默认值方便本地开发prod 必须强制覆盖
- 环境变量模板 `.env.example` 已纳入 `.gitignore` 保护