# QuantBackend **Repository Path**: lu-benben/quant-backend ## Basic Information - **Project Name**: QuantBackend - **Description**: 这是量化交易的后端部分 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-08 - **Last Updated**: 2026-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Quant Spring Cloud Backend (Demo) 这是一个用于“量化交易项目”前后端对接的 Spring Cloud 微服务后端工程(可运行占位实现)。 当前目标: - 网关统一入口:`http://localhost:8080/api/**` - 前端数据从后端获取:Dashboard / Strategies / TradeHistory / ServerMonitoring 已提供对接用 REST 接口 - 提供数据库初始化 SQL 与 docker 一键启动脚本(便于你后续把占位接口替换为真实落库) ## 技术栈 - Java 17 - Spring Boot 3.x - Spring Cloud Alibaba / Sentinel / Nacos(本地通过 docker-compose 启动) - Spring Cloud Gateway(统一网关) - Kafka(演示市场->交易消费链路;当前页面接口仍为占位数据) - Redis(预留) - sa-token(网关层基于 `satoken` header 做基础放行) - Swagger/knife4j(默认开启) > AI 服务:当前由于你本机的 `alimaven` 可能找不到 Spring AI 依赖,`ai-service` 先以占位接口方式保证工程可编译与联调。 ## 模块说明 - `gateway`:统一入口 + `AuthGlobalFilter`(要求 header 带 `satoken`) - `auth-service`:`/auth/login` 与 `/auth/me` - `market-service`:行情/面板数据(Dashboard/Strategies/Monitoring/Market 等) - `trade-service`:`/trade/orders`、`/trade/history`(对接 TradeHistory) - `ai-service`:`/ai/chat` 占位实现 - `common`:统一返回结构 `ApiResponse` ## 一键启动(Docker + 后端) ### 前置条件 - 已安装并可运行 Docker Desktop(或 `docker` CLI 可用) - 已准备好 JDK17:脚本默认使用 `D:\compiler\java-17` ### 启动 在 `backend` 目录执行: ```powershell .\start.ps1 ``` 脚本将: 1. 启动 Docker:Nacos / Redis / Zookeeper / Kafka / Sentinel Dashboard / MySQL 2. 启动后端五个模块(每个模块一个进程) 启动成功后: - 网关在 `http://localhost:8080` - 已存在可调用接口(见下文) ## SQL 初始化 Docker 中 MySQL 会在首次启动时自动执行: - `backend/sql/init.sql` 当前 SQL 主要用于提供“结构 + 演示数据”,你后续把接口从占位切到真实 DB 时可以直接复用。 ## 前端调用接口(当前已对接) 网关统一前缀:`/api` ### 登录(用于拿 token) - `POST /api/auth/login` - body:`{ "username": "...", "password": "..." }`(后端占位实现会忽略 password) - 返回示例: - `{ "code":0, "data":{ "token":"...", "username":"...", "role":"admin" } }` 登录后请求需带 header: - `satoken: ` ### Dashboard(总览) - `GET /api/dashboard/summary` - `GET /api/dashboard/chart` - `GET /api/dashboard/bots` - `GET /api/dashboard/trades` ### Strategies(策略列表) - `GET /api/strategies/bots` ### TradeHistory(历史成交) - `GET /api/trade/history` ### ServerMonitoring(服务器监控) - `GET /api/monitoring/servers` - `GET /api/monitoring/series` ## 环境变量(可选) - `NACOS_ADDR`:默认 `192.168.190.132:8848` - `REDIS_HOST` / `REDIS_PORT`:默认 `192.168.190.132:6379` - `KAFKA_BOOTSTRAP_SERVERS`:默认 `192.168.190.132:9092` - `SENTINEL_DASHBOARD`:默认 `192.168.190.132:8858`