export interface TradeServeInfo {
  boneInfo?: {
    boneUrl?: string[];
    diedReason?: string;
    diedTime?: string;
    petName?: string;
    petType?: string;
    weight?: string;
  };
  subInfo?: {
    changeRule?: string;
    merchantRemark?: string;
    pickUpAddress?: string;
    sendAddress?: string;
    subOrder?: string;
    subType?: string;
    userRemark?: string;
  };
  userId?: number;
  userMobile?: number;
  userName?: string;
  userNickName?: string;
  userRemark?: string;
}
export interface TradeExtendCostInfo {
  chargeType?: string; //收费方式
  costName?: string; //超区域服务费
  serveArea?: string; //可服务区域
  targetArea?: string; //目标区域
  weight?: string; //体型/体重
  respTime?: string; //响应时间
  respMode?: string; //响应模式
  chargeTime?: string; //收费时段
  payInfo?: {
    payPrice?: string;
    totalPrice?: string;
    discountPrice?: string;
  };
  refundPrice?: string;
  serveExtFee?: string; //服务附加费
}
export interface Serve {
  count?: string;
  handPrice?: number;
  price?: string;
  serveDesc?: string;
  serveName?: string;
  serveUrl?: string;
}
export interface TradeExtendServeInfo {
  discountPrice?: string;
  payPrice?: number;
  refundCount?: string;
  refundMoney?: string;
  serve?: Serve[];
  tempType?: number;
  totalPrice?: string;
  serveType?: string; //"处理方式"
  serveTitle?: string;
  address?: string;
  deliveryType?: string;
  sendUser?: string;
  userMobile?: string;
  receiveUser?: string;
}

export interface TradeOrderDetailRespVO {
  cancelRemark?: string;
  /**
   * 取消原因
   */
  cancelReason?: string;
  /**
   * 取消时间
   */
  cancelTime?: string;
  /**
   * 下单时间
   */
  createTime?: string;
  /**
   * 优惠金额
   */
  discountPrice?: number;
  /**
   * 财务状态
   */
  financeStatus?: number;
  /**
   * 订单完成时间
   */
  finishTime?: string;
  /**
   * 订单编号
   */
  id?: number;
  /**
   * 商品列表
   */
  items?: Item[];
  /**
   * 实收金额
   */
  livePrice?: number;
  /**
   * 商家备注
   */
  merchantRemark?: string;
  /**
   * 订单类目id
   */
  orderCategoryId?: number;
  /**
   * 订单类目名称
   */
  orderCategoryName?: string;
  /**
   * 订单编号
   */
  orderNum?: string;
  /**
   * 订单状态
   * {@link TradeOrderStatusEnum#getStatus()}
   */
  orderStatus?: number;
  /**
   * 订单来源
   * {@link TerminalEnum#getTerminal()}
   */
  orderTerminal?: number;
  /**
   * 订单类型
   * {@link TradeOrderTypeEnum#getType()}
   */
  orderType?: number;
  /**
   * 支付渠道 （线上线下）
   */
  payChannelCode?: number;
  /**
   * 交易流水号
   */
  payOrderId?: string;
  /**
   * 实付金额
   */
  payPrice?: number;
  /**
   * 支付时间
   */
  payTime?: string;
  /**
   * 支付方式
   */
  payType?: number;
  /**
   * 订单金额
   */
  price?: number;
  /**
   * 保障状态
   */
  propertyStatus?: number;
  /**
   * 保障时间
   */
  propertyTime?: string;
  /**
   * 退款金额
   */
  refundPrice?: number;
  /**
   * 退款时间
   */
  refundTime?: string;
  /**
   * 订单状态流转记录
   */
  statusList?: TradeOrderStatusRespVo[];
  /**
   * 附加费信息(order_serve_info配置)
   */
  tradeExtendCostInfo?: TradeExtendCostInfo[];
  /**
   * 扩展服务信息(order_serve_info配置)
   */
  tradeExtendServeInfo?: TradeExtendServeInfo[][];
  /**
   * 服务信息(order_serve_info配置)
   */
  tradeServeInfo?: TradeServeInfo;
  /**
   * 用户头像
   */
  userAvatar?: string;
  /**
   * 用户编号
   */
  userId?: number;
  /**
   * 用户手机号
   */
  userMobile?: string;
  /**
   * 用户姓名
   */
  userName?: string;
  /**
   * 用户昵称
   */
  userNickName?: string;
  /**
   * 用户备注 - 必填，示例：你猜
   */
  userRemark?: string;
}

