package shop.alien.entity.store.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 评价评论VO
 *
 * @author system
 * @since 2025-01-XX
 */
@Data
@ApiModel(value = "ReviewCommentVo对象", description = "评价评论VO")
public class ReviewCommentVo {

    @ApiModelProperty(value = "主键")
    private Integer id;

    @ApiModelProperty(value = "评价ID")
    private Integer reviewId;

    @ApiModelProperty(value = "评论用户ID")
    private Integer sendUserId;

    @ApiModelProperty(value = "接收用户ID")
    private Integer receiveUserId;

    @ApiModelProperty(value = "评论用户名称（发送者）")
    private String sendUserName;

    @ApiModelProperty(value = "评论用户头像")
    private String userAvatar;

    @ApiModelProperty(value = "接收用户名称")
    private String receiveUserName;

    @ApiModelProperty(value = "评论内容")
    private String commentContent;

    @ApiModelProperty(value = "点赞数")
    private Integer likeCount;

    @ApiModelProperty(value = "回复数")
    private Integer replyCount;

    @ApiModelProperty(value = "首评标记, 0:是, 1:否")
    private Integer headType;

    @ApiModelProperty(value = "首评ID（仅子评论存在该属性）")
    private Integer headId;

    @ApiModelProperty(value = "当前用户是否已点赞，0:未点赞，1:已点赞")
    private Integer isLiked;

    @ApiModelProperty(value = "回复列表")
    private List<ReviewCommentVo> replies;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;
}

