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

import com.baomidou.mybatisplus.annotation.TableField;
import com.starry.admin.common.conf.StringTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import lombok.Data;

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

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

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

    /**
     * 顾客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 = "wx123456")
    private String wxChatCode;

    /**
     * 投诉内容
     */
    @ApiModelProperty(value = "投诉内容", example = "店员服务态度差")
    private String complaintCon;

    /**
     * 投诉时间
     */
    @ApiModelProperty(value = "投诉时间", example = "2024-01-01 12:00:00")
    private Date complaintTime;

    /**
     * 图片列表
     */
    @TableField(typeHandler = StringTypeHandler.class)
    @ApiModelProperty(value = "图片列表", example = "['https://example.com/img1.jpg','https://example.com/img2.jpg']")
    private List<String> images;

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

    /**
     * 订单号
     */
    @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;
}
