package com.qnfhq.modules.c2c.entity;

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 lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * c2c订单
 *
 * @author yelz 30262728@qq.com
 * @since 1.0.0 2025-11-17
 */
@Data
@TableName("c2c_order")
public class C2cOrderEntity implements Serializable {
    private static final long serialVersionUID = 1L;


    @TableId(type = IdType.AUTO)
	private Long id;
    /**
     * 订单编号
     */
	private String orderNo;
    /**
     * 下单人的编号
     */
	private Long userId;
    /**
     * 下单名字
     */
	private String userName;
    /**
     * 方向：1买入  2 卖出
     */
	private Integer direction;
    /**
     * 法币
     */
	private String legalCoin;
    /**
     * 数币
     */
	private String symbol;
    /**
     * 广告编号
     */
	private Long c2cAdId;
    /**
     * 交易对手编号
     */
	private Long tranUserId;
    /**
     * 交易对手名字
     */
	private String tranUserName;
    /**
     * 单价
     */
	private BigDecimal tranPrice;
    /**
     * 数币数量
     */
	private BigDecimal symbolNum;
    /**
     * 法币的交易金额
     */
	private BigDecimal tranAmount;
    /**
     * 支付方式：1微信  2支付宝 3银行借记卡
     */
	private Integer payType;
    /**
     * 付款时间
     */
    private Date payTime;
    /**
     * 流程：0 进行中 1 已结束
     */
	private Integer flow;
    /**
     * 订单状态：0 未付款 1 已付款（确认付款后）2 申诉 3 已完成 4 已取消
     */
	private Integer status;
    /**
     * 广告要求
     */
	private String remark;
    /**
     * 
     */
	private Date createTime;
    /**
     * 
     */
	private Date updateTime;

    /**
     * 支付过期时间
     */
	private Date payExpireTime;
    /**
     * 完成时间
     */
    private Date finishTime;
    /**
     * 关闭时间 订单取消
     */
    private Date closeTime;


    /**
     * 卖家收款信息
     */
    @TableField(exist = false)
    C2cUserReceiptEntity receiptInfo;

    //是否有付款凭证
    @TableField(exist = false)
    Integer isVoucher=0;

    //买家付款凭证
    @TableField(exist = false)
    List<C2cPaymentVoucherEntity> payVoucherList;
}