package com.ywt.outpatient.domain.entity.center;

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

/**
 * 体检订单表
 */
@Entity
@Table(name = "check_up_order")
public class CheckUpOrder implements Serializable {
  private static final long serialVersionUID = 1L;

  /**
   * 主键
   */
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "id", insertable = false, nullable = false)
  private Integer id;

  /**
   * 用户Id
   */
  @Column(name = "user_id", nullable = false)
  private Integer userId;

  /**
   * 姓名
   */
  @Column(name = "name", nullable = false)
  private String name;

  /**
   * 电话
   */
  @Column(name = "mobile")
  private String mobile;

  /**
   * 性别
   */
  @Column(name = "sex", nullable = false)
  private Integer sex;

  /**
   * 就诊ID||预约类型
   */
  @Column(name = "adm_id", nullable = false)
  private String admId;

  /**
   * 登记号
   */
  @Column(name = "reg_no", nullable = false)
  private String regNo;

  /**
   * 体检日期
   */
  @Column(name = "check_date", nullable = false)
  private String checkDate;

  /**
   * 套餐描述
   */
  @Column(name = "sets_desc", nullable = false)
  private String setsDesc;

  /**
   * 医院Id
   */
  @Column(name = "hospital_id")
  private Integer hospitalId;

  /**
   * 医院名称
   */
  @Column(name = "hospital_name")
  private String hospitalName;

  /**
   * 费用，单位：分
   */
  @Column(name = "amount", nullable = false)
  private Integer amount;

  /**
   * 支付状态
   */
  @Column(name = "payment_status", nullable = false)
  private Integer paymentStatus;

  /**
   * 支付渠道
   */
  @Column(name = "payment_channel")
  private Integer paymentChannel;

  /**
   * 支付时间
   */
  @Column(name = "pay_time")
  private Date payTime;

  /**
   * 位运算：订单状态(0-待支付，1-已支付，2-通知his成功，4-通知his失败)
   */
  @Column(name = "status", nullable = false)
  private Integer status;

  /**
   * 是否删除
   */
  @Column(name = "deleted", nullable = false)
  private Boolean deleted;

  /**
   * 修改时间
   */
  @Column(name = "update_time")
  private Date updateTime;

  /**
   * 创建时间
   */
  @Column(name = "create_time", nullable = false)
  private Date createTime;

  /**
   * 支付流水号
   */
  @Column(name = "payment_no")
  private String paymentNo;

  /**
   * 退款状态
   */
  @Column(name = "refund_status")
  private Integer refundStatus;

  /**
   * 退款时间
   */
  @Column(name = "refund_time")
  private Date refundTime;

  /**
   * 退款流水号
   */
  @Column(name = "refund_no")
  private String refundNo;

  /**
   * 退款回调时间
   */
  @Column(name = "refund_callback_time")
  private String refundCallbackTime;

  /**
   * 订单ID
   */
  @Column(name = "order_id")
  private Integer orderId;

  /**
   * 订单编码
   */
  @Column(name = "order_no")
  private String orderNo;

  /**
   * 主键
   */
  public Integer getId() {
    return id;
  }

  /**
   * 主键
   */
  public void setId(Integer id) {
    this.id = id;
  }

  /**
   * 用户Id
   */
  public Integer getUserId() {
    return userId;
  }

  /**
   * 用户Id
   */
  public void setUserId(Integer userId) {
    this.userId = userId;
  }

  /**
   * 姓名
   */
  public String getName() {
    return name;
  }

  /**
   * 姓名
   */
  public void setName(String name) {
    this.name = name;
  }

  /**
   * 电话
   */
  public String getMobile() {
    return mobile;
  }

  /**
   * 电话
   */
  public void setMobile(String mobile) {
    this.mobile = mobile;
  }

  /**
   * 性别
   */
  public Integer getSex() {
    return sex;
  }

  /**
   * 性别
   */
  public void setSex(Integer sex) {
    this.sex = sex;
  }

  /**
   * 就诊ID||预约类型
   */
  public String getAdmId() {
    return admId;
  }

  /**
   * 就诊ID||预约类型
   */
  public void setAdmId(String admId) {
    this.admId = admId;
  }

  /**
   * 登记号
   */
  public String getRegNo() {
    return regNo;
  }

  /**
   * 登记号
   */
  public void setRegNo(String regNo) {
    this.regNo = regNo;
  }

  /**
   * 体检日期
   */
  public String getCheckDate() {
    return checkDate;
  }

  /**
   * 体检日期
   */
  public void setCheckDate(String checkDate) {
    this.checkDate = checkDate;
  }

  /**
   * 套餐描述
   */
  public String getSetsDesc() {
    return setsDesc;
  }

  /**
   * 套餐描述
   */
  public void setSetsDesc(String setsDesc) {
    this.setsDesc = setsDesc;
  }

  /**
   * 医院Id
   */
  public Integer getHospitalId() {
    return hospitalId;
  }

  /**
   * 医院Id
   */
  public void setHospitalId(Integer hospitalId) {
    this.hospitalId = hospitalId;
  }

  /**
   * 医院名称
   */
  public String getHospitalName() {
    return hospitalName;
  }

  /**
   * 医院名称
   */
  public void setHospitalName(String hospitalName) {
    this.hospitalName = hospitalName;
  }

  /**
   * 费用，单位：分
   */
  public Integer getAmount() {
    return amount;
  }

  /**
   * 费用，单位：分
   */
  public void setAmount(Integer amount) {
    this.amount = amount;
  }

  /**
   * 支付状态
   */
  public Integer getPaymentStatus() {
    return paymentStatus;
  }

  /**
   * 支付状态
   */
  public void setPaymentStatus(Integer paymentStatus) {
    this.paymentStatus = paymentStatus;
  }

  /**
   * 支付渠道
   */
  public Integer getPaymentChannel() {
    return paymentChannel;
  }

  /**
   * 支付渠道
   */
  public void setPaymentChannel(Integer paymentChannel) {
    this.paymentChannel = paymentChannel;
  }

  /**
   * 支付时间
   */
  public Date getPayTime() {
    return payTime;
  }

  /**
   * 支付时间
   */
  public void setPayTime(Date payTime) {
    this.payTime = payTime;
  }

  /**
   * 位运算：订单状态(0-待支付，1-已支付，2-通知his成功，4-通知his失败)
   */
  public Integer getStatus() {
    return status;
  }

  /**
   * 位运算：订单状态(0-待支付，1-已支付，2-通知his成功，4-通知his失败)
   */
  public void setStatus(Integer status) {
    this.status = status;
  }

  /**
   * 是否删除
   */
  public Boolean isDeleted() {
    return deleted;
  }

  /**
   * 是否删除
   */
  public void setDeleted(Boolean deleted) {
    this.deleted = deleted;
  }

  /**
   * 修改时间
   */
  public Date getUpdateTime() {
    return updateTime;
  }

  /**
   * 修改时间
   */
  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }

  /**
   * 创建时间
   */
  public Date getCreateTime() {
    return createTime;
  }

  /**
   * 创建时间
   */
  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  /**
   * 支付流水号
   */
  public String getPaymentNo() {
    return paymentNo;
  }

  /**
   * 支付流水号
   */
  public void setPaymentNo(String paymentNo) {
    this.paymentNo = paymentNo;
  }

  /**
   * 退款状态
   */
  public Integer getRefundStatus() {
    return refundStatus;
  }

  /**
   * 退款状态
   */
  public void setRefundStatus(Integer refundStatus) {
    this.refundStatus = refundStatus;
  }

  /**
   * 退款时间
   */
  public Date getRefundTime() {
    return refundTime;
  }

  /**
   * 退款时间
   */
  public void setRefundTime(Date refundTime) {
    this.refundTime = refundTime;
  }

  /**
   * 退款流水号
   */
  public String getRefundNo() {
    return refundNo;
  }

  /**
   * 退款流水号
   */
  public void setRefundNo(String refundNo) {
    this.refundNo = refundNo;
  }

  /**
   * 退款回调时间
   */
  public String getRefundCallbackTime() {
    return refundCallbackTime;
  }

  /**
   * 退款回调时间
   */
  public void setRefundCallbackTime(String refundCallbackTime) {
    this.refundCallbackTime = refundCallbackTime;
  }

  /**
   * 订单ID
   */
  public Integer getOrderId() {
    return orderId;
  }

  /**
   * 订单ID
   */
  public void setOrderId(Integer orderId) {
    this.orderId = orderId;
  }

  /**
   * 订单编码
   */
  public String getOrderNo() {
    return orderNo;
  }

  /**
   * 订单编码
   */
  public void setOrderNo(String orderNo) {
    this.orderNo = orderNo;
  }

  public String toString() {
    return "CheckUpOrder{id=" + id + 
      ", userId=" + userId + 
      ", name=" + name + 
      ", mobile=" + mobile + 
      ", sex=" + sex + 
      ", admId=" + admId + 
      ", regNo=" + regNo + 
      ", checkDate=" + checkDate + 
      ", setsDesc=" + setsDesc + 
      ", hospitalId=" + hospitalId + 
      ", hospitalName=" + hospitalName + 
      ", amount=" + amount + 
      ", paymentStatus=" + paymentStatus + 
      ", paymentChannel=" + paymentChannel + 
      ", payTime=" + payTime + 
      ", status=" + status + 
      ", deleted=" + deleted + 
      ", updateTime=" + updateTime + 
      ", createTime=" + createTime + 
      ", paymentNo=" + paymentNo + 
      ", refundStatus=" + refundStatus + 
      ", refundTime=" + refundTime + 
      ", refundNo=" + refundNo + 
      ", refundCallbackTime=" + refundCallbackTime + 
      ", orderId=" + orderId + 
      ", orderNo=" + orderNo + 
      "}";
  }
}