package com.ylx.system.domain.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 批量审核用户评论 DTO
 * <p>
 * 用于批量审核用户评论的数据传输对象，支持一次性审核多条评论。
 * </p>
 *
 * @author ylx
 * @version 1.0
 * @since 2025-01-09
 */
@Data
@ApiModel(value = "批量审核用户评论DTO", description = "批量审核用户评论请求参数")
public class BatchAuditCommentsDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 待审核的评论ID列表
     */
    @ApiModelProperty(value = "评论ID列表", required = true, example = "[\"1701234567890\", \"1701234567891\"]")
    @NotNull(message = "评论ID列表不能为空")
    private List<@NotBlank(message = "评论ID不能为空") String> commentIds;

    /**
     * 审核状态：1-通过，2-拒绝
     */
    @ApiModelProperty(value = "审核状态：1-通过，2-拒绝", required = true, example = "1")
    @NotNull(message = "审核状态不能为空")
    private Integer auditStatus;

    /**
     * 审核原因/拒绝理由
     * 当审核状态为拒绝（2）时，此字段必填
     */
    @ApiModelProperty(value = "审核原因/拒绝理由（审核拒绝时必填）", example = "评论内容包含违规信息")
    private String auditReason;
}
