package com.tourism.webadmin.back.dto;

import com.tourism.common.core.validator.UpdateGroup;

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

import jakarta.validation.constraints.*;

/**
 * 游记评论Dto对象。
 *
 * @author 吃饭睡觉
 * @date 2024-09-06
 */
@Schema(description = "游记评论Dto对象")
@Data
public class TourTravelNotesCommentDto {

    /**
     * 主键。
     */
    @Schema(description = "主键。", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "数据验证失败，主键不能为空！", groups = {UpdateGroup.class})
    private Long id;

    /**
     * 评论内容。
     */
    @Schema(description = "评论内容。")
    @NotBlank(message = "您还没有填入评论内容！", groups = {UpdateGroup.class})
    private String commentContent;

    /**
     * 上级评论ID，一级为空。
     */
    @Schema(description = "上级评论ID，一级为空。")
    private Long parentId;

    /**
     * 游记ID。
     */
    @Schema(description = "游记ID。")
    private Long travelNoteId;

    /**
     * 回复的评论ID。
     */
    @Schema(description = "回复的评论ID。")
    private Long replyCommentId;

    /**
     * 回复的评论用户ID。
     */
    @Schema(description = "回复的评论用户ID。")
    private Long replyUserId;

    /**
     * 点赞量。
     */
    @Schema(description = "点赞量。")
    private Integer likeNum;

    /**
     * 评论楼层。
     */
    @Schema(description = "评论楼层。")
    private String floor;
}
