package com.qnfhq.modules.c2c.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.qnfhq.modules.c2c.entity.C2cPaymentVoucherEntity;
import com.qnfhq.modules.c2c.entity.C2cUserReceiptEntity;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

import java.math.BigDecimal;
import java.util.List;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.SchemaProperty;
/**
 * c2c订单
 *
 * @author yelz 30262728@qq.com
 * @since 1.0.0 2025-11-17
 */
@Data
@Schema(name = "c2c订单")
public class C2cOrderDTO implements Serializable {
    private static final long serialVersionUID = 1L;

	@SchemaProperty(name = "自增编号")
	private Long id;

	@SchemaProperty(name = "订单编号")
	private String orderNo;

	@SchemaProperty(name = "下单人的编号")
	private Long userId;

	@SchemaProperty(name = "下单名字")
	private String userName;

	@SchemaProperty(name = "1买入  2 卖出")
	private Integer direction;

	@SchemaProperty(name = "法定货币")
	private String legalCoin;

	@SchemaProperty(name = "交易币USDT,BTC")
	private String symbol;

	@SchemaProperty(name = "广告编号")
	private Long c2cAdId;

	@SchemaProperty(name = "交易对手编号")
	private Long tranUserId;

	@SchemaProperty(name = "交易对手名字")
	private String tranUserName;

	@SchemaProperty(name = "单价")
	private BigDecimal tranPrice;

	@SchemaProperty(name = "数量USDT")
	private BigDecimal symbolNum;

	@SchemaProperty(name = "法币的交易金额")
	private BigDecimal tranAmount;

	@SchemaProperty(name = "1微信  2支付宝 3银行借记卡")
	private Integer payType;

    @SchemaProperty(name = "付款时间")
    private Date payTime;

	@SchemaProperty(name = "0 进行中 1 已结束 ")
	private Integer flow;

	@SchemaProperty(name = "0 未付款 1 已付款（确认付款后）2 申诉 3 已完成 4 已取消 ")
	private Integer status;

	@SchemaProperty(name = "广告要求")
	private String remark;

	@SchemaProperty(name = "")
	private Date createTime;

	@SchemaProperty(name = "")
	private Date updateTime;

    @SchemaProperty(name = "支付过期时间")
    private Date payExpireTime;

    @SchemaProperty(name = "完成时间")
    private Date finishTime;

    @SchemaProperty(name = "关闭时间")
    private Date closeTime;

    @SchemaProperty(name = "卖家收款信息")
    C2cUserReceiptEntity receiptInfo;

    @SchemaProperty(name = "是否有付款凭证")
    Integer isVoucher=0;

    @SchemaProperty(name = "买家付款凭证")
    List<C2cPaymentVoucherEntity> payVoucherList;

}
