package com.red.circle.other.inner.model.cmd.material;

import com.red.circle.framework.dto.Command;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 后台赠送道具券命令
 *
 * @author system
 * @date 2025-11-05
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class PropCouponGrantCmd extends Command {

    /**
     * 券类型（1头像框 2座驾 3VIP 4聊天气泡 5主题 6资料卡 7飘屏 8徽章 9靓号）
     */
    private Integer couponType;

    /**
     * 道具ID
     */
    @NotNull(message = "道具ID不能为空")
    private String propId;

    private String propIcon;

    /**
     * 道具名称
     */
    private String propName;

    /**
     * 有效天数
     */
    private Integer validDays = 30;

    /**
     * 道具天数
     */
    @NotNull(message = "道具天数不能为空")
    private Integer propDays;

    /**
     * 接收用户ID列表
     */
    @NotNull(message = "接收用户ID列表不能为空")
    private List<String> userIds;

    /**
     * 备注
     */
    private String remark;
}
