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.util.Date;


@Entity
@Table(name = "doctor")
public class Doctor {

    @Id
    private Integer id;

    /**
     * 医生职称
     */
    private String title;

    /**
     * 医生擅长
     */
    private String specialty;

    /**
     * 医生简介
     */
    @Column(name = "brief_intro")
    private String briefIntro;

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

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

    /**
     * 是否删除（标识物理删除）
     */
    @Column(name = "is_deleted", nullable = false)
    private boolean isDeleted;

    /**
     * 医院Id, e.g. ,2,3,4,
     */
    @Column(name = "hospital_ids")
    private String hospitalIds;

    /**
     * 科室Id, e.g. ,2,3,
     */
    @Column(name = "dept_ids")
    private String deptIds;

    /**
     * 医生出诊状态
     */
    @Column(name = "schedule_status", nullable = false)
    private Integer scheduleStatus;

    /**
     * 医生咨询费用（单位：分）
     */
    @Column(name = "consult_fee")
    private Integer consultFee;

    /**
     * 二维码链接
     */
    @Column(name = "qr_code_url")
    private String qrCodeUrl;

    /**
     * 远程会诊费用配置
     */
    @Column(name = "treatment_fee_config")
    private String treatmentFeeConfig;


    /**
     * 医生状态（0-启用，1-禁用）
     */
    @Column(name = "status")
    private Integer status;

    /**
     * 认证方式
     * 0-后台导入，1-医生认证
     */
    @Column(name = "origin")
    private Integer authType;

    /**
     * 处方二维码链接
     */
    @Column(name = "rp_url")
    private String rpUrl;

    /**
     * 处方二维码内容
     */
    @Column(name = "rp_content")
    private String rpContent;

    /**
     * 排序权重
     */
    @Column(name = "weight")
    private Integer weight;

    /**
     * 医生头像（大图）
     */
    @Column(name = "avatar2")
    private String avatar2;

    //医生PC端处方二维码链接
    @Column(name = "rp_url_pc")
    private String rpUrlPc;

    //医生PC端处方二维码内容
    @Column(name = "rp_content_pc")
    private String rpContentPc;

    //默认处方药房ID
    @Column(name = "pharmacy_id")
    private Integer pharmacyId;

    //邀请患者数
    @Column(name = "invite_pat_count")
    private Integer invitePatCount;

    // identity
    @Column(name = "identity")
    private Integer identity;

    /**
     * v3.0.8 新增：开启咨询功能，但暂不接诊，默认选择否
     */
    @Column(name = "neg_reception")
    private Boolean negReception;

    /**
     * v3.0.8 新增：暂不接诊提示患者内容
     */
    @Column(name = "neg_reception_hint")
    private String negReceptionHint;

    /**
     * v3.2.0 新增，患者线下就诊后，是否3天内有1次免费咨询机会
     */
    @Column(name = "next_consult_chance")
    private Integer nextConsultChance;

    /**
     * v3.2.0 新增，线下就诊费用设置
     */
    @Column(name = "offline_fee")
    private Integer offlineFee;

    /**
     * v3.2.5 处方权限状态，0-启用，1-禁用
     */
    @Column(name = "prescription_right_status")
    private Integer prescriptionRightStatus;

    @Column(name = "prescription_right_pharmacy_ids")
    private String prescriptionRightPharmacyIds;


    public Integer getId() {
        return id;
    }

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

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSpecialty() {
        return specialty;
    }

    public void setSpecialty(String specialty) {
        this.specialty = specialty;
    }

    public String getBriefIntro() {
        return briefIntro;
    }

    public void setBriefIntro(String briefIntro) {
        this.briefIntro = briefIntro;
    }

    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 boolean isDeleted() {
        return isDeleted;
    }

    public void setDeleted(boolean deleted) {
        isDeleted = deleted;
    }

    public String getHospitalIds() {
        return hospitalIds;
    }

    public void setHospitalIds(String hospitalIds) {
        this.hospitalIds = hospitalIds;
    }

    public String getDeptIds() {
        return deptIds;
    }

    public void setDeptIds(String deptIds) {
        this.deptIds = deptIds;
    }

    public Integer getScheduleStatus() {
        return scheduleStatus;
    }

    public void setScheduleStatus(Integer scheduleStatus) {
        this.scheduleStatus = scheduleStatus;
    }

    public Integer getConsultFee() {
        return consultFee;
    }

    public void setConsultFee(Integer consultFee) {
        this.consultFee = consultFee;
    }

    public String getQrCodeUrl() {
        return qrCodeUrl;
    }

    public void setQrCodeUrl(String qrCodeUrl) {
        this.qrCodeUrl = qrCodeUrl;
    }

    public String getTreatmentFeeConfig() {
        return treatmentFeeConfig;
    }

    public void setTreatmentFeeConfig(String treatmentFeeConfig) {
        this.treatmentFeeConfig = treatmentFeeConfig;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getAuthType() {
        return authType;
    }

    public void setAuthType(Integer authType) {
        this.authType = authType;
    }

    public String getRpUrl() {
        return rpUrl;
    }

    public void setRpUrl(String rpUrl) {
        this.rpUrl = rpUrl;
    }

    public String getRpContent() {
        return rpContent;
    }

    public void setRpContent(String rpContent) {
        this.rpContent = rpContent;
    }

    public Integer getWeight() {
        return weight;
    }

    public void setWeight(Integer weight) {
        this.weight = weight;
    }

    public String getAvatar2() {
        return avatar2;
    }

    public void setAvatar2(String avatar2) {
        this.avatar2 = avatar2;
    }

    public String getRpUrlPc() {
        return rpUrlPc;
    }

    public void setRpUrlPc(String rpUrlPc) {
        this.rpUrlPc = rpUrlPc;
    }

    public String getRpContentPc() {
        return rpContentPc;
    }

    public void setRpContentPc(String rpContentPc) {
        this.rpContentPc = rpContentPc;
    }

    public Integer getPharmacyId() {
        return pharmacyId;
    }

    public void setPharmacyId(Integer pharmacyId) {
        this.pharmacyId = pharmacyId;
    }

    public Integer getInvitePatCount() {
        return invitePatCount;
    }

    public void setInvitePatCount(Integer invitePatCount) {
        this.invitePatCount = invitePatCount;
    }

    public Integer getIdentity() {
        return identity;
    }

    public void setIdentity(Integer identity) {
        this.identity = identity;
    }

    public Boolean getNegReception() {
        return negReception;
    }

    public void setNegReception(Boolean negReception) {
        this.negReception = negReception;
    }

    public String getNegReceptionHint() {
        return negReceptionHint;
    }

    public void setNegReceptionHint(String negReceptionHint) {
        this.negReceptionHint = negReceptionHint;
    }

    public Integer getNextConsultChance() {
        return nextConsultChance;
    }

    public void setNextConsultChance(Integer nextConsultChance) {
        this.nextConsultChance = nextConsultChance;
    }

    public Integer getOfflineFee() {
        return offlineFee;
    }

    public void setOfflineFee(Integer offlineFee) {
        this.offlineFee = offlineFee;
    }

    public Integer getPrescriptionRightStatus() {
        return prescriptionRightStatus;
    }

    public void setPrescriptionRightStatus(Integer prescriptionRightStatus) {
        this.prescriptionRightStatus = prescriptionRightStatus;
    }

    public String getPrescriptionRightPharmacyIds() {
        return prescriptionRightPharmacyIds;
    }

    public void setPrescriptionRightPharmacyIds(String prescriptionRightPharmacyIds) {
        this.prescriptionRightPharmacyIds = prescriptionRightPharmacyIds;
    }
}
