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.time.LocalDateTime;
import java.util.List;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 续单查询返回对象
 *
 * @author admin
 * @since 2024/5/10 14:59
 **/
@Data
@ApiModel(value = "订单续单返回数据", description = "订单续单信息的返回数据")
public class PlayOrderContinueReturnVo {

    @ApiModelProperty(value = "续单ID", example = "1")
    private String id;

    /**
     * 店员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 = "1", notes = "0:未知,1:男,2:女")
    private String clerkSex;

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

    /**
     * 用户等级名称
     */
    @ApiModelProperty(value = "等级名称", example = "黄金会员")
    private String levelName;

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

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

    /**
     * 商品名称
     */
    @ApiModelProperty(value = "商品名称", example = "语音陪聊")
    private String commodityName;
    /**
     * 商品单价
     */
    @ApiModelProperty(value = "商品单价", example = "50.00")
    private BigDecimal commodityPrice;

    /**
     * 服务时长
     *
     * @since 2024/5/8 16:44
     **/
    @ApiModelProperty(value = "服务时长", example = "30", notes = "服务的时长，单位分钟")
    private String serviceDuration;

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

    /**
     * 下单金额
     */
    @ApiModelProperty(value = "订单金额", example = "100.00")
    private BigDecimal orderMoney;

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

    /**
     * 申请消息
     */
    @ApiModelProperty(value = "申请消息", example = "顾客需要继续服务")
    private String continueMsg;

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

    /**
     * 是否需要审核，0:不需要，1:需要
     */
    @ApiModelProperty(value = "是否需要审核", example = "1", notes = "0:不需要，1:需要")
    private String reviewedRequired;

    /**
     * 审核状态（0:未审核，1:已通过，2:不通过）
     */
    @ApiModelProperty(value = "审核状态", example = "0", notes = "0:未审核，1:已通过，2:不通过")
    private String reviewedState;

    /**
     * 审核内容
     */
    @ApiModelProperty(value = "审核备注", example = "审核通过，可以继续服务")
    private String reviewedRemark;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "申请时间", example = "2024-01-01 12:00:00")
    private LocalDateTime continueTime;
}
