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

2.0 KiB
Raw Blame History

2026-06-08 工作日志

代码质量审计 & 安全修复

已完成的 P0/P1 修复

  1. 移除硬编码敏感凭据P0 安全红线)

    • application-dev.yml:邮件密码、阿里云短信 AK/SK、SnailJob Token、MySQL 密码 → 改为 ${ENV_VAR:} 占位符
    • application.ymlMQTT Broker 密码、JWT 密钥 → 改为环境变量引用
    • application-prod.ymlSnailJob 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 保护