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

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

/**
 * 核酸检测订单表
 */
@Entity
@Table(name = "nat_order")
public class NatOrder {

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

    /**
     * 订单 id，订单表主键
     */
    @Column(name = "order_id")
    private Integer orderId;

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

    /**
     * 医院 id
     */
    @Column(name = "hospital_id", nullable = false)
    private Integer hospitalId;

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

    /**
     * 更新时间
     */
    @Column(name = "update_time", nullable = false)
    private Date updateTime;

    /**
     * 删除标识：0-未删除；1-已删除
     */
    @Column(name = "deleted", nullable = false)
    private Boolean deleted;

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

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

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

    /**
     * 身份证号
     */
    @Column(name = "id_card", nullable = false)
    private String idCard;

    /**
     * 手机号
     */
    @Column(name = "mobile", nullable = false)
    private String mobile;

    /**
     * 预约日期
     */
    @Column(name = "reg_date", nullable = false)
    private Date regDate;

    /**
     * 预约时间段：2-上午；3-下午；
     */
    @Column(name = "reg_time_period", nullable = false)
    private Integer regTimePeriod;

    /**
     * 现住址
     */
    @Column(name = "address", nullable = false)
    private String address;

    /**
     * 订单状态：1-未支付；2-已支付/待检测；4-已完成；8-已取消；16-已退款
     */
    @Column(name = "status", nullable = false)
    private Integer status;

    /**
     * 支付状态：0-待支付；1-支付处理中；2-支付成功；3-支付失败；
     */
    @Column(name = "payment_status", nullable = false)
    private Integer paymentStatus;

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

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

    /**
     * 缴费码
     */
    @Column(name = "payment_code")
    private String paymentCode;

    /**
     * 疫苗码
     */
    @Column(name = "vaccine_code")
    private String vaccineCode;

    /**
     * 备注
     */
    @Column(name = "remark")
    private String remark;

    @Column(name = "payment_channel")
    private Integer paymentChannel;
    @Column(name = "payment_no")
    private String paymentNo;
    /**
     * 执行状态：1-确认执行；0-尚未执行；默认为0
     */
    @Column(name = "exe_status")
    private Integer exeStatus;

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    /**
     * 订单 id，订单表主键
     */
    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    /**
     * 订单 id，订单表主键
     */
    public Integer getOrderId() {
        return orderId;
    }

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

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

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

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

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

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

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

    /**
     * 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 删除标识：0-未删除；1-已删除
     */
    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    /**
     * 删除标识：0-未删除；1-已删除
     */
    public Boolean isDeleted() {
        return deleted;
    }

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

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

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

    /**
     * 患者用户 id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 患者姓名
     */
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    /**
     * 患者姓名
     */
    public String getPatientName() {
        return patientName;
    }

    /**
     * 身份证号
     */
    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    /**
     * 身份证号
     */
    public String getIdCard() {
        return idCard;
    }

    /**
     * 手机号
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    /**
     * 手机号
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 预约日期
     */
    public void setRegDate(Date regDate) {
        this.regDate = regDate;
    }

    /**
     * 预约日期
     */
    public Date getRegDate() {
        return regDate;
    }

    /**
     * 预约时间段：1-上午；2-下午；
     */
    public void setRegTimePeriod(Integer regTimePeriod) {
        this.regTimePeriod = regTimePeriod;
    }

    /**
     * 预约时间段：1-上午；2-下午；
     */
    public Integer getRegTimePeriod() {
        return regTimePeriod;
    }

    /**
     * 现住址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 现住址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 订单状态：1-未支付；2-已支付/待检测；4-已完成；8-已取消；16-已退款
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 订单状态：1-未支付；2-已支付/待检测；4-已完成；8-已取消；16-已退款
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 支付状态：0-支付处理中/待支付；1-支付失败；2-支付成功
     */
    public void setPaymentStatus(Integer paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    /**
     * 支付状态：0-支付处理中/待支付；1-支付失败；2-支付成功
     */
    public Integer getPaymentStatus() {
        return paymentStatus;
    }

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

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

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

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

    /**
     * 缴费码
     */
    public void setPaymentCode(String paymentCode) {
        this.paymentCode = paymentCode;
    }

    /**
     * 缴费码
     */
    public String getPaymentCode() {
        return paymentCode;
    }

    /**
     * 疫苗码
     */
    public void setVaccineCode(String vaccineCode) {
        this.vaccineCode = vaccineCode;
    }

    /**
     * 疫苗码
     */
    public String getVaccineCode() {
        return vaccineCode;
    }

    /**
     * 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 备注
     */
    public String getRemark() {
        return remark;
    }

    public Integer getPaymentChannel() {
        return paymentChannel;
    }

    public void setPaymentChannel(Integer paymentChannel) {
        this.paymentChannel = paymentChannel;
    }

    public String getPaymentNo() {
        return paymentNo;
    }

    public void setPaymentNo(String paymentNo) {
        this.paymentNo = paymentNo;
    }

    public Integer getExeStatus() {
        return exeStatus;
    }

    public void setExeStatus(Integer exeStatus) {
        this.exeStatus = exeStatus;
    }

    @Override
    public String toString() {
        return "NatOrder{" +
                "id=" + id + '\'' +
                "orderId=" + orderId + '\'' +
                "orderNo=" + orderNo + '\'' +
                "hospitalId=" + hospitalId + '\'' +
                "createTime=" + createTime + '\'' +
                "updateTime=" + updateTime + '\'' +
                "deleted=" + deleted + '\'' +
                "amount=" + amount + '\'' +
                "userId=" + userId + '\'' +
                "patientName=" + patientName + '\'' +
                "idCard=" + idCard + '\'' +
                "mobile=" + mobile + '\'' +
                "regDate=" + regDate + '\'' +
                "regTimePeriod=" + regTimePeriod + '\'' +
                "address=" + address + '\'' +
                "status=" + status + '\'' +
                "paymentStatus=" + paymentStatus + '\'' +
                "payTime=" + payTime + '\'' +
                "refundTime=" + refundTime + '\'' +
                "paymentCode=" + paymentCode + '\'' +
                "vaccineCode=" + vaccineCode + '\'' +
                "remark=" + remark + '\'' +
                '}';
    }
}
