package com.miaxis.order.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.miaxis.common.annotation.Excel;
import com.miaxis.common.core.domain.BaseBusinessEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
/**
 * 订单信息对象 order_info
 *
 * @author miaxis
 * @date 2022-06-01
 */
@Data
@TableName("order_info")
@ApiModel(value = "OrderInfo", description = "订单信息对象 order_info")
public class OrderInfo extends BaseBusinessEntity{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(value = "id")
    @ApiModelProperty(value = "主键")
    private Long id;

    /** 商品ID（考场ID或实物ID） */
    @Excel(name = "商品ID（考场ID或实物ID）")
    @TableField("goods_id")
    @ApiModelProperty(value = "商品ID（考场ID或实物ID）")
    private Long goodsId;

    /** 商品 */
    @Excel(name = "商品")
    @TableField("goods_name")
    @ApiModelProperty(value = "商品")
    private String goodsName;

    /** 商品类型 1:VIP 2:考场 3:实物 */
    @Excel(name = "商品类型 1:VIP 2:考场 3:实物")
    @TableField("goods_type")
    @ApiModelProperty(value = "商品")
    private Integer goodsType;

    /** 用户ID */
    @Excel(name = "用户ID")
    @TableField("user_id")
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    @TableField("user_name")
    @ApiModelProperty(value = "用户姓名")
    private String userName;

    /** 用户登录名 */
    @Excel(name = "用户登录名")
    @TableField("logincode")
    @ApiModelProperty(value = "用户登录名")
    private String logincode;


    /** 极速驾培订单ID */
    @Excel(name = "极速驾培订单ID")
    @TableField("out_trade_no")
    @ApiModelProperty(value = "极速驾培订单ID")
    private String outTradeNo;

    /** 极速驾培中退款订单ID */
    @Excel(name = "极速驾培中退款订单ID")
    @TableField("out_refund_no")
    @ApiModelProperty(value = "极速驾培中退款订单ID")
    private String outRefundNo;


    /** 总金额*/
    @Excel(name = "总金额")
    @TableField("total")
    @ApiModelProperty(value = "总金额")
    private Integer total;

    /** 交易状态 1、支付成功2、支付失败*/
    @Excel(name = "交易状态 1、支付成功2、支付失败")
    @TableField("trade_type")
    @ApiModelProperty(value = "微信交易状态，枚举值：")
    private Integer tradeType;

    /** 支付完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField("success_time")
    @ApiModelProperty(value = "支付完成时间")
    private Date successTime;

    /** 1:微信 2:支付宝 */
    @TableField("pay_type")
    @ApiModelProperty(value = "1:微信 2:支付宝")
    private Integer payType;

    /** 是否分成 */
    @Excel(name = "是否分成给驾校 0:不分成  1:分成")
    @TableField("is_share")
    @ApiModelProperty(value = "是否分成给驾校 0:不分成  1:分成")
    private Integer isShare;

    /** 地区编号 */
    @Excel(name = "地区编号")
    @TableField("dqbh")
    @ApiModelProperty(value = "地区编号")
    private String dqbh;

    /** 地区编号 */
    @Excel(name = "地区名称")
    @TableField("dqmc")
    @ApiModelProperty(value = "地区名称")
    private String dqmc;

    /** 驾校编号 */
    @Excel(name = "驾校编号")
    @TableField("school")
    @ApiModelProperty(value = "驾校编号")
    private String school;

    /** 驾校名称 */
    @Excel(name = "驾校名称")
    @TableField("school_name")
    @ApiModelProperty(value = "驾校名称")
    private String schoolName;

    /** 驾校提成 */
    @Excel(name = "驾校提成")
    @TableField("school_commission")
    @ApiModelProperty(value = "驾校提成")
    private Integer schoolCommission;

    /** 手机类型 1:苹果 2:安卓 */
    @Excel(name = "手机类型 1:苹果 2:安卓")
    @TableField("phone_type")
    @ApiModelProperty(value = "手机类型 1:苹果 2:安卓")
    private Integer phoneType;

    /** 退款原因 */
    @Excel(name = "退款原因")
    @TableField("refund_reason")
    @ApiModelProperty(value = "退款原因")
    private String refundReason;

    /** 该用户创建人ID */
    @Excel(name = "该用户创建人ID")
    @TableField("create_id")
    @ApiModelProperty(value = "该用户创建人ID")
    private Long createId;


}
