package com.qs.mp.pay.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qs.mp.common.enums.BizTypeEnum;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * @describe 支付订单表实体类
 * @auther quanshu
 * @create 2022-03-04 14:02:40
 */
@TableName("mp_pay_order")
@Data
public class PayOrder implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * 订单ID
   */
  @TableId(value = "order_id" , type = IdType.INPUT)
  private String orderId;

  /**
   * 订单类型，1:渠道订单，2用户订单
   */
  @TableField("biz_type")
  private BizTypeEnum bizType;

  /**
   * 业务单据ID，例如：渠道订单关联的渠道订单ID
   */
  @TableField("biz_id")
  private String bizId;

  /**
   * 支付订单编号,三方支付订单编号
   */
  @TableField("order_no")
  private String orderNo;

  /**
   * 订单产生时间
   */
  @TableField("order_time")
  private String orderTime;

  /**
   * 支付来源 1:支付宝  2:微信支付 5：云闪付
   */
  @TableField("pay_resource")
  private String payResource;

  /**
   * 1004：支付宝CTB；1008：微信公众号（需要绑定支付目录）1014: 支付宝服务窗1016：云闪付CTB1017：微信小程序1019：支付宝小程序（请用1014编码）
   */
  @TableField("trans_type_code")
  private String transTypeCode;

  /**
   * 交易金额，以分为单位
   */
  @TableField("transaction_amount")
  private Integer transactionAmount;

  /**
   * 订单备注 长度 100
   */
  @TableField("order_remark")
  private String orderRemark;

  /**
   * 订单名称，如：充值，租赁仓库，采购设备等
   */
  @TableField("order_name")
  private String orderName;

  /**
   * 订单状态码
   */
  @TableField("order_status")
  private String orderStatus;

  /**
   * 返回状态码
   */
  @TableField("code")
  private String code;

  /**
   * 返回结果说明
   */
  @TableField("result")
  private String result;

  /**
   * 交易完成时间
   */
  @TableField("complete_date")
  private String completeDate;

  /**
   * 微信/支付宝支付详情页上对应的商户/商家订单编号
   */
  @TableField("channel_no")
  private String channelNo;

  /**
   * 创建时间
   */
  @TableField("gmt_created")
  private Date gmtCreated;

  /**
   * 修改时间
   */
  @TableField("gmt_modified")
  private Date gmtModified;


}
