package com.xunwang.payment.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author Long
 * @since 2023-02-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OrderInfo对象", description="订单表")
public class OrderInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "自增")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "含日期时间唯一id")
    private String orderId;

    @ApiModelProperty(value = "无序唯一id")
    private String fromUid;

    @ApiModelProperty(value = "无序唯一id")
    private String toUid;

    @ApiModelProperty(value = "无序唯一id")
    private String requireId;

    @ApiModelProperty(value = "无序唯一id")
    private String courseId;

    @ApiModelProperty(value = "支付者openid")
    private String openId;

    @ApiModelProperty(value = "预支付交易会话标识（有效期：2小时）")
    private String prepayId;

    @ApiModelProperty(value = "邀请人")
    private String fromUname;

    @ApiModelProperty(value = "被邀请人")
    private String toUname;

    @ApiModelProperty(value = "商品描述")
    private String requireDetail;

    @ApiModelProperty(value = "下单日期时间")
    private String datetime;

    @ApiModelProperty(value = "推荐人uid")
    private String recommendUid;

    @ApiModelProperty(value = "学生提供的课酬（单位：分）")
    private BigDecimal requireSalary;

    @ApiModelProperty(value = "评价文字")
    private String remark;

    @ApiModelProperty(value = "评价类型，'好' '中' '差'")
    private String remarkStatus;

    @ApiModelProperty(value = "老师名称")
    private String teacherName;

    private String teacherId;

    private String studentId;

    private String studentName;

    @ApiModelProperty(value = "邀请id")
    private String inviteId;

    @ApiModelProperty(value = "订单状态：'待支付' '已支付' ' 已取消' ' 已退款' ' 退款中'")
    private String status;

    private Integer isRefund;

    @ApiModelProperty(value = "平台佣金，课酬X60%")
    private BigDecimal commission;

    @ApiModelProperty(value = "推荐人佣金，平台佣金X70%")
    private BigDecimal recoCommission;

    @ApiModelProperty(value = "推荐人提现状态，'已申请' ，'已提现' ，'未申请' ")
    private String recoStatus;


}
