From 3a82611c6f07c37589f263b00b0ce78a3176eb2f Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Tue, 12 Sep 2023 10:29:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=82=A3=E8=80=85=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/dao/orderInquiry.go | 19 +++++++++++++++++++ api/dao/orderProduct.go | 23 +++++++++++++++++++++++ api/requests/orderInquiry.go | 1 + api/requests/orderProduct.go | 1 + 4 files changed, 44 insertions(+) diff --git a/api/dao/orderInquiry.go b/api/dao/orderInquiry.go index 57704e6..4276c3b 100644 --- a/api/dao/orderInquiry.go +++ b/api/dao/orderInquiry.go @@ -201,6 +201,25 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry query = query.Where("patient_name LIKE ?", "%"+req.PatientName+"%") } + // 手机号-医生/患者 + if req.Mobile != "" { + // 患者 + patientSubQuery := global.Db.Model(&model.User{}). + Select("user_id"). + Where("mobile = ?", req.Mobile) + + // 医生 + doctorUserSubQuery := global.Db.Model(&model.User{}). + Select("user_id"). + Where("mobile = ?", req.Mobile) + + doctorSubQuery := global.Db.Model(&model.UserDoctor{}). + Select("doctor_id"). + Where(gorm.Expr("user_id IN (?)", doctorUserSubQuery)) + + query = query.Where("user_id IN (?)", patientSubQuery).Or("doctor_id IN (?)", doctorSubQuery) + } + // 排序 query = query.Order("created_at desc") diff --git a/api/dao/orderProduct.go b/api/dao/orderProduct.go index 603aa45..875232d 100644 --- a/api/dao/orderProduct.go +++ b/api/dao/orderProduct.go @@ -220,6 +220,29 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct query = query.Where("consignee_tel LIKE ?", "%"+req.ConsigneeTel+"%") } + // 手机号-医生/患者 + if req.Mobile != "" { + // 患者 + patientUserSubQuery := global.Db.Model(&model.User{}). + Select("user_id"). + Where("mobile = ?", req.Mobile) + + patientSubQuery := global.Db.Model(&model.UserPatient{}). + Select("patient_id"). + Where(gorm.Expr("user_id IN (?)", patientUserSubQuery)) + + // 医生 + doctorUserSubQuery := global.Db.Model(&model.User{}). + Select("user_id"). + Where("mobile = ?", req.Mobile) + + doctorSubQuery := global.Db.Model(&model.UserDoctor{}). + Select("doctor_id"). + Where(gorm.Expr("user_id IN (?)", doctorUserSubQuery)) + + query = query.Where("user_id IN (?)", patientSubQuery).Or("doctor_id IN (?)", doctorSubQuery) + } + // 排序 query = query.Order("created_at desc") diff --git a/api/requests/orderInquiry.go b/api/requests/orderInquiry.go index 3d44a54..9c3cadb 100644 --- a/api/requests/orderInquiry.go +++ b/api/requests/orderInquiry.go @@ -24,4 +24,5 @@ type GetOrderInquiryPage struct { IsWithdrawal *int `json:"is_withdrawal" form:"is_withdrawal" label:"是否提现"` // 0:否 1:是 2:提现中 CancelTime string `json:"cancel_time" form:"cancel_time" label:"订单取消时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` + Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` } diff --git a/api/requests/orderProduct.go b/api/requests/orderProduct.go index b0f3d43..f7ca832 100644 --- a/api/requests/orderProduct.go +++ b/api/requests/orderProduct.go @@ -27,4 +27,5 @@ type GetOrderProductPage struct { ConsigneeName string `json:"consignee_name" form:"consignee_name" label:"收货人姓名"` ConsigneeTel string `json:"consignee_tel" form:"cancel_reason" label:"收货人电话"` PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` + Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` }