package com.sckw.usual.entity.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

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

/**
 * @desc:
 * @author: lt
 * @date: 2024/3/29 10:03
 */
@Setter
@Getter
@Accessors(chain = true)
public class KwOrderUsualTransportPerReq {

    /**
     * 履约计划开始时间
     */
    @NotNull(message = "计划发货时间不能为空")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date perStartTime;

    /**
     * 履约计划结束时间
     */
    @NotNull(message = "计卸货时间不能为空")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date perEndTime;

    /**
     * 结算周期
     */
    @Min(value = 0, message = "必须大于等于{value}")
    @Max(value = 4, message = "必须小于等于{value}")
    private String billingCycle;

    /**
     * 支付方式
     */
    @NotNull(message = "支付方式不能为空")
    private String payMethod;

    /**
     * 付款单位
     */
    private String payCompany;


    /*
    运输单价
     */
    private BigDecimal price;

    /*
    计费方式
     */
    @NotNull(message = "计费方式类型不能为空")
    private Integer billingMode;

    /*
    收款单位
     */
    private String gatheringCompany;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 修改人
     */
    private String updateBy;
}
