package top.continew.admin.business.model.resp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 免费额度赠送响应信息
 *
 * @author jiay
 * @since 2025/11/17
 */
@Data
@Builder
@Schema(description = "免费额度赠送响应信息")
public class FreeQuotaGrantResp implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 赠送是否成功
     */
    @Schema(description = "赠送是否成功", example = "true")
    private Boolean success;

    /**
     * 总用户数
     */
    @Schema(description = "总用户数", example = "10")
    private Integer totalUsers;

    /**
     * 成功赠送的用户数
     */
    @Schema(description = "成功赠送的用户数", example = "10")
    private Integer successUsers;

    /**
     * 失败的用户数
     */
    @Schema(description = "失败的用户数", example = "0")
    private Integer failedUsers;

    /**
     * 总赠送项数
     */
    @Schema(description = "总赠送项数", example = "100")
    private Integer totalItems;

    /**
     * 成功的项数
     */
    @Schema(description = "成功的项数", example = "98")
    private Integer successItems;

    /**
     * 失败的项数
     */
    @Schema(description = "失败的项数", example = "2")
    private Integer failedItems;

    /**
     * 消息
     */
    @Schema(description = "消息", example = "批量赠送完成")
    private String message;

    /**
     * 详细日志
     */
    @Schema(description = "详细日志")
    private List<String> logs;
}
