# ResultStatisticsQuery.java

    package cloud.wconnect.finance.pojo.query.chargeback.widget;

    import jakarta.validation.constraints.NotEmpty;
    import jakarta.validation.constraints.NotNull;
    import lombok.Data;
    import org.hibernate.validator.constraints.Range;

    import java.util.List;

    /**
     * Query: Result Statistics
     *
     * @author yyt
     * 2025/12/8
     */
    @Data
    public class ResultStatisticsQuery {

        /**
         * 1.检索固定日期区间（上个月），2.动态检索日期区间
         */
        @NotNull(message = "The type cannot be null")
        @Range(min = 1, max = 2, message = "The type must between in [1:fixed date range, 2:dynamic date range]")
        private Integer type;
        public static final int FIXED_DATE_RANGE = 1;
        public static final int DYNAMIC_DATE_RANGE = 2;

        /**
         * 统计单位 1：月，2：季度，3：年
         */
        @Range(min = 1, max = 3, message = "The unit must between in [1:month, 2:quarter, 3:year]")
        private Integer unit;

        /**
         * 时间跨度 n个月/n个季度/n个年
         */
        @Range(min = 1, max = 12, message = "the span exceed the limit")
        private Integer span;

        /**
         * 资产 id
         */
        @NotEmpty(message = "The propertyIds cannot be empty")
        private List<Integer> propertyIds;

    }