# 项目说明文档

## 目录简介

yyb 文件夹包含 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)
