package com.ssyf.module.robot.domain.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ssyf.common.core.domain.query.PageQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 送礼配置查询对象
 *
 * @author ELSA
 * @since 2025-12-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class RGiftConfigQuery extends PageQuery {

    /**
     * 送礼配置唯一标识
     */
    private String uuid;

    /**
     * 配置名称
     */
    private String configName;

    /**
     * 观看时长最小值（单位：秒）
     */
    private Integer minWatchDuration;

    /**
     * 观看时长最大值（单位：秒）
     */
    private Integer maxWatchDuration;

    /**
     * 在线人数最小值
     */
    private Integer minOnlineUsers;

    /**
     * 在线人数最大值
     */
    private Integer maxOnlineUsers;

    /**
     * 送礼最小金额
     */
    private Double minAmount;

    /**
     * 送礼最大金额
     */
    private Double maxAmount;

    /**
     * 每日可送礼的主播数量
     */
    private Integer dailyAnchonum;

    /**
     * 每日对同一主播送礼的批次数量
     */
    private Integer giftBatchNum;

    /**
     * 创建时间 - 开始
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTimeStart;

    /**
     * 创建时间 - 结束
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTimeEnd;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 创建人唯一编码
     */
    private String creatorUuid;
}