jzhu-trading/
├── .env
├── pom.xml # 父 POM
├── db/
│ └── init/
│ └── 01_init_kline.sql # K线表初始化脚本
├── trading-common/ # 共享 DTO 库
├── strategy-core/ # 策略核心模块
├── web-service/ # BFF 服务
├── market-data-service/ # 市场数据服务
├── web-app/ # React 前端应用
└── scripts/ # 脚本目录
└── manage-services.sh # 服务管理脚本
# 在 scripts 目录下执行
./manage-services.sh start
# 或者从项目根目录执行
./scripts/manage-services.sh start
# 在 scripts 目录下执行
./manage-services.sh stop
# 或者从项目根目录执行
./scripts/manage-services.sh stop
# 在 scripts 目录下执行
./manage-services.sh status
# 或者从项目根目录执行
./scripts/manage-services.sh status
docker run -d \
--name trading-timescaledb \
-p 5432:5432 \
-e POSTGRES_DB=trading_platform \
-e POSTGRES_USER=trading \
-e POSTGRES_PASSWORD=trading123 \
-v trading-pgdata:/var/lib/postgresql/data \
timescale/timescaledb:latest-pg16
docker exec -i trading-timescaledb psql -U trading -d trading_platform < db/init/01_init_kline.sql
# 编译整个项目
mvn clean install
# 编译单个模块
mvn clean install -pl trading-common
mvn clean install -pl market-data-service
mvn clean install -pl web-service
# 运行 market-data-service
cd market-data-service
mvn spring-boot:run
# 运行 web-service
cd web-service
mvn spring-boot:run
GET /api/web/kline
参数:
- symbol (String, 必填): 股票代码,如 TSLA
- market (String, 默认 "us"): 市场
- period (String, 默认 "daily"): K线周期
- startDate (String, 可选): yyyy-MM-dd
- endDate (String, 可选): yyyy-MM-dd
返回: List<KlineResponse>
GET /api/market-data/kline
参数:
- symbol (String, 必填): 股票代码,如 TSLA
- market (String, 默认 "us"): 市场
- period (String, 默认 "daily"): K线周期
- startDate (String, 可选): yyyy-MM-dd
- endDate (String, 可选): yyyy-MM-dd
返回: List<KlineResponse>