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 = "StoreStaffCommentVo对象", description = "员工评论VO")
public class StoreStaffCommentVo {

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

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

    @ApiModelProperty(value = "发送用户类型：1-普通用户，2-员工")
    private Integer sendUserType;

    @ApiModelProperty(value = "发送用户ID")
    private Integer sendUserId;

    @ApiModelProperty(value = "发送用户名称")
    private String sendUserName;

    @ApiModelProperty(value = "发送用户头像")
    private String sendUserAvatar;

    @ApiModelProperty(value = "接收用户类型：1-普通用户，2-员工")
    private Integer receiveUserType;

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

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

    @ApiModelProperty(value = "接收用户头像")
    private String receiveUserAvatar;

    @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 = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    @ApiModelProperty(value = "回复列表（仅首评存在）")
    private List<StoreStaffCommentVo> replyList;
}

