package com.yhy.module.core.controller.admin.quota.vo;

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

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Schema(description = "管理后台 - 动态调整类别配置 VO")
@Data
public class QuotaAdjustmentDynamicCategoryVO {

    @Schema(description = "类别ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "类别ID不能为空")
    private Long categoryId;

    @Schema(description = "类别名称", example = "人工")
    private String categoryName;

    @Schema(description = "类别类型", example = "labor")
    private String categoryType;

    @Schema(description = "系数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1.2")
    @NotNull(message = "系数不能为空")
    private BigDecimal coefficient;

    @Schema(description = "最小值", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    @NotNull(message = "最小值不能为空")
    private BigDecimal minValue;

    @Schema(description = "最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
    @NotNull(message = "最大值不能为空")
    private BigDecimal maxValue;

    @Schema(description = "分母值", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
    @NotNull(message = "分母值不能为空")
    private BigDecimal denominator;

    @Schema(description = "基础值", requiredMode = Schema.RequiredMode.REQUIRED, example = "50")
    @NotNull(message = "基础值不能为空")
    private BigDecimal baseValue;

    @Schema(description = "取值规则", requiredMode = Schema.RequiredMode.REQUIRED, example = "round_up")
    @NotNull(message = "取值规则不能为空")
    private String roundingRule;
}
