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:
2026-09-01 13:21:49 +08:00
parent 5a723d514e
commit bb3f8bd28d
57 changed files with 5244 additions and 397 deletions
+48
View File
@@ -0,0 +1,48 @@
/**
* 服务端 API:交易记录域(R-0072026-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' });
}
}