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

// 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)
}