export class FeeDim {
  public static PayStatus = class {
    public static wait = "wait"
    public static paying = "paying"
    public static paid = "paid"
    public static cancel = "cancel"
    public static refund = "refund"
  }

  public static PayStatusMap = {
    [FeeDim.PayStatus.wait]: "未支付",
    [FeeDim.PayStatus.paying]: "支付中",
    [FeeDim.PayStatus.paid]: "已支付",
    [FeeDim.PayStatus.cancel]: "已取消",
    [FeeDim.PayStatus.refund]: "已退款",
  }

  public static RefundType = class {
    public static full = "full"
    public static part = "part"
  }

  public static RefundTypeMap = {
    [FeeDim.RefundType.full]: "全额退款",
    [FeeDim.RefundType.part]: "部分退款",
  }

  public static BillingStatus = class {
    public static wait = "wait"
    public static done = "done"
  }

  public static BillingStatusMap = {
    [FeeDim.BillingStatus.wait]: "未计费",
    [FeeDim.BillingStatus.done]: "已计费",
  }

  // 交易方类型
  public static PartyType = class {
    public static seller = "seller"
    public static vendor = "vendor"
  }

  public static PartyTypeMap = {
    [this.PartyType.seller]: '卖家',
    [this.PartyType.vendor]: '供应商',
  }

  // 费用来源
  public static FeeSource = class {
    public static order = "order"
    public static orderRefund = "orderRefund"
  }

  public static FeeSourceMap = {
    [FeeDim.FeeSource.order]: '订单',
    [FeeDim.FeeSource.orderRefund]: '订单退款'
  }

  // 费用流水类型
  public static FeeCategory = class {
    public static ar = "ar"
    public static ap = "ap"
  }

  public static FeeCategoryMap = {
    [this.FeeCategory.ar]: "应收",
    [this.FeeCategory.ap]: "应付",
  }

  // 费用类型
  public static FeeType = class {
    public static sku = "sku"
    public static shipping = "shipping"
    public static out = "out"
  }

  public static FeeTypeMap = {
    [this.FeeType.sku]: "商品费",
    [this.FeeType.shipping]: "运费",
    [this.FeeType.out]: "出库费",
  }

  public static RefundCode = class {
    public static orderRefund = "orderRefudn"
  }

  public static RefundCodeMap = {
    [FeeDim.RefundCode.orderRefund]: "订单费退款",
  }

  // 账单状态
  public static BillStatus = class {
    public static wait = "wait"
    public static done = "done"
  }

  public static BillStatusMap = {
    [FeeDim.BillStatus.wait]: "未出账",
    [FeeDim.BillStatus.done]: "已出账",
  }

  // 审核状态
  public static AuditStatus = class {
    public static wait = "wait"
    public static auditing = "auditing"
    public static done = "done"
  }

  public static AuditStatusMap = {
    [this.AuditStatus.wait]: "未对账",
    [this.AuditStatus.auditing]: "对账中",
    [this.AuditStatus.done]: "已对账",
  }

  // 审核结果
  public static AuditResult = class {
    public static approve = "approve"
    public static reject = "reject"
  }

  public static AuditResultMap = {
    [this.AuditResult.approve]: "已通过",
    [this.AuditResult.reject]: "已拒绝",
  }

  // 结算状态
  public static SettleStatus = class {
    public static wait = "wait"
    public static auditing = "auditing"
    public static reject = "reject"
    public static preDone = "preDone"
    public static done = "done"
  }

  public static SettleStatusMap = {
    [this.SettleStatus.wait]: "未结算",
    [this.SettleStatus.auditing]: "审核中",
    [this.SettleStatus.reject]: "已拒绝",
    [this.SettleStatus.preDone]: "待结款",
    [this.SettleStatus.done]: "已结款",
  }
}
