委托系统
子工程与源码入口
coinex-contract-entrust 包含 contract-entrust-api、contract-entrust-provider。provider 中的重要位置:
com/exch/contract/entrust/provider/ContractEntrustServiceImpl.javacom/exch/contract/entrust/service/EntrustCreateService.javacom/exch/contract/entrust/service/EntrustCancelService.javacom/exch/contract/entrust/service/EntrustCreateTpslService.javacom/exch/contract/entrust/service/EntrustCancelTpslService.java
以上位于 contract-entrust-provider/src/main/java/。
普通单创建流程
ContractEntrustServiceImpl.saveEntrust
→ 非 TP_SL 分支
→ EntrustCreateService.saveEntrust
→ 参数及最新价 / 合约交易配置 / 用户状态
→ 涨跌幅 / 市价全平 / 精度 / 用户杠杆
→ 账户条件校验
→ ContractMatchEntrustDTO
→ saveOrder → matchEngineApi.addOrder
当前源码实际保留了 addOrder 调用,与现货旧委托桥接的注释情况不同。用户与机器人分支、开平仓、全仓逐仓等具体规则需要分别核验,不从流程归纳推导未读取的公式。
条件单流程
TP_SL 分支转到 EntrustCreateTpslService,构造后调用 matchEngineApi.addTpslOrder。条件单保存与后续触发、普通委托创建、成交是不同阶段;触发价格来源、调度及并发控制仍需沿完整实现继续确认。
撤单流程
普通单经 EntrustCancelService 查询缓存委托后调用 matchEngineApi.cancelOrder;条件单经 EntrustCancelTpslService 调用 cancelTpslOrder。批量撤单也有对应分流,不把撤单受理当成所有订单均已取消。
输入与输出
输入包括用户与商户、合约、开平方向、价格数量及杠杆仓位上下文;输出需按响应区分委托受理、错误、已取消或最终成交。历史委托、成交查询与仓位查询分别使用对应服务。
验证场景
杠杆配置缺失、用户受限、市价全平、精度或数量错误、保证金不足、条件单重复触发、部分成交撤单和批量部分失败。