package cn.iocoder.yudao.module.asset.controller.admin.vehiclemodel.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * 车型维保项目 VO
 *
 * @author 芋道源码
 */
@Schema(description = "管理后台 - 车型维保项目 VO")
@Data
public class VehicleModelMaintainItemVO {

    @Schema(description = "主键", example = "1")
    private Long id;

    @Schema(description = "保养项目", requiredMode = Schema.RequiredMode.REQUIRED, example = "机油更换")
    @NotBlank(message = "保养项目不能为空")
    private String maintainItem;

    @Schema(description = "材料费（元）", example = "200.00")
    @DecimalMin(value = "0.0", message = "材料费不能为负数")
    private BigDecimal materialFee;

    @Schema(description = "工时费（元）", example = "100.00")
    @DecimalMin(value = "0.0", message = "工时费不能为负数")
    private BigDecimal hourFee;

    @Schema(description = "费用合计（元）", example = "300.00")
    private BigDecimal totalFee;

    @Schema(description = "保养公里周期(KM)", example = "5000")
    @Min(value = 1, message = "保养公里周期必须大于0")
    private Integer kilometerCycle;

    @Schema(description = "保养时间周期(月)", example = "6")
    @Min(value = 1, message = "保养时间周期必须大于0")
    private Integer timeCycle;

}
