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

import com.baomidou.mybatisplus.annotation.TableName;
import com.starry.common.annotation.EnumValue;
import com.starry.common.domain.BaseEntity;
import java.util.List;
import javax.validation.constraints.NotBlank;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 陪聊订单对象 order_info
 *
 * @author admin
 * @since 2024-03-20
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("order_info")
public class OrderInfoAddVo extends BaseEntity<OrderInfoAddVo> {

    /**
     * 租户ID
     */
    @NotBlank(message = "租户ID不能为空")
    private String tenantId;

    /**
     * 订单状态【0:1:2:3:4】 0：已下单 1：已接单 2：已开始 3：已完成 4：已取消
     */
    private String orderStatus = String.valueOf(0);

    /**
     * 订单类型【0：充值订单；1：提现订单；2：普通订单】
     */
    private String orderType = String.valueOf(2);

    /**
     * 下单类型（0：指定单，1：随机单。2：打赏单）
     */
    @EnumValue(strValues = {"0", "1"}, message = "退款类型参数异常")
    @NotBlank(message = "下单类型不能为空")
    private String placeType;

    /**
     * 陪聊ID
     */
    @NotBlank(message = "陪聊对象不能为空")
    private String playUserId;

    /**
     * 优惠券ID列表
     */
    private List<String> couponIds;

}
