# 项目说明文档 ## 目录简介 文件夹包含 Coinbus 项目的后端微服务系统,是一个基于 Spring Cloud Alibaba 的分布式微服务架构,主要用于数字货币交易、行情分析和策略管理。 ## 项目架构 ### 技术栈 - **框架**: Spring Boot 2.6.7, Spring Cloud 2021.0.1, Spring Cloud Alibaba 2021.0.1.0 - **服务注册与配置**: Nacos 2.0.4 - **网关**: Spring Cloud Gateway - **数据库**: MySQL (使用 MyBatis-Plus 3.0.6) - **缓存**: Redis - **安全认证**: JWT + Spring Security - **API文档**: Swagger 3.0.0 - **监控**: Spring Boot Admin 2.6.6, Sentinel ## 主要模块及职责 ### 1. 基础设施层 (jxy-common) - **common-core**: 核心工具类、基础配置、通用常量 - **common-datasource**: 多数据源配置和管理 - **common-datascope**: 数据权限范围控制 - **common-log**: 日志记录和统一日志处理 - **common-redis**: Redis 缓存服务封装 - **common-security**: 安全认证、权限控制、JWT 令牌管理 - **common-swagger**: Swagger API 文档配置 ### 2. 网关服务 (jxy-gateway) - **端口**: 7101 - **职责**: 统一入口、路由转发、负载均衡、限流熔断 - **关联**: 连接所有业务模块,使用 Sentinel 进行流量控制 ### 3. 认证授权服务 (jxy-auth) - **端口**: 9200 - **职责**: 用户认证、JWT 令牌颁发、权限验证 - **邮箱服务**: support@coinbus.cc (mail.privateemail.com:587) - **关联**: 为所有业务模块提供认证服务 ### 4. 业务模块层 (jxy-modules) #### jxy-system (系统管理) - **端口**: 9201 - **职责**: 用户管理、角色权限、菜单管理、系统配置 - **数据库**: 包含用户、角色、权限等系统基础表 #### jxy-marketall (行情服务) - **端口**: 9203 - **职责**: 数字货币行情数据收集、处理、分发 - **邮箱服务**: 集成邮件通知功能 - **关联**: 为策略模块和订单模块提供行情数据 #### jxy-binance (币安服务) - **端口**: 9205 - **职责**: 币安交易所接口对接、交易数据获取 - **关联**: 与行情服务、订单服务配合 #### jxy-order (订单服务) - **端口**: 8102 - **职责**: 交易订单管理、订单状态跟踪、历史订单查询 - **数据库**: 订单表、交易记录表 - **关联**: 依赖行情服务获取实时价格,依赖策略服务生成订单 #### jxy-strategy (策略服务) - **端口**: 9204 - **职责**: 交易策略管理、策略执行、信号分析 - **关联**: 接收行情数据,向订单服务发送交易指令 #### jxy-file (文件服务) - **端口**: 9300 - **职责**: 文件上传、下载、管理 - **关联**: 为其他模块提供文件存储服务 #### windminer (风控挖矿模块) - **端口**: 9808 - **职责**: 风控管理、挖矿策略、风险分析 - **关联**: 与策略服务、订单服务协同工作 ### 5. API 接口层 (jxy-api) - **api-system**: 系统服务接口定义,供其他模块调用 ### 6. 邮件服务 (jxy-mail) - **职责**: 邮件发送、验证码发送、通知服务 - **配置**: mail.privateemail.com, support@coinbus.cc ## 数据库关联 ### 主要数据库表 - **系统库**: 用户表、角色表、权限表、菜单表 - **交易库**: 订单表、交易记录表、账户表 - **行情库**: K线数据、实时行情、市场深度 - **策略库**: 策略配置、策略执行记录、信号记录 ### 数据库配置 - 通过 Nacos 配置中心统一管理 - 支持多数据源切换 - 使用 Druid 连接池 ## 外部服务关联 ### Nacos 服务注册与配置中心 - **地址**: 127.0.0.1:8848 - **用途**: 服务注册发现、配置管理 ### Sentinel 流量控制 - **控制台地址**: 127.0.0.1:8718 - **用途**: 流量控制、熔断降级 ### 邮件服务 - **SMTP服务器**: mail.privateemail.com - **端口**: 587 - **发件邮箱**: support@coinbus.cc ## 功能简介 1. **用户认证与授权**: 基于 JWT 的安全认证体系,支持角色权限管理 2. **行情数据服务**: 实时获取和分发数字货币行情数据 3. **交易策略管理**: 支持多种交易策略的配置和执行 4. **订单管理**: 完整的订单生命周期管理 5. **风控系统**: 实时风险监控和控制 6. **文件管理**: 统一的文件上传下载服务 7. **系统监控**: 基于 Spring Boot Admin 的系统监控 8. **API文档**: Swagger 自动生成 API 文档 ## 相关联其他文件 - **coinbus/README.md**: 项目根目录说明 - **coinbus/yyb/backend/doc/**: 项目文档目录 - 微服务技术架构.xlsx: 架构设计文档 - readme.md: 后端详细说明 - **coinbus/yyb/backend/pom.xml**: Maven 父工程配置 - **各模块/src/main/resources/bootstrap.yml**: 各模块配置文件 ## 服务端口汇总 | 服务名称 | 端口 | 说明 | |---------|------|------| | jxy-gateway | 7101 | 网关服务 | | jxy-auth | 9200 | 认证服务 | | jxy-system | 9201 | 系统管理 | | jxy-marketall | 9203 | 行情服务 | | jxy-strategy | 9204 | 策略服务 | | jxy-binance | 9205 | 币安服务 | | jxy-order | 8102 | 订单服务 | | jxy-file | 9300 | 文件服务 | | windminer | 9808 | 风控挖矿 | ## 启动顺序 1. Nacos (127.0.0.1:8848) 2. Sentinel (127.0.0.1:8718) 3. jxy-gateway 4. jxy-auth 5. jxy-system 6. 其他业务模块 (jxy-marketall, jxy-strategy, jxy-order, jxy-binance, jxy-file, windminer)