README.md 2.3 KB

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+

构建项目

cd backend
mvn clean package -DskipTests

启动 Web 服务

cd finrep-web
mvn spring-boot:run

启动 Worker 服务

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

API 文档

启动服务后访问:

许可证

Copyright © 2024 YuXin Financial Technology Co., Ltd. All rights reserved.