package com.seer.teach.mall.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.seer.teach.mall.entity.GoodsSpecificationEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "商品评价详情 Response")
@Data
public class GoodsCommentResp {

    private Integer id;

    @Schema(description = "评价人的用户id")
    @TableField("user_id")
    private Integer userId;

    @Schema(description = "评价人名称")
    @TableField("user_nickname")
    private String userNickname;

    @Schema(description = "评价人头像")
    @TableField("user_avatar")
    private String userAvatar;

    @Schema(description = "是否匿名")
    @TableField("anonymous")
    private String anonymous;

    @Schema(description = "订单编号")
    @TableField("order_id")
    private Long orderId;

    @Schema(description = "交易订单项编号")
    @TableField("order_item_id")
    private Long orderItemId;

    @Schema(description = "商品spu名称")
    private String spuName;

    @Schema(description = "商品spu 编号")
    private Long spuId;

    @Schema(description = "商品sku编号")
    private Integer skuId;

    @Schema(description = "商品图片url")
    private String skuPicUrl;

    @Schema(description = "虚拟商品")
    @TableField("is_real")
    private String isReal;

    @Schema(description = "是否可见，Y:显示 N:隐藏")
    private String isVisible;

    @Schema(description = "评分星级1-5分")
    @TableField("scores")
    private Integer scores;

    @Schema(description = "描述星级 1-5 星")
    @TableField("description_scores")
    private Integer descriptionScores;

    @Schema(description = "服务星级 1-5 星")
    @TableField("benefit_scores")
    private Integer benefitScores;

    @Schema(description = "评论内容")
    @TableField("content")
    private String content;

    @Schema(description = "评论图片地址数组")
    private List<String> picUrls;

    @Schema(description = "评论时间")
    @TableField("comment_time")
    private LocalDateTime commentTime;

    @Schema(description = "商家是否回复")
    private String isReply;

    @Schema(description = "回复管理员id")
    @TableField("reply_user_id")
    private Long replyUserId;

    @Schema(description = "商家回复内容")
    @TableField("reply_content")
    private String replyContent;

    @Schema(description = "商家回复时间")
    @TableField("reply_time")
    private LocalDateTime replyTime;

    @Schema(name = "属性数组")
    private List<GoodsSpecificationEntity.Attribute> attributes;
}