You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// Package service 业务逻辑层接口定义
package service
import (
"context"
"market-data-service/api"
)
// StockService 股票业务服务
type StockService interface {
// QueryKLines 查询K线数据
QueryKLines(ctx context.Context, req *api.KLineQueryRequest) (*api.KLineData, error)
// ListSymbols 查询标的列表
ListSymbols(ctx context.Context, req *api.SymbolListRequest) (*api.SymbolListData, error)
// BatchQueryKLines 批量查询K线
BatchQueryKLines(ctx context.Context, req *api.BatchKLineRequest) (*api.BatchKLineData, error)
// GetTradingDates 获取交易日历
GetTradingDates(ctx context.Context, req *api.TradingDatesRequest) (*api.TradingDatesData, error)
}
// FuturesService 期货业务服务
type FuturesService interface {
// QueryKLines 查询K线数据
QueryKLines(ctx context.Context, req *api.KLineQueryRequest) (*api.KLineData, error)
// ListSymbols 查询标的列表
ListSymbols(ctx context.Context, req *api.SymbolListRequest) (*api.SymbolListData, error)
// BatchQueryKLines 批量查询K线
BatchQueryKLines(ctx context.Context, req *api.BatchKLineRequest) (*api.BatchKLineData, error)
// GetTradingDates 获取交易日历
GetTradingDates(ctx context.Context, req *api.TradingDatesRequest) (*api.TradingDatesData, error)
// GetContractsByUnderlying 根据品种获取可交易合约
GetContractsByUnderlying(ctx context.Context, req *api.FuturesContractsRequest) (*api.FuturesContractsData, error)
}
// AdminService 管理服务
type AdminService interface {
// GetDataSourceStatus 获取数据源状态
GetDataSourceStatus(ctx context.Context) (*api.DataSourceStatusData, error)
// SwitchDataSource 切换数据源
SwitchDataSource(ctx context.Context, req *api.SourceSwitchRequest) error
// BackfillData 历史数据补录返回任务ID
BackfillData(ctx context.Context, req *api.BackfillRequest) (string, error)
// HealthCheck 健康检查
HealthCheck(ctx context.Context) (*api.HealthResponse, error)
}