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;

/**
 * 「我的评价」融合列表单项：门店评价 + 律师订单评价
 */
@Data
@ApiModel(value = "MyMergedReviewItemVo", description = "我的评价融合列表项")
public class MyMergedReviewItemVo {

    @ApiModelProperty(value = "类型：STORE-门店评价，LAWYER-律师订单评价", required = true)
    private String itemType;

    @ApiModelProperty(value = "门店评价主键（itemType=STORE 时有值）")
    private Long storeRatingId;

    @ApiModelProperty(value = "律师评价主键（itemType=LAWYER 时有值）")
    private Integer lawyerReviewId;

    @ApiModelProperty(value = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date publishTime;

    @ApiModelProperty(value = "总评分/核心评分")
    private Double score;

    @ApiModelProperty(value = "文字内容")
    private String content;

    @ApiModelProperty(value = "图片/视频等媒体 URL 列表")
    private List<String> mediaUrls;

    @ApiModelProperty(value = "门店 id（STORE）")
    private Integer storeId;

    @ApiModelProperty(value = "门店名称（STORE）")
    private String storeName;

    @ApiModelProperty(value = "门店图标/头图（STORE，可能为空）")
    private String storeIcon;

    @ApiModelProperty(value = "律师姓名（LAWYER）")
    private String lawyerName;

    @ApiModelProperty(value = "律师头像（LAWYER）")
    private String lawyerAvatar;

    @ApiModelProperty(value = "律所名称（LAWYER）")
    private String lawyerFirm;

    @ApiModelProperty(value = "评价标签文案，如「我给出超赞」（LAWYER）")
    private String ratingTag;

    @ApiModelProperty(value = "律师用户 id（LAWYER）")
    private Integer lawyerUserId;

    @ApiModelProperty(value = "关联订单 id（LAWYER）")
    private Integer orderId;

    @ApiModelProperty(value = "门店评价业务类型 common_rating.business_type（STORE）")
    private Integer businessType;
}
