package com.sckw.manage.model.vo.req;

import jakarta.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;

/**
 * @author: yzc
 * @date: 2024-03-01  09:24
 * @desc: 添加运价参数
 */
@Getter
@Setter
@ToString
public class AddLineFreightRateParam {


    /**
     * 运价名称
     */
    @NotBlank(message = "运价名称不能为空")
    @Length(max = 40, message = "运价名称最多支持50字")
    private String name;

    /**
     * 起始地-地址名称
     */
    @NotBlank(message = "路径起始位置不能为空")
    private String loadName;

    @NotNull(message = "起始位置所属企业不能为空")
    private Long loadEntId;

    /**
     * 目的地-地址名称
     */
    @NotBlank(message = "路径结束位置不能为空")
    private String unloadName;

    @NotNull(message = "结束位置所属企业不能为空")
    private Long unloadEntId;

    /**
     * 行驶里程/公里
     */
    @NotNull(message = "行驶里程/公里不能为空")
    @Digits(integer = 7, fraction = 2, message = "行驶里程格式错误")
    @DecimalMin(value = "0", message = "行驶里程不能小于零")
    private BigDecimal transportMileage;

    /**
     * 运输单价（元/公里）
     */
    @Digits(integer = 10, fraction = 6, message = "运输单价格式错误")
    @DecimalMin(value = "0", message = "运输单价不能小于零")
    private BigDecimal transportPrice;

    /**
     * 运输总价
     */
    @Digits(integer = 10, fraction = 6, message = "运输总价格式错误")
    @DecimalMin(value = "0", message = "运输总价不能小于零")
    @NotNull(message = "运输总价不能为空")
    private BigDecimal transportAmount;

    /**
     * 备注
     */
    private String remark;

}