const zytHis = require("./zyt-his"); const drugInfo = require("./drug-info"); const patientDescription = require("./patient-description"); const tencentIM = require("./tencent-im"); const hlwDoctor = require("./hlw-doctor"); const hlwReg = require("./hlw-reg/hlw-reg"); const hlwDiagnosis = require("./hlw-diagnosis"); const consultOrder = require("./consult-order"); const diagnosticRecord = require("./diagnostic-record"); const beijingCa = require("./beijing-ca"); const chatRecord = require("./chat-record"); const drugStore = require("./drug-store"); const statistics = require("./statistics"); const chargeItem = require("./charge-item"); const downloadXlsx = require("./download-xlsx"); const hlwTimeDuration = require("./hlw-time-duration"); const hlwConfig = require("./hlw-config"); const famliyProfile = require("./family-profile"); const mrtc = require("./mrtc"); const address = require("./address"); const lackMedicineReg = require("./lack-medicine-reg"); const medicinePurchaseOrder = require("./medicine-purchase-order"); const stats = require("./stats"); const onlineDrugInfo = require("./online-drug-info"); const fengniaoApi = require("./fengniao"); const miniAppLog = require("./mini-app-log"); const chineseMedicine = require("./chinese-medicine"); const chineseMedicineOrder = require("./chinese-medicine-order"); const hlwPatient = require("./hlw-patient"); module.exports = async (item, db, res) => { switch (item.type) { case "getHisCustomer": case "addHisCustomer": case "registration": case "getPayStatus": case "hlwRefund": case "hlwuploadprescription": case "hlwPrescriptionOrderStatus": case "getRecent90daysDrugRecord": case "getHisDrugInfo": case "getHisInvoice": case "getHisEmployeeInfo": case "getWineDrugStockInfo": return await zytHis(item, db); case "getDrugInfo": case "deleteDrugInfo": case "updateDrugInfo": case "addDrugInfo": case "getHlwDrugInfo": case "editHlwDrugInfo": case "addHlwDrugInfo": case "setHlwDrugOnSale": case "importHlwDrugInfo": case "getStoreSimilarDrugInfo": case "searchDrugs": return await drugInfo(item, db); case "addPatientDescription": case "deletePatientDescription": case "updatePatientDescription": case "getPatientDescription": return await patientDescription(item, db); case "sendSystemNotification": case "generateUserSig": case "setUserProfileOrderStatys": case "setUserProfile": return await tencentIM(item, db); case "getHlwDoctorList": case "getHlwPersonList": case "deleteHlwDoctor": case "updateHlwDoctor": case "addHlwDoctor": case "getRandomOnlineDoctor": case "isDoctorOnline": case "getAllDoctorNos": case "getRecommendDoctor": case "getOptimalRecommendDoctor": case "setPharmacistOnlineStatus": case "getPharmacistOnlineStatus": case "addHlwPerson": case "updateHlwPerson": case "deleteHlwPerson": case "updateHlwPersonDeptInfo": case "autoSetPeopleOffline": case "getDoctorByNo": return await hlwDoctor(item, db); case "getDiagnosisList": case "deleteHlwDiagnosis": case "updateHlwDiagnosis": case "addHlwDiagnosis": case "updateHlwDiagnosisCategory": return await hlwDiagnosis(item, db); case "getConsultOrder": case "updateConsultOrder": case "deleteConsultOrder": case "addConsultOrder": case "addDrugStoreConsultOrder": case "updateConsultOrderStatus": case "getPatientOrder": case "getPatientOrderList": case "getDrugStoreOrderList": case "refundConsultOrder": case "acceptConsultOrder": case "completeConsultOrder": case "finishConsultOrder": case "startConsultOrder": case "refreshOrderPayStatus": case "cancelConsultOrder": case "doctorHasPendingOrder": case "serviceFinishConsultOrder": case "getHisStoreRegList": case "validHlwOrderConfig": case "getOrderPatientList": case "getHlwOrderList": case "applyRefundOrder": case "getRefundOrderList": case "handleRefundOrder": case "autoHandleExpireOrder": return await consultOrder(item, db); case "addConsultDiagnosis": case "getOrderDiagnosis": case "getAuditDiagnosisList": case "getAuditedDiagnosisList": case "auditDiagnosis": case "uploadDiagnosis": case "reUploadDiagnosticRecord": case "getPatientDiagnosisRecord": case "getPatientPassDiagnosisRecord": case "getLatestSubmitTime": case "orderHasDiagnosis": case "getStoreDiagnosisRecord": case "getAllDiagnosisRecord": case "getDoctorRxStats": case "getPharmacistRxStats": case "checkRxUploadStatus": case "getAccountRxList": case "getRxDetail": case "getAccountHistoryDrugs": case "getPatientHistoryDrugs": case "runOnlineRxExpireSchedule": case "getRxMedicineOrderStatus": case "getPatientHomeRxCount": case "getReUploadRxList": case "handleReUploadRx": case "getDiagnosisById": case "getPatientWineBuyCount": case "getYbReviewResult": return diagnosticRecord(item, db); case "caAuth": case "getSealImage": case "getCaUserInfo": case "startAutoSign": case "autoSign": case "closeAutoSign": case "autoSignVerifyCA": return await beijingCa(item, db); case "addChatMsg": case "getChatRecord": return await chatRecord(item, db); case "getChargeList": case "addHlwChargeItem": case "deleteHlwChargeItem": case "editHlwChargeItem": return await chargeItem(item, db) case "hlwStats": return await stats(item, db); case "getDrugStoreList": case "addDrugStore": case "editDrugStore": case "getChargeItemList": case "setDrugStoreStatus": case "getDrugStoreOptions": case "getSaleWineStatus": return await drugStore(item, db); case "getDoctorPrescriptionCount": case "getStoreOrderStatistics": case "getTimePeriodStatistics": return await statistics(item, db); case "hlwWebReg": case "hlwWebRegSettle": case "getPatientHlwRegList": case "hlwRegRefund": case "getRegPayStatus": return await hlwReg(item, db); case "downloadXlsx": return await downloadXlsx(item, db, res); case "getDoctorTimeStats": return await hlwTimeDuration(item, db); case "getHlwOrderConfig": case "updateHlwOrderConfig": case "getHlwConfigGroup": case "getHlwConfigByCorpIds": return await hlwConfig(item, db); case "addFamilyProfile": case "getFamilyProfile": case "updateFamilyProfile": case "sm4Encrypt": return await famliyProfile(item, db); case "getMrtcConfig": case "notifyVideoRoomCreated": case "notifyVideoRoomEnded": case "saveMrtcRecordEvent": case "getMrtcRecordList": return await mrtc(item, db); case "addAddress": case "updateAddress": case "deleteAddress": case "getAddressList": case "getDefaultAddress": return await address.main(item, db); case "addLackMedicineReg": case "getLackMedicineList": return await lackMedicineReg(item, db); case "getRxMedicinePurchaseOrderId": case "getMedicinePurchaseOrder": case "getMedicinePurchaseOrderList": case "getMedicinePurchaseShippingList": case "reloadYbPayStatus": case "reloadZfPayStatus": case "getMedicineOrderTradeNo": case "getShippingDetail": case "runMedicinePurchaseOrderSchedule": case "refundMedicinePurchaseOrderSelfFee": case "refundMedicinePurchaseOrderYbFee": case "getMedicinePurchaseOrderDetail": case "updateAfterSaleInfo": case "getLastestPurchaseOrder": case "getPatientPurchaseOrderList": case "getHighFreqAddressOrders": return await medicinePurchaseOrder(item, db); case "testFengniaoAvailable": case "getCancelReasons": case "preCancelFengniaoOrder": return await fengniaoApi.main(item, db); case "getOnlineDrugList": case "getOnlineDrugInfo": case "addOnlineDrugInfo": case "editOnlineDrugInfo": case "setOnlineDrugOnSale": case "importOnlineDrugInfo": case "getOnlineSimilarDrugInfo": case "checkOnlineDrugInfoStock": case "getOnlineDrugRepeatTags": return await onlineDrugInfo.main(item, db); case "addAlipayMiniAppLaunchLog": return await miniAppLog[item.type](item, db); case "getMedicalWineList": return await chineseMedicine.main(item, db); case "getRxMedicalWineOrder": case "getWineOrderPayQrcode": case "initRxMedicalWineOrder": case "checkReceiveAddress": case "runChineseMedicineOrderSchedule": case 'getWineShippingList': case 'getWineShippingDetail': case 'updateWineAfterSaleInfo': case 'getWineOrderStatus': case 'refundWineOrderFee': case 'refundWineOrderShippingFee': case 'getWineOrderPatient': case 'reCreateWineEmsOrder': return await chineseMedicineOrder.main(item, db); case "addHlwPatient": case "autoAddHlwPatient": case "getHlwPatientList": case "getHlwPatient": case "updateHlwPatient": case "deleteHlwPatient": return await hlwPatient.main(item, db); default: return { success: false, message: "未找到接口", }; } };