package com.yupi.project.model.dto.activationcode;

import com.yupi.project.common.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 激活码查询请求
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ActivationCodeQueryRequest extends PageRequest implements Serializable {

    /**
     * 激活码 (模糊匹配)
     */
    private String code;

    /**
     * 是否已使用 (0 - 未使用, 1 - 已使用)
     */
    private Integer isUsed;

    /**
     * 批次号
     */
    private String batchId;

    /**
     * 使用者用户ID
     */
    private Long userId;

    /**
     * 面值下限 (用于范围查询)
     */
    private BigDecimal valueMin;

    /**
     * 面值上限 (用于范围查询)
     */
    private BigDecimal valueMax;

    /**
     * 过期时间开始 (用于范围查询)
     */
    private LocalDateTime expireTimeStart;

    /**
     * 过期时间结束 (用于范围查询)
     */
    private LocalDateTime expireTimeEnd;

    /**
     * 创建时间开始 (用于范围查询)
     */
    private LocalDateTime createTimeStart;

    /**
     * 创建时间结束 (用于范围查询)
     */
    private LocalDateTime createTimeEnd;


    private static final long serialVersionUID = 1L;
} 