package com.example.cattletends.dto;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 牛只数据传输对象
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CattleDataDTO {

    /**
     * 主键ID（更新时使用）
     */
    private Integer id;

    /**
     * 品种
     */
    @NotBlank(message = "品种不能为空")
    private String type;

    /**
     * 省份
     */
    @NotBlank(message = "省份不能为空")
    private String province;

    /**
     * 所在产地
     */
    @NotBlank(message = "所在产地不能为空")
    private String location;

    /**
     * 价格(元/斤)
     */
    @NotNull(message = "价格不能为空")
    @DecimalMin(value = "0.0", inclusive = false, message = "价格必须大于0")
    private BigDecimal price;

    /**
     * 创建时间（只读）
     */
    private LocalDateTime createTime;

    /**
     * 更新时间（只读）
     */
    private LocalDateTime upTime;
}

