feat: 迭代03-05 交易记录接入、行情实时、QMT连接配置、data store 标准化
- R-004 QMT连接配置:多配置管理 + 会话头部快捷切换(03-QMT连接配置) - R-005 WS盘中价格实时更新:服务端中转+缓存+前端轮询(04-WS盘中价格实时更新) - R-006 策略数据 JSON data store 标准化(store.json/market.json/schema.json) - R-007 交易记录接入:当日订单+成交单表合并(委托主行+展开成交明细)、时间段查询(今日/本周/本月+手动起止)、费用计算(佣金费率万m_dCommission+最低5元、印花税卖出万5、过户费双向万0.1) - 架构治理:api 按领域拆分、component 目录、QmtHealthMonitor
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* 服务端 API:交易记录域(R-007,2026-09-01)
|
||||
*
|
||||
* 端点:
|
||||
* orders → 当日委托(支持 code/status 过滤)
|
||||
* trades → 当日成交
|
||||
* trading-dates → 交易日历(日期导航)
|
||||
*
|
||||
* 数据流:前端轮询 → /odl/api/orders|trades → dataSource.getOrders/getTrades
|
||||
* (服务端直连 QMT Bridge REST,技术约束-003)
|
||||
*/
|
||||
|
||||
/** 交易记录端点方法表 */
|
||||
export const TRADE_METHODS = new Set([
|
||||
'orders',
|
||||
'trades',
|
||||
'trading-dates',
|
||||
]);
|
||||
|
||||
/**
|
||||
* 处理交易记录端点
|
||||
* @param {string} method
|
||||
* @param {object} args
|
||||
* @param {object} runtime { dataSource }
|
||||
*/
|
||||
export async function handleTrade(method, args, { dataSource }) {
|
||||
switch (method) {
|
||||
case 'orders':
|
||||
return await dataSource.getOrders({
|
||||
code: args.code,
|
||||
status: args.status,
|
||||
start: args.start,
|
||||
end: args.end,
|
||||
});
|
||||
case 'trades':
|
||||
return await dataSource.getTrades({
|
||||
start: args.start,
|
||||
end: args.end,
|
||||
});
|
||||
case 'trading-dates':
|
||||
return await dataSource.getTradingDates({
|
||||
start: args.start,
|
||||
end: args.end,
|
||||
});
|
||||
default:
|
||||
throw Object.assign(new Error('unknown trade method: ' + method), { code: 'not-found' });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user