package com.cirle.scientific.po;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Calendar;

@Entity
@Table(name = "sales_orders_main")
@Data
@ApiModel
public class SalesOrdersMain implements Serializable {

	private static final long serialVersionUID = -8181811297786563759L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@ApiModelProperty(value = "订单id")
	private Long id;
	
	@ApiModelProperty(value = "订单名称")
	private String orderName;

	@ApiModelProperty(value = "订单号")
	private String orderId;

	@ApiModelProperty(value = "商品id")
	private String productId;

	@ApiModelProperty(value = "用户唯一标识")
	private String memCard;

	@ApiModelProperty(value = "订单描述")
	private String orderDesc;

	@ApiModelProperty(value = "订单类型，1-精品课， 2-直播，3-会议，4-课件")
	private Integer orderType;

	@ApiModelProperty(value = "订单类型产品的id")
	private String objId;

	@ApiModelProperty(value = "订单类型产品的数量")
	private Integer objCount = 1;

	@ApiModelProperty(value = "是否打包购买  0：否  1：是")
	private Integer ispackage = 1;

	@ApiModelProperty(value = "订单总金额")
	private Double orderSizes = 0d;

	@ApiModelProperty(value = "订单创建日期")
	private Calendar createtime;

	@ApiModelProperty(value = "状态 0-未完成 1-完成   2-已删除")
	private Integer status = 0;

	@ApiModelProperty(value = "支付宝订单号")
	private String alipayOrderId;

	@ApiModelProperty(value = "付款IP")
	private String payIp;

	@ApiModelProperty(value = "支付时间")
	private Calendar payTime;

	@ApiModelProperty(value = "支付方式：1-线上支付宝支付，2-线上微信支付  3：线下支付 4：免费 5：线下班  6:钱包支付 7:购买人赠送 8:苹果支付  9:线下对公银行卡  10：线下支付宝")
	private Integer payType;

	@ApiModelProperty(value = "支付宝返回支付状态")
	private String alipayStatus;

	@ApiModelProperty(value = "微信支付订单号")
	private String wxpayOrderId;

	@ApiModelProperty(value = "微信支付返回支付状态")
	private String wxpayStatus;
	
	@ApiModelProperty(value = "红包记录id")
	private String packDetailsId;

	@ApiModelProperty(value = "支付设备  0-未知  1-H5  2-pc")
	private Integer paySource;

	@ApiModelProperty(value = "退款原因")
	private String refundDesc;

	@ApiModelProperty(value = "退款时间")
	private Calendar refundTime;

	@ApiModelProperty(value = "退款状态  0:未退款 1：退款中  2：退款成功 3：退款失败")
	private Integer refundStatus = 0;
	
	@ApiModelProperty(value = "使用积分数量")
	private Integer point = 0;

	@ApiModelProperty(value = "分享者用户唯一识别")
	private String fromMemCard;

	@ApiModelProperty(value = "销售人员id")
	private Integer salesId;
	
}