Files
brunoandClaude Sonnet 4.5 0abee793cd
CI/CD Pipeline / test-admin (push) Waiting to run
CI/CD Pipeline / test-bigscreen (push) Waiting to run
CI/CD Pipeline / build-push (ljwx-admin) (push) Blocked by required conditions
CI/CD Pipeline / build-push (ljwx-bigscreen) (push) Blocked by required conditions
CI/CD Pipeline / build-push (ljwx-boot) (push) Blocked by required conditions
CI/CD Pipeline / update-deploy (push) Blocked by required conditions
CI/CD Pipeline / build-pr (ljwx-admin) (push) Blocked by required conditions
CI/CD Pipeline / build-pr (ljwx-bigscreen) (push) Blocked by required conditions
CI/CD Pipeline / build-pr (ljwx-boot) (push) Blocked by required conditions
CI/CD Pipeline / security-scan (push) Successful in 55s
CI/CD Pipeline / test-build-boot (push) Has been cancelled
feat: 实现V2 API架构、个人大屏模块化重构和管理端userId跳转
## ljwx-admin (管理端)
- 新增基于userId的个人健康大屏跳转功能
- 添加 getPersonalBigscreenUrlByUserId() 和 openPersonalBigscreenByUserId() 函数
- 员工管理页面"健康档案"按钮改用userId参数
- 保留deviceSn方法向后兼容(标记为@deprecated)

## ljwx-boot (后端)
### V2 API架构实现
- 新增 AlertV2Controller 和 HealthV2Controller
- 实现 IAlertFacadeV2 和 IHealthFacadeV2 门面层
- 新增 HealthProfileV1Controller 支持健康档案查询
- 添加 V2.29.0 数据库迁移脚本(health_score_daily冗余字段)
- 删除已弃用的V1 Alert相关DTO和VO

### 健康档案服务增强
- 扩展 HealthProfileService 支持统计和监控查询
- 新增 ProfileListQueryDTO、ProfileMonitorQueryDTO、ProfileStatisticsQueryDTO
- 实现 IHealthAppService 移动端应用服务层
- 优化 DailyHealthProfileGenerationService 和 DailyHealthScoreGenerationService

### 测试数据工厂
- 新增 test-data-factory Python工具集
- 支持用户、设备、健康数据、告警、消息的批量生成
- 提供 tenant5_small_v1.yaml 和 tenant5_perf_v1.yaml 数据配方
- 包含完整的CLI工具和状态管理

### 集成测试
- 新增 AlertV2IntegrationTest 和 HealthV2IntegrationTest
- 添加自动化测试脚本 run-v2-automated-tests.sh
- 添加性能测试脚本 run-performance-tests.sh

### 代码质量
- 更新 checkstyle-suppressions.xml 和 checkstyle-multi-tenant.xml
- 删除历史备份文件(Dockerfile.bak等)
- 优化 DeviceBindServiceImpl 设备绑定逻辑

## ljwx-bigscreen (大屏)
### personal-new.html模块化重构
- 将monolithic代码拆分为8个独立模块
- 新增 personal-app-main.js 主应用入口
- 新增模块:
  - header-panel.js - 顶部信息面板
  - device-panel.js - 设备状态面板
  - profile-panel.js - 健康档案面板
  - vitalsign-cards.js - 生命体征卡片
  - wave-chart.js - 波形图表
  - alert-panel.js - 告警面板
  - message-panel.js - 消息面板
  - detail-modal.js - 详情弹窗

### API客户端增强
- 扩展 api-client-v2.js 支持更多健康数据查询
- 优化 proxy/routes.py 代理转发逻辑
- 更新 health_profile.html 模板

## docs (文档)
### 后端开发文档
- alert-v2-migration-summary.md - V2告警API迁移总结
- v2-api-completeness-analysis.md - V2 API完整性分析
- v2-architecture-implementation-plan.md - V2架构实施计划
- week4-integration-test-report.md - 第4周集成测试报告
- week5-progress.md 和 week5-session1-summary.md - 第5周进展
- pagehelper-dependency-fix.md - PageHelper依赖修复
- test-data-generation-plan.md - 测试数据生成计划
- v2-api-manual-test-guide.md - V2 API手动测试指南
- v2-architecture-verification-guide.md - V2架构验证指南
- v2-automated-testing-guide.md - V2自动化测试指南
- v2-development-guidelines.md - V2开发指南
- v2-migration-complete-plan.md - V2迁移完整计划
- v2-migration-progress-tracker.md - V2迁移进度追踪

### 大屏开发文档
- personal-html-refactoring-completion.md - personal.html重构完成报告

### 营销文档
- REVIEW-enterprise-health-platform-overview.md - 企业健康平台概览文档评审

## CHANGELOG.md
- 记录所有重大变更和新增功能

---

相关Issue: N/A
测试状态: 集成测试通过,手动测试通过

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
2026-02-02 23:14:08 +08:00

10 KiB
Raw Permalink Blame History

Changelog

本文档记录LJWX Health项目的所有重要变更。

格式基于 Keep a Changelog, 版本号遵循 Semantic Versioning。


未发布

Added

  • V2 API 架构: Health 和 Alert 模块支持 /api/v2/* 路由
    • HealthV2Controller: 健康评分趋势/分布/排名查询(3个端点)
    • AlertV2Controller: 告警列表/详情/处理/批量更新(4个端点)
    • 薄 Facade 层: V2 专用鉴权和参数注入(IHealthFacadeV2, IAlertFacadeV2)
    • Service 层复用: V1/V2 共享业务逻辑,无代码重复
    • 批量操作支持: 告警状态批量更新,返回成功/失败详情
    • 完整测试套件: 35个自动化测试用例(单元+集成+性能)
    • 自动化验证脚本: run-v2-automated-tests.sh 一键运行所有测试
  • Message V2.1 系统: 企业级消息通知架构升级
    • Lazy Fanout 公告系统: 按需展开,支持10k+用户零延迟发布
    • Outbox 可靠投递: 事务性消息保证,重试+幂等性
    • 多渠道支持: 私信/公告/系统通知统一接口
    • 响应状态追踪: READ/ACKNOWLEDGE/PROCESS/IGNORE 四态管理
    • 自动耗时统计: sent_time → 响应时间(毫秒级精度)
  • OpenAPI代码生成: 前端TypeScript类型自动生成(403个API端点)
  • 类型安全API客户端: openapi-fetch集成,100%类型覆盖
  • 前端API同步检查: GitHub Actions自动检测API变更
  • 文档管理标准: 完整的文档分类和自动化检查脚本

Changed

  • V2 API 架构实施:
    • Controller 层: 新增 HealthV2Controller, AlertV2Controller
    • Facade 层: 新增 IHealthFacadeV2, IAlertFacadeV2 及实现类
    • DTO/VO: 新增 domain/dto/v2/* 和 domain/vo/v2/* 完整类型定义
    • OpenAPI 规范: 导出 7 个新端点到 api/openapi.json
    • 测试基础设施: JUnit 5 + Mockito + Testcontainers + wrk
  • Message 架构重构 (V2.0 → V2.1):
    • 数据库模型: 新增 is_announcement, fanout_mode, dedup_key, payload, audience 字段
    • API 层: 新增 /api/v2/message 查询/响应控制器
    • Service 层: MessageQueryService, MessageResponseService, MessagePublishService
    • Mapper 层: TMessageOutboxMapper 支持 Outbox 模式
    • DTOs: MessageQueryDTO, MessageResponseDTO, UserInboxQueryDTO 等
    • VOs: MessageVO, MessageDetailVO, UserInboxVO, MessageResponseResultVO
  • ID 字段类型标准化: 所有 ID 字段强制使用 Long 类型(Checkstyle 规则)
  • ljwx-admin/package.json: 新增 api:generate 和 api:check 脚本
  • build:test: 自动运行 API 类型生成
  • 数据流Dashboard图标: 修复 @vicons/antd 导入错误,改用 @iconify/vue

Fixed

  • PageHelper 依赖冲突修复 (2026-02-02):
    • 问题: PageHelper 1.4.7 与 Spring Boot 3.x 不兼容,导致 ClassNotFoundException: net.sf.jsqlparser.statement.select.SelectBody
    • 影响: 应用无法启动(P0 阻塞性问题)
    • 修复: 升级 PageHelper 至 2.1.0(Spring Boot 3.x 兼容版本)
    • 依赖: 显式声明 JSqlParser 4.9 确保兼容性
    • 验证: 应用成功启动,所有分页功能正常
    • 文档: docs/06-development/backend/pagehelper-dependency-fix.md
  • V2 架构迁移编译错误修复 (Phase 0):
    • 修复 HealthFacadeV2Impl 的 SecurityContextHolder.getOrgId() 调用错误
    • 修复 AlertFacadeV2Impl 的字段映射错误和类型转换问题
    • 修复 FacadeMetrics 指标收集方法签名不匹配
    • 修复 THealthScoreDaily 的构造器/Getter 方法丢失
    • 修复 Timer.Sample 在 Micrometer 中的正确用法
    • 修复 13 个 Mapper 方法签名冲突(V1/V2 共存)
    • 修复 DailyHealthProfile 的 LocalDateTime 转换错误

Database

  • V2.7.1: Message V2.1 核心字段迁移(is_announcement, fanout_mode, dedup_key, payload, audience, response_status, *_duration_ms)
  • V2.7.2: Outbox 表创建(t_device_message_outbox),支持事务性消息投递
  • V2.7.3: Detail 表渠道类型支持(channel_type)

Observability

  • Metrics (Micrometer): MessageMetrics.java 监控覆盖
    • Counters: ljwx_message_publish_total, query_total, response_total, outbox_delivery_total
    • Timers: publish_duration_seconds, query_duration_seconds, response_duration_seconds
    • Summaries: recipient_count, result_count
    • Gauges: outbox_queue_size
  • Logs (Logback): JSON 结构化日志 + Trace 上下文关联
  • Traces (OpenTelemetry): 自动埋点(spring-webmvc, jdbc, redis)→ Tempo

Performance

  • V2 API 性能指标:
    • Health 趋势查询: P95 < 100ms(7天/30天)
    • Health 分布查询: P95 < 100ms
    • Health 排名查询: P95 < 100ms
    • Alert 处理: P95 < 100ms
    • Alert 批量更新: P95 < 100ms
    • 吞吐量: > 1000 req/s(wrk 4线程×100连接×30s)
  • 收件箱查询: <50ms/页(Lazy Fanout CTE 优化)
  • 消息发布: <2s/10k人公告(Lazy 模式,无预展开)
  • 响应操作: <10ms/次(Upsert 优化)

Documentation

  • V2 API 架构文档:
    • 📁 docs/06-development/backend/v2-development-guidelines.md - V2 开发规范指南
    • 📁 docs/06-development/backend/v2-automated-testing-guide.md - 自动化测试使用指南
    • 📁 docs/06-development/backend/v2-api-manual-test-guide.md - 手动测试指南
    • 📁 docs/06-development/backend/v2-architecture-verification-guide.md - 架构验证指南
    • 📁 docs/06-development/backend/v2-migration-progress-tracker.md - 迁移进度跟踪
    • 📁 docs/06-development/backend/v2-migration-complete-plan.md - 完整迁移计划
  • 📚 文档重构: 创建docs/目录结构(8个分类)
  • 📄 精简README.md根目录(12个 → 5个文档,-58%)
  • 📁 docs/06-development/api/openapi-codegen-guide.md - OpenAPI代码生成指南
  • 📁 docs/07-compliance/documentation-standards.md - 文档管理标准
  • 🗄️ 归档172个历史文档到archive/2025/
  • ✅ 创建自动化检查脚本 scripts/check-doc-location.sh

Dependencies

  • ➕ openapi-typescript ^7.10.1 (devDependencies)
  • ➕ openapi-fetch ^0.15.0 (dependencies)

2.0.2 - 2026-01-04

Added

  • 数据流监控Dashboard: ECharts Sankey拓扑图 + WebSocket实时推送
  • Grafana仪表板: 6个监控面板(吞吐量、去重率、告警、延迟)
  • WebSocket推送: /ws/data-flow 端点,3秒自动刷新
  • Redis统计: 6个关键指标(HTTP/BLE吞吐、接收数、去重、告警、延迟)
  • 自动化验证脚本: scripts/verify-data-flow-dashboard.sh

Changed

  • 前端路由增加数据流监控页面 /monitor/data-flow
  • DataUpload集成统计记录功能

Documentation

  • DATA_FLOW_DASHBOARD_QUICKSTART.md - 5分钟快速部署
  • DATA_FLOW_DASHBOARD_DEPLOYMENT.md - 完整部署文档
  • DATA_FLOW_DASHBOARD_IMPLEMENTATION_SUMMARY.md - 技术细节
  • HEALTH_DATA_FLOW_ANALYSIS.md - 架构分析

2.0.1 - 2026-01-02

Added

  • 自定义基础镜像: jdk21-maven 预装Maven和构建工具
  • Harbor镜像复用: 所有基础镜像统一从Harbor拉取

Changed

  • Dockerfile标准化命名为 Dockerfile.prod
  • 前端pnpm版本统一为 10.8.0
  • 依赖更新: chart.js 4.5.1, jiti 2.6.1, rollup 4.54.0

Improved

  • CI构建时间: 8分钟 → 5分钟 (-37.5%)
  • ljwx-boot构建: 5分钟 → 3分钟 (-40%)

Documentation

  • DOCKER_OPTIMIZATION_GUIDE.md - Docker优化指南

2.0.0 - 2025-12-25

Added

  • 轨迹回放引擎: DBSCAN聚类 + 停留点识别
  • 热力图生成: 网格聚合 + 高斯平滑
  • 智能告警引擎: 4种规则抑制误报
  • 离线轨迹补传: 去重检测 + 时序恢复
  • WebSocket实时通信: 支持200+并发连接
  • SSE降级方案: 兼容不支持WebSocket的环境

Improved

  • 轨迹写入: 200 TPS → 1000+ TPS (5倍提升)
  • 查询速度: 10-15s → <5s (3倍提升)
  • Redis缓存命中率: 60%+ (从无到有)

Changed

  • 数据库分区表(6个月滚动窗口)
  • 11个复合索引优化
  • 连接池扩容(Druid 100, Lettuce 50)

1.4.2 - 2025-12-24

Added

  • MySQL性能优化系统
  • 连接池优化配置
  • 地理围栏空间索引
  • JSON解析缓存
  • 表分区迁移

Improved

  • 连接池响应速度提升40%
  • 空间查询性能提升3倍
  • JSON解析性能提升80%

1.4.1 - 2025-12-22

Fixed

  • ljwx-bigscreen部署问题修复
  • 数据库数据导入脚本

Added

  • 基础设施集成配置

1.4.0 - 2025-12-20

Added

  • 工程治理框架: PROMPT_BLUEPRINT.md
  • Flyway数据库迁移: 自动化schema管理
  • Docker Compose P0环境: 开发环境一键启动
  • 可观测性增强: OpenTelemetry + Prometheus + Grafana + Loki
  • Kubernetes部署: Helm charts

Documentation

  • OBSERVABILITY_IMPLEMENTATION.md - 可观测性实施指南
  • BLUEPRINT_COMPLIANCE_REPORT.md - 蓝图合规性报告

1.3.8 - 2025-08-29

Added

  • Excel导出功能
  • 自定义弹窗系统

Fixed

  • 静态文件架构优化

1.3.6 - 2025-08-26

Added

  • 多租户告警规则系统
  • 告警规则隔离机制

版本说明

版本号规则

  • 主版本号 (Major): 不兼容的API修改
  • 次版本号 (Minor): 向下兼容的功能性新增
  • 修订号 (Patch): 向下兼容的问题修复

变更类型

  • Added: 新增功能
  • Changed: 对现有功能的变更
  • Deprecated: 已废弃的功能
  • Removed: 已移除的功能
  • Fixed: Bug修复
  • Security: 安全相关修复
  • Improved: 性能优化
  • Documentation: 文档更新