package com.tourism.webadmin.back.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.tourism.common.core.annotation.RelationDict;
import com.tourism.common.core.base.vo.BaseVo;
import com.tourism.webadmin.back.model.TourismProjectTravelNotesWrite;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;
import java.util.Map;

/**
 * 游记评论VO视图对象。
 *
 * @author 吃饭睡觉
 * @date 2024-09-06
 */
@Schema(description = "游记评论VO视图对象")
@Data
@EqualsAndHashCode(callSuper = true)
public class TourTravelNotesCommentVo extends BaseVo {

    /**
     * 主键。
     */
    @Schema(description = "主键")
    private String id;

    /**
     * 评论内容。
     */
    @Schema(description = "评论内容")
    private String commentContent;

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

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

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

    /**
     * 评论用户ID。
     */
    @Schema(description = "评论用户ID")
    private String commentUserId;

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

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

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

    private List<TourTravelNotesCommentVo> childrenList;

    /**
     * 是否当前登录用户
     */
    private boolean self;

    /**
     * 头像
     */
//    private String headImageUrl;

    /**
     * replyUserId 字典关联数据。
     */
    @Schema(description = "replyUserId 字典关联数据")
    private Map<String, Object> replyUserIdDictMap;

    /**
     * createUserId 字典关联数据。
     */
    @Schema(description = "commentUserId 字典关联数据")
    private Map<String, Object> commentUserIdDictMap;
    /**
     * createUserId 字典关联数据。
     */
    @Schema(description = "headImageUrl 字典关联数据")
    private Map<String, Object> headImageUrlDictMap;

    @Schema(description = "游记 字典关联数据")
    private Map<String, Object> travelNoteDictMap;

    /**
     * 游记封面图
     */
    private String travelNoteUrl;
}
