
package com.tmerclub.cloud.product.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 商品评论DTO
 *
 * @author YXF
 * @date 2021-01-11 13:47:33
 */
public class SpuCommDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "ID")
    private Long spuCommId;

    @Schema(description = "店铺ID")
    private Long shopId;

    @Schema(description = "商品ID")
    private Long spuId;

    @Schema(description = "订单项ID")
    private Long orderItemId;

    @Schema(description = "评论用户ID")
    private Long userId;

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

    @Schema(description = "用户昵称")
    private String nickName;

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

    @Schema(description = "掌柜回复")
    private String replyContent;

    @Schema(description = "是否回复 0:未回复  1:已回复")
    private Integer replySts;

    @Schema(description = "回复时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date replyTime;

    @Schema(description = "回复开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date replyStartTime;

    @Schema(description = "回复结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date replyEndTime;

    @Schema(description = "记录时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Schema(description = "记录开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createStartTime;

    @Schema(description = "记录结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createEndTime;

    @Schema(description = "IP来源")
    private String postip;

    @Schema(description = "商品得分，1-5分")
    private Integer score;

    @Schema(description = "店铺评分 1-5分")
    private Integer storeScore;

    @Schema(description = "物流评分 1-5分")
    private Integer logisticsScore;

    @Schema(description = "有用的计数")
    private Integer usefulCounts;

    @Schema(description = "晒图的json字符串")
    private String pics;

    @Schema(description = "是否匿名(1:是  0:否)")
    private Integer isAnonymous;

    @Schema(description = "是否显示  -1:删除 0:不显示 1:显示 2 审核不通过 3.待审核")
    private Integer status;

    @Schema(description = "评价(0好评 1中评 2差评)")
    private Integer evaluate;

    public Long getSpuCommId() {
        return spuCommId;
    }

    public void setSpuCommId(Long spuCommId) {
        this.spuCommId = spuCommId;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getOrderItemId() {
        return orderItemId;
    }

    public void setOrderItemId(Long orderItemId) {
        this.orderItemId = orderItemId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getReplyContent() {
        return replyContent;
    }

    public void setReplyContent(String replyContent) {
        this.replyContent = replyContent;
    }

    public Integer getReplySts() {
        return replySts;
    }

    public void setReplySts(Integer replySts) {
        this.replySts = replySts;
    }

    public String getPostip() {
        return postip;
    }

    public void setPostip(String postip) {
        this.postip = postip;
    }

    public Integer getScore() {
        return score;
    }

    public void setScore(Integer score) {
        this.score = score;
    }

    public Integer getStoreScore() {
        return storeScore;
    }

    public void setStoreScore(Integer storeScore) {
        this.storeScore = storeScore;
    }

    public Integer getLogisticsScore() {
        return logisticsScore;
    }

    public void setLogisticsScore(Integer logisticsScore) {
        this.logisticsScore = logisticsScore;
    }

    public Integer getUsefulCounts() {
        return usefulCounts;
    }

    public void setUsefulCounts(Integer usefulCounts) {
        this.usefulCounts = usefulCounts;
    }

    public String getPics() {
        return pics;
    }

    public void setPics(String pics) {
        this.pics = pics;
    }

    public Integer getIsAnonymous() {
        return isAnonymous;
    }

    public void setIsAnonymous(Integer isAnonymous) {
        this.isAnonymous = isAnonymous;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getEvaluate() {
        return evaluate;
    }

    public void setEvaluate(Integer evaluate) {
        this.evaluate = evaluate;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Date getReplyStartTime() {
        return replyStartTime;
    }

    public void setReplyStartTime(Date replyStartTime) {
        this.replyStartTime = replyStartTime;
    }

    public Date getReplyEndTime() {
        return replyEndTime;
    }

    public void setReplyEndTime(Date replyEndTime) {
        this.replyEndTime = replyEndTime;
    }

    public Date getCreateStartTime() {
        return createStartTime;
    }

    public void setCreateStartTime(Date createStartTime) {
        this.createStartTime = createStartTime;
    }

    public Date getCreateEndTime() {
        return createEndTime;
    }

    public void setCreateEndTime(Date createEndTime) {
        this.createEndTime = createEndTime;
    }

    public Date getReplyTime() {
        return replyTime;
    }

    public void setReplyTime(Date replyTime) {
        this.replyTime = replyTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "SpuCommDTO{" +
                "spuCommId=" + spuCommId +
                ", shopId=" + shopId +
                ", spuId=" + spuId +
                ", orderItemId=" + orderItemId +
                ", userId=" + userId +
                ", spuName='" + spuName + '\'' +
                ", nickName='" + nickName + '\'' +
                ", content='" + content + '\'' +
                ", replyContent='" + replyContent + '\'' +
                ", replySts=" + replySts +
                ", replyTime=" + replyTime +
                ", replyStartTime=" + replyStartTime +
                ", replyEndTime=" + replyEndTime +
                ", createTime=" + createTime +
                ", createStartTime=" + createStartTime +
                ", createEndTime=" + createEndTime +
                ", postip='" + postip + '\'' +
                ", score=" + score +
                ", storeScore=" + storeScore +
                ", logisticsScore=" + logisticsScore +
                ", usefulCounts=" + usefulCounts +
                ", pics='" + pics + '\'' +
                ", isAnonymous=" + isAnonymous +
                ", status=" + status +
                ", evaluate=" + evaluate +
                '}';
    }
}
