package com.starry.admin.modules.clerk.module.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.starry.admin.modules.clerk.module.entity.PlayCustomArticleInfoEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import java.util.List;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @author admin 动态信息查询返回对象
 */
@Data
@ApiModel(value = "店员动态返回数据", description = "店员动态信息的返回数据")
public class PlayClerkArticleReturnVo {

    /**
     * UUID
     */
    @ApiModelProperty(value = "动态ID", example = "1")
    private String id;
    /**
     * 陪聊用户ID
     */
    @ApiModelProperty(value = "店员ID", example = "1")
    private String clerkId;

    /**
     * 陪聊用户昵称
     */
    @ApiModelProperty(value = "店员昵称", example = "小明")
    private String clerkNickname;

    /**
     * 陪聊用户头像
     */
    @ApiModelProperty(value = "店员头像", example = "https://example.com/avatar.jpg")
    private String clerkAvatar;

    /**
     * 动态内容
     */
    @ApiModelProperty(value = "动态内容", example = "今天天气真好，感谢大家的支持！")
    private String articleCon;

    /**
     * 动态附件类型（0:图片;1:视频;2:音频）
     */
    @ApiModelProperty(value = "附件类型", example = "0", notes = "0:图片;1:视频;2:音频")
    private String annexType;

    /**
     * 动态附件内容
     */
    @ApiModelProperty(value = "附件内容", example = "[\"https://example.com/photo1.jpg\"]", notes = "附件内容，根据附件类型有不同格式")
    private List<String> annexCon;

    /**
     * 发布时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "发布时间", example = "2024-01-01 12:00:00")
    private LocalDateTime releaseTime;

    /**
     * 备注(审核理由)
     */
    @ApiModelProperty(value = "审核理由", example = "内容健康，通过审核")
    private String reviewCon;

    /**
     * 点赞人数
     */
    @ApiModelProperty(value = "点赞人数", example = "10")
    private Integer agreedQuantity = 0;

    /**
     * 审核状态（0：未审核:1：审核通过，2：审核不通过）
     */
    @ApiModelProperty(value = "审核状态", example = "0", notes = "0：未审核:1：审核通过，2：审核不通过")
    private String reviewState;

    /**
     * 陪聊点赞动态
     */
    @JsonIgnore
    @ApiModelProperty(value = "点赞动态", hidden = true)
    private List<PlayCustomArticleInfoEntity> articleInfoEntities;
}