/**
 * com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderDetailRespVO.Item
 *
 * Item
 */
export interface Item {
  /**
   * 购买数量 - 必填，示例：1
   */
  count?: number;
  /**
   * 商品优惠（总） - 必填，示例：100
   */
  discountPrice?: number;
  /**
   * 成本价
   */
  expensePrice?: number;
  /**
   * 到手价
   */
  handedPrice?: number;
  /**
   * 店铺名称
   */
  id?: number;
  /**
   * 订单类目id
   */
  orderCategoryId?: number;
  /**
   * 订单类目名称
   */
  orderCategoryName?: string;
  /**
   * 商品实付金额（总） - 必填，示例：100
   */
  payPrice?: number;
  /**
   * 商品图片 - 必填，示例：https://www.iocoder.cn/1.png
   */
  picUrl?: string;
  /**
   * 商品原价（单） - 必填，示例：100
   */
  price?: number;
  /**
   * 属性数组
   */
  properties?: string;
  /**
   * 累计退款数量
   */
  refundCount?: number;
  /**
   * 累计退款金额
   */
  refundPrice?: number;
  /**
   * 服务内容
   */
  serveContent?: string;
  /**
   * 店铺logo
   */
  shopLogo?: string;
  /**
   * 店铺名称
   */
  shopName?: string;
  /**
   * 商品 SKU 编号 - 必填，示例：1
   */
  skuId?: number;
  /**
   * 商品规格
   */
  skuName?: string;
  /**
   * 商品 SPU 编号 - 必填，示例：1
   */
  spuId?: number;
  /**
   * 商品 SPU 名称 - 必填，示例：芋道源码
   */
  spuName?: string;
  /**
   * 商品总价
   */
  totalPrice?: number;
  /**
   * 单位
   */
  unit?: string;
}

/**
 * com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderStatusRespVo
 *
 * TradeOrderStatusRespVo
 */
export interface TradeOrderStatusRespVo {
  /**
   * 操作后状态
   */
  afterStatus?: number;
  /**
   * 操作前状态
   */
  beforeStatus?: number;
  /**
   * 订单日志信息
   */
  content?: string;
  /**
   * 订单日志信息
   */
  createTime?: string;
  id?: number;
  /**
   * 操作类型
   *
   * {@link TradeOrderOperateTypeEnum}
   */
  operateType?: number;
  /**
   * 订单号
   *
   * 关联{@link TradeOrderDO#getId()}
   */
  orderId?: number;
}

export interface TradeOrderFastPhotoRespVo {
  /**
   * 商品概述
   */
  brief?: string;
  /**
   * 商品详细描述
   */
  content?: string;
  /**
   * 产品轮播图
   */
  imgs?: string;
  /**
   * 产品主图
   */
  pic?: string;
  /**
   * sku
   */
  skuName?: string;
  /**
   * 商品名称
   */
  spuName?: string;
}

export interface TradeOrderSubLogDO {
  /**
   * 创建时间
   */
  createTime?: string;
  /**
   * 创建者，目前使用 SysUser 的 id 编号
   *
   * 使用 String 类型的原因是，未来可能会存在非数值的情况，留好拓展性。
   */
  creator?: string;
  /**
   * 是否删除
   */
  deleted?: number;
  /**
   * 编号
   */
  id?: number;
  /**
   * 订单号
   */
  orderId?: number;
  /**
   * 预约时间
   */
  subTime?: string;
  /**
   * 更新者，目前使用 SysUser 的 id 编号
   *
   * 使用 String 类型的原因是，未来可能会存在非数值的情况，留好拓展性。
   */
  updater?: string;
  /**
   * 最后更新时间
   */
  updateTime?: string;
  /**
   * 用户编号
   */
  userId?: number;
}
