# UpdateConfigItemDTO.java

    package cloud.wconnect.rateshop.pojo.dto.budgetdatabase;

    import jakarta.validation.constraints.Max;
    import jakarta.validation.constraints.NotBlank;
    import jakarta.validation.constraints.NotNull;
    import lombok.Data;
    import org.hibernate.validator.constraints.Length;
    import org.hibernate.validator.constraints.Range;

    import java.math.BigDecimal;

    /**
     * DTO: Update Config Item
     *
     * @author: yyt
     * 2025-08-16
     */
    @Data
    public class UpdateConfigItemDTO {

        /**
         * 名称
         */
        @NotBlank(message = "the name must not be blank")
        @Length(max = 255, message = "the name is limited 255 characters")
        private String name;

        /**
         * 是否启用预算收入
         */
        @NotNull(message = "the enableBudgetRevenue must not be null")
        private Boolean enableBudgetRevenue;

        /**
         * 预算收入输入值
         */
        @Max(value = 10000000, message = "the budgetRevenueInputValue is limited 10000000")
        private BigDecimal budgetRevenueInputValue;

        /**
         * 预算收入计算方式
         */
        @Range(min = 1, max = 4, message = "the budgetRevenueCalculateMethod must be in [1、+，2、-，3、*，4、/]")
        private Integer budgetRevenueCalculateMethod;

        /**
         * 预算收入变量配置 id
         */
        private Integer budgetRevenueVariableId;

        /**
         * 是否启用预算房间
         */
        @NotNull(message = "the enableBudgetRoom must not be null")
        private Boolean enableBudgetRoom;

        /**
         * 预算房间输入值
         */
        @Max(value = 10000000, message = "the budgetRoomInputValue is limited 10000000")
        private BigDecimal budgetRoomInputValue;

        /**
         * 预算房间计算方式
         */
        @Range(min = 1, max = 4, message = "the budgetRevenueCalculateMethod must be in [1、+，2、-，3、*，4、/]")
        private Integer budgetRoomCalculateMethod;

        /**
         * 预算房间变量配置 id
         */
        private Integer budgetRoomVariableId;

    }