oak-pay-business/src/types/ShipClazz.ts

26 lines
999 B
TypeScript

import { EntityDict } from '../oak-app-domain';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/types/Entity';
import BackendRuntimeContext from '../context/BackendRuntimeContext';
export default interface ShipClazz<ED extends EntityDict & BaseEntityDict, Context extends BackendRuntimeContext<ED>> {
// 是否可以使用这个接口下单
available(shipServiceId: string, orderIds: string[], context: Context): Promise<boolean>;
// 下单
eOrder(shipId: string, context: Context): Promise<string>;
// 取消
cancelOrder(shipId: string, context: Context): Promise<void>;
// 同步状态
syncState(shipId: string, context: Context): Promise<EntityDict['ship']['OpSchema']['iState']>;
// 同步轨迹
syncPaths(shipId: string, context: Context): Promise<EntityDict['ship']['OpSchema']['extraPaths']>;
// 返回打印数据
getPrintInfo(shipId: string, context: Context): Promise<{
type: 'html';
data: string;
}>
}