import { ITrade } from './trade'; import { StoreFull } from './store'; import { IHoldReleaseDetail, IChargeBack } from './operation'; import { PostRiskScheme } from './post-risk-control'; import { IQueryParams, IPagination } from './common'; export interface ITaskQueryParams extends IQueryParams { submittedAtFrom: string; submittedAtTo: string; updatedAtFrom: string; updatedAtTo: string; } export declare class Task { audiFlowID: string; auditLogs: IAuditLog[]; auditObject: string; auditStepName?: string; auditType: string; creator: string; currentStep: number; insCode: string; jobID: string; lastOperator?: string; status: string; preSteps?: string[]; data: ITaskData; createTime: string; updateTime: string; preOperators?: string[]; currentOperators?: string[]; operation?: ETaskOperation; } export declare enum ETaskOperation { Update = "update", TransRelease = "transRelease", Restitution = "restitution", ChargeBack = "chargeback" } export declare enum ETaskPostRiskOperation { CreatePostRisk = "create post risk scheme", UpdatePostRisk = "update post risk scheme", DeletePostRisk = "delete post risk scheme" } export interface IAuditLog { auditOperation: 'string'; auditStepID: number; jobID: string; operator: string; createTime: string; } export interface IReleaseTaskData { holdDetail?: IHoldReleaseDetail; releaseDetail?: IHoldReleaseDetail; } export interface IStoreTaskData { storeData?: StoreFull; origStoreData?: StoreFull; } export interface IChargeBackTaskData { wildErrorOrig: ITrade; wildErrorMsg: IChargeBack; } export interface ITaskData extends IReleaseTaskData, IStoreTaskData, IPostRiskTaskData, IChargeBackTaskData { dataStatus: ETaskStatusMap; jobID: string; originTrans?: ITrade; trans?: ITransInfo; createTime: string; updateTime: string; } export interface IPostRiskTaskData { postRiskSchemeData?: PostRiskScheme; origPostRiskSchemeData?: PostRiskScheme; } export interface ITransInfo { currency: string; intMerCode: string; intStoreCode: string; orderNum: string; originOrderNum: string; platform: string; refundDetail: string; txamt: string; username: string; } export interface ITaskPagination extends IPagination { data: Task[]; } export declare enum ETaskCategory { all = "all", submitted = "submitted", todo = "todo", done = "done" } export declare const TaskTypeMap: { all: string; submitted: string; todo: string; done: string; }; export declare enum ETaskType { transRefund = "transRefund", store = "store", riskControl = "riskControl", operation = "operation" } export declare enum ETaskStatus { Init = "init", Auditing = "auditing", Approved = "approved", Rejected = "rejected" } export declare enum ETaskTypeMap { 'transRefund' = "TASK.TYPE.TRANSREFUND", 'store' = "TASK.TYPE.STORE", 'riskControl' = "TASK.TYPE.RISKCONTROL", 'operation' = "TASK.TYPE.OPERATION" } export declare enum ETaskStatusMap { 'auditing' = "TASK.STATUS.AUDITING", 'approved' = "TASK.STATUS.APPROVED", 'rejected' = "TASK.STATUS.REJECTED" } export declare enum ETaskOperationMap { 'create' = "AUDIT.OPERATION.CREATE", 'approve' = "AUDIT.OPERATION.APPROVE", 'reject' = "AUDIT.OPERATION.REJECT" } export interface IEnrolReq { auditType: string; insCode: string; resourceId: string; } export interface IEnrolRes { token: string; }