# 架构说明 系统采用前后端分离的模块化单体架构。后端是一个 Spring Boot 应用,按业务域划分包结构;异步任务通过 RabbitMQ 队列执行,也支持本地内联处理以便开发和测试稳定运行。 ## 组件 - Web UI:Vue 3 管理端,提供表格、表单、审批、任务和审计页面。 - REST API:统一 `/api/v1` 前缀,统一响应、分页和错误结构。 - 数据库:PostgreSQL 保存核心业务数据,Flyway 维护迁移。 - 缓存:Redis 保存登录失败计数、幂等键和短期状态。 - 队列:RabbitMQ 承载薪酬核算、导入导出、Webhook 重试任务。 - 文件存储:本地目录保存导入源文件和导出 CSV。 - 可观测性:Actuator health、结构化日志、correlationId。 ## 数据流 1. 用户登录后获取 access token 与 refresh token。 2. 前端调用业务 API,后端进行请求级、方法级、对象级和数据范围鉴权。 3. 长任务创建任务记录并返回任务 ID;任务完成后更新状态和文件路径。 4. 敏感操作写入 `audit_logs`,记录 before/after、操作者、IP、UA、关联 ID 和 hash 链。