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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 订单评价查询返回对象
 *
 * @author admin
 */
@Data
@ApiModel(value = "订单评价返回数据", description = "订单评价信息的返回数据")
public class PlayOrderEvaluateReturnVo {

    /**
     * uuid
     */
    @ApiModelProperty(value = "评价ID", example = "1")
    private String id;

    /**
     * 订单ID
     */
    @ApiModelProperty(value = "订单ID", example = "1")
    private String orderId;

    /**
     * 匿名评价(0:匿名，1:非匿名)
     */
    @ApiModelProperty(value = "是否匿名", example = "0", notes = "0:匿名，1:非匿名")
    private String anonymous;
    /**
     * 评价类型(0:好评，1差评)
     */
    @ApiModelProperty(value = "评价类型", example = "0", notes = "0:好评，1:差评")
    private String evaluateType;

    /**
     * 评价等级【1-5星，最低1星，最高5星】
     */
    @ApiModelProperty(value = "评价等级", example = "5", notes = "1-5星，最低1星，最高5星")
    private Integer evaluateLevel;

    /**
     * 评价内容
     */
    @ApiModelProperty(value = "评价内容", example = "服务很好，店员态度很好")
    private String evaluateCon;

    /**
     * 评价时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "评价时间", example = "2024-01-01 12:00:00")
    private Date evaluateTime;

    /**
     * 数据是否隐藏（0:显示，1:隐藏）
     */
    @ApiModelProperty(value = "是否隐藏", example = "0", notes = "数据是否隐藏，0:显示，1:隐藏")
    private String hidden;

    /**
     * 顾客ID
     */
    @ApiModelProperty(value = "顾客ID", example = "1")
    private String customId;

    /**
     * 顾客昵称
     */
    @ApiModelProperty(value = "顾客昵称", example = "张三")
    private String customNickname;

    /**
     * 顾客头像
     */
    @ApiModelProperty(value = "顾客头像", example = "https://example.com/avatar.jpg")
    private String customAvatar;

    /**
     * 店员ID
     */
    @ApiModelProperty(value = "店员ID", example = "1")
    private String clerkId;

    /**
     * 顾客昵称
     */
    @ApiModelProperty(value = "店员昵称", example = "小明")
    private String clerkNickname;

    /**
     * 顾客头像
     */
    @ApiModelProperty(value = "店员头像", example = "https://example.com/clerk_avatar.jpg")
    private String clerkAvatar;

    /**
     * 点赞数
     */
    @ApiModelProperty(value = "点赞数", example = "10")
    private int likeCount = 10;

    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单编号", example = "ORDER20240320001")
    private String orderNo;

    /**
     * 下单类型（0：指定单，1：随机单。2：打赏单）
     */
    @ApiModelProperty(value = "下单类型", example = "0", notes = "0：指定单，1：随机单，2：打赏单")
    private String placeType;

    /**
     * 订单最终金额（支付金额）
     */
    @ApiModelProperty(value = "支付金额", example = "100.00")
    private BigDecimal finalAmount;

    /**
     * 服务项目ID
     */
    @ApiModelProperty(value = "商品ID", example = "1")
    private String commodityId;

    /**
     * 项目类型
     */
    @ApiModelProperty(value = "商品类型", example = "0", notes = "0:礼物，1：服务")
    private String commodityType;

    /**
     * 项目名称
     */
    @ApiModelProperty(value = "商品名称", example = "语音陪聊")
    private String commodityName;

    /**
     * 项目价格
     */
    @ApiModelProperty(value = "商品单价", example = "50.00")
    private BigDecimal commodityPrice;

    /**
     * 商品数量
     */
    @ApiModelProperty(value = "商品数量", example = "1")
    private String commodityNumber;

    /**
     * 服务时长（文字描述信息,不参与订单计算）
     */
    @ApiModelProperty(value = "服务时长", example = "30", notes = "服务的时长，单位分钟")
    private String serviceDuration;
}
