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

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Table(name = "consult_order_view")
public class ConsultOrderView {
    /**
     * 主键
     */
    @Id
    @Column(name = "consult_id", nullable = false)
    private Integer consultId;

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

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

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

    /**
     * 年龄
     */
    @Column(name = "age", nullable = false)
    private Integer age;

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

    /**
     * 病情描述
     */
    @Column(name = "description", nullable = false)
    private String description;

    /**
     * 医生Id
     */
    @Column(name = "doctor_id", nullable = false)
    private Integer doctorId;

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

    /**
     * 科室Id
     */
    @Column(name = "dept_id", nullable = false)
    private Integer deptId;

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

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

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

    /**
     * 会话Id
     */
    @Column(name = "session_id", nullable = false)
    private String sessionId;

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

    /**
     * 咨询状态
     */
    @Column(name = "consult_status", nullable = false)
    private Integer consultStatus;

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

    /**
     * 接诊时间
     */
    @Column(name = "accept_time")
    private Date acceptTime;

    /**
     * 订单Id
     */
    @Column(name = "order_id", nullable = false)
    private Integer orderId;

    /**
     * 订单号
     */
    @Column(name = "order_no", nullable = false)
    private String orderNo;

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

    /**
     * 订单类型
     */
    @Column(name = "order_type", nullable = false)
    private Integer orderType;

    /**
     * 患者id
     */
    @Column(name = "patient_id", nullable = false)
    private Integer patientId;

    /**
     * 扩展状态（位存储）1-咨询内容可被分享查看
     */
    @Column(name = "ext_status")
    public Integer extStatus;


    /**
     * 订单金额
     */
    @Column(name = "order_amount")
    private BigDecimal orderAmount;

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

    /**
     * 科室名称
     */
    @Column(name = "dept_name")
    private String deptName;

    /**
     * 医生名称
     */
    @Column(name = "doctor_name")
    private String doctorName;

    @Column(name = "team_id")
    private Integer teamId;

    @Column(name = "team_operate_doctor_id")
    private Integer teamOperateDoctorId;

    @Column(name = "pay_time")
    private  Date payTime;

    @Column(name = "type")
    private  Integer type;


    public Integer getConsultId() {
        return consultId;
    }

    public void setConsultId(Integer consultId) {
        this.consultId = consultId;
    }

    public Integer getUserId() {
        return userId;
    }

    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 getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getDoctorId() {
        return doctorId;
    }

    public void setDoctorId(Integer doctorId) {
        this.doctorId = doctorId;
    }

    public Integer getHospitalId() {
        return hospitalId;
    }

    public void setHospitalId(Integer hospitalId) {
        this.hospitalId = hospitalId;
    }

    public Integer getDeptId() {
        return deptId;
    }

    public void setDeptId(Integer deptId) {
        this.deptId = deptId;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public Integer getPaymentStatus() {
        return paymentStatus;
    }

    public void setPaymentStatus(Integer paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public Integer getConsultStatus() {
        return consultStatus;
    }

    public void setConsultStatus(Integer consultStatus) {
        this.consultStatus = consultStatus;
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public Date getAcceptTime() {
        return acceptTime;
    }

    public void setAcceptTime(Date acceptTime) {
        this.acceptTime = acceptTime;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Integer getPatientId() {
        return patientId;
    }

    public void setPatientId(Integer patientId) {
        this.patientId = patientId;
    }

    public Integer getExtStatus() {
        return extStatus;
    }

    public void setExtStatus(Integer extStatus) {
        this.extStatus = extStatus;
    }

    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    public String getHospitalName() {
        return hospitalName;
    }

    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public Integer getTeamId() {
        return teamId;
    }

    public void setTeamId(Integer teamId) {
        this.teamId = teamId;
    }

    public Integer getTeamOperateDoctorId() {
        return teamOperateDoctorId;
    }

    public void setTeamOperateDoctorId(Integer teamOperateDoctorId) {
        this.teamOperateDoctorId = teamOperateDoctorId;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    @Override
    public String toString() {
        return "ConsultOrderView{" +
                "consultId=" + consultId +
                ", userId=" + userId +
                ", name='" + name + '\'' +
                ", mobile='" + mobile + '\'' +
                ", age=" + age +
                ", sex=" + sex +
                ", description='" + description + '\'' +
                ", doctorId=" + doctorId +
                ", hospitalId=" + hospitalId +
                ", deptId=" + deptId +
                ", amount=" + amount +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", sessionId='" + sessionId + '\'' +
                ", paymentStatus=" + paymentStatus +
                ", consultStatus=" + consultStatus +
                ", deleted=" + deleted +
                ", acceptTime=" + acceptTime +
                ", orderId=" + orderId +
                ", orderNo='" + orderNo + '\'' +
                ", remark='" + remark + '\'' +
                ", orderType=" + orderType +
                ", patientId=" + patientId +
                ", extStatus=" + extStatus +
                ", orderAmount=" + orderAmount +
                ", type=" + type +
                '}';
    }
}
