/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.biz.modular.bizconfig.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 系统配置编辑参数
 *
 * @author fanzherong
 * @date  2025/03/20 15:40
 **/
@Getter
@Setter
public class BizConfigEditParam {

    /** 主键ID */
    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "id不能为空")
    private String id;

    /** 排队时效 */
    @Schema(description = "排队时效", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "queueEfficiency不能为空")
    private Integer queueEfficiency;

    /** 时段下拉个数 */
    @Schema(description = "时段下拉个数", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "pullNumber不能为空")
    private Integer pullNumber;

    /** 停留时长 */
    @Schema(description = "停留时长", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "stopDuration不能为空")
    private Integer stopDuration;

    /** 预约审核开关（1：开启   2：关闭） */
    @Schema(description = "预约审核开关（1：开启   2：关闭）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "auditSwitch不能为空")
    private String auditSwitch;

    /** 订单重量校验开关（1：开启   2：关闭） */
    @Schema(description = "订单重量校验开关（1：开启   2：关闭）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "orderWeightSwitch不能为空")
    private String orderWeightSwitch;

    /** 门禁强制校验开关 */
    @Schema(description = "门禁强制校验开关", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "accessControlSwitch不能为空")
    private String accessControlSwitch;

    /**装卸损耗预警值配置（百分比）*/
    private Integer lossWarn;

    /**预约申请次数*/
    private Integer applyCount;

}
