# Financial Report Generation Backend ## 项目简介 本系统为智能报告生成平台的后端服务,采用 Spring Boot 框架实现,遵循 DDD(领域驱动设计)架构模式。 ## 技术栈 - Java 17 - Spring Boot 3.2.5 - MyBatis-Plus 3.5.6 - MySQL 8.0+ - Redis - RabbitMQ - Maven - Lombok - MapStruct - Resilience4j - Flyway ## 模块说明 ### finrep-parent 父 POM 模块,统一管理依赖版本和插件配置。 ### finrep-common 公共模块,包含: - 上下文管理 - 异常处理 - 工具类 - 常量定义 ### finrep-domain 领域模块,包含: - 领域模型 - 领域服务 - 值对象 - 领域事件 ### finrep-application 应用层模块,包含: - 应用服务 - 编排器 - 端口接口 - 命令/查询 - 策略 ### finrep-infrastructure 基础设施模块,包含: - 持久化实现 - 外部适配器 - 配置类 - 可观测性 ### finrep-web Web 层模块,包含: - REST 控制器 - DTO 定义 - 安全配置 - SSE 支持 - 异常处理 ### finrep-worker Worker 模块,包含: - MQ 消费者 - 消息处理器 - 定时任务 - 分布式锁 ### finrep-contract 契约模块,包含: - OpenAPI 规范 - 接口契约文档 ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.8+ - MySQL 8.0+ - Redis 6.0+ - RabbitMQ 3.12+ ### 构建项目 ```bash cd backend mvn clean package -DskipTests ``` ### 启动 Web 服务 ```bash cd finrep-web mvn spring-boot:run ``` ### 启动 Worker 服务 ```bash cd finrep-worker mvn spring-boot:run ``` ## 开发指南 ### 代码规范 - 遵循阿里巴巴 Java 开发规范 - 使用 Lombok 简化代码 - 使用 MapStruct 进行对象映射 - 使用 Slf4j 进行日志记录 ### 分层规范 - Web 层:处理 HTTP 请求/响应,参数校验 - Application 层:业务编排,用例实现 - Domain 层:核心业务逻辑,领域模型 - Infrastructure 层:技术实现,外部集成 ### 提交规范 ``` feat: 新功能 fix: 修复问题 docs: 文档更新 style: 代码格式 refactor: 重构 test: 测试相关 chore: 构建/工具链相关 ``` ## 部署指南 详见 [docs/deployment.md](docs/deployment.md) ## API 文档 启动服务后访问: - Swagger UI: http://localhost:8080/swagger-ui.html - OpenAPI JSON: http://localhost:8080/v3/api-docs ## 许可证 Copyright © 2024 YuXin Financial Technology Co., Ltd. All rights reserved.