From e5dde5519053d518d088345795059b933c40ba58 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 20 May 2024 14:13:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=BD=93=E6=97=A5=E9=97=AE=E8=AF=8A=E6=95=B0=E9=87=8F=E6=95=B0?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Model/OrderInquiry.php | 29 ++++++++++++++++++++++++ app/Services/UserDoctorService.php | 36 ++++-------------------------- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/app/Model/OrderInquiry.php b/app/Model/OrderInquiry.php index 9176d28..1171ba8 100644 --- a/app/Model/OrderInquiry.php +++ b/app/Model/OrderInquiry.php @@ -138,6 +138,35 @@ class OrderInquiry extends Model return self::where($params)->whereBetween('created_at', $created_at)->count(); } + /** + * 获取当日问诊数量数量 + * @param string|int $doctor_id + * @param string|int $inquiry_type + * @return int + */ + public static function getDoctorDayCount(string|int $doctor_id,string|int $inquiry_type): int + { + $params = array(); + $params[] = ['doctor_id', '=', $doctor_id]; + $params[] = ['inquiry_type', '=', $inquiry_type]; + $params[] = ['inquiry_mode', '=', 1]; + $params[] = ['inquiry_refund_status', '=', 0]; + + // 获取当天开始时间 + $start_date = date('Y-m-d 00:00:00', time()); + + // 获取当天结束时间 + $end_date = date('Y-m-d 23:59:59', time()); + + $created_at = [$start_date, $end_date]; + + return self::where($params) + ->where('inquiry_status',"<>",7) + ->where('inquiry_pay_status',"<>",1) + ->whereBetween('created_at', $created_at) + ->count(); + } + /** * 获取单条,排序 * @param array $params diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index c551b60..b9bd711 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -2191,22 +2191,8 @@ class UserDoctorService extends BaseService $doctor_inquiry_config = DoctorInquiryConfigModel::getInquiryConfigListByInquiryType($params,['*'],[1,3,4]); if (!empty($doctor_inquiry_config)) { foreach ($doctor_inquiry_config as &$value) { - // 获取医生当日的全部订单 - $params = array(); - $params[] = ['doctor_id', '=', $doctor_id]; - $params[] = ['inquiry_type', '=', $value['inquiry_type']]; - $params[] = ['inquiry_mode', '=', 1]; - $params[] = ['inquiry_refund_status', '=', 0]; - - // 获取当天开始时间 - $start_date = date('Y-m-d 00:00:00', time()); - - // 获取当天结束时间 - $end_date = date('Y-m-d 23:59:59', time()); - - $created_at = [$start_date, $end_date]; - - $value['order_inquiry_count'] = OrderInquiry::getDateCount($params,$created_at); + // 获取当日问诊数量数量 + $value['order_inquiry_count'] = OrderInquiry::getDoctorDayCount($doctor_id, $value['inquiry_type']); // 获取系统问诊配置 $fields = [ @@ -2440,22 +2426,8 @@ class UserDoctorService extends BaseService $doctor_inquiry_config = DoctorInquiryConfigModel::getInquiryConfigListByInquiryType($params,['*'],[1,3,4]); if (!empty($doctor_inquiry_config)) { foreach ($doctor_inquiry_config as &$value) { - // 获取医生当日的全部订单 - $params = array(); - $params[] = ['doctor_id', '=', $doctor_id]; - $params[] = ['inquiry_type', '=', $value['inquiry_type']]; - $params[] = ['inquiry_mode', '=', 1]; - $params[] = ['inquiry_refund_status', '=', 0]; - - // 获取当天开始时间 - $start_date = date('Y-m-d 00:00:00', time()); - - // 获取当天结束时间 - $end_date = date('Y-m-d 23:59:59', time()); - - $created_at = [$start_date, $end_date]; - - $value['order_inquiry_count'] = OrderInquiry::getDateCount($params,$created_at); + // 获取当日问诊数量数量 + $value['order_inquiry_count'] = OrderInquiry::getDoctorDayCount($doctor_id, $value['inquiry_type']); // 获取回合数以及问诊时间 if ($value['inquiry_mode'] == 6){