package com.qnfhq.modules.c2c.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.SchemaProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

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

/**
 * c2c广告发布广告表单
 *
 * @author yelz 30262728@qq.com
 * @since 1.0.0 2025-11-17
 */
@Data
@Schema(name = "c2c广告发布广告表单")
public class C2cAdCreateDTO implements Serializable {
    private static final long serialVersionUID = 1L;

	@SchemaProperty(name = "方向1买入2卖出")
    @NotNull(message="{NotNull.direction}")//方向不能为空
	private Integer direction;

	@SchemaProperty(name = "法币")
    @NotBlank(message="{NotBlank.legalCoin}")//法币不能为空
	private String legalCoin;

	@SchemaProperty(name = "交易币种")
    @NotBlank(message="{NotBlank.symbol}")//交易币种不能为空
	private String symbol;

	@SchemaProperty(name = "数量")
    @NotNull(message="{NotNull.num}")//数量不能为空
	private BigDecimal num;

	@SchemaProperty(name = "价格类型:1固定")
    @NotNull(message="{NotNull.priceType}")//价格类型不能为空
	private Integer priceType;

	@SchemaProperty(name = "单价")
    @NotNull(message="{NotNull.price}")//价格不能为空
	private BigDecimal price;

	@SchemaProperty(name = "限量最小法币金额")
    @NotNull(message="{NotNull.minAmount}")//最小金额不能为空
	private BigDecimal minAmount;

	@SchemaProperty(name = "限量最大法币金额")
    @NotNull(message="{NotNull.maxAmount}")//最大金额不能为空
	private BigDecimal maxAmount;

	@SchemaProperty(name = "支付方式")
    @NotBlank(message="{NotBlank.payway}")//支付方式不能为空
	private String payway;

    @SchemaProperty(name = "备注描述")
    private String remark;
}
