diff --git a/app/Model/OrderInquiry.php b/app/Model/OrderInquiry.php index 1171ba8..9176d28 100644 --- a/app/Model/OrderInquiry.php +++ b/app/Model/OrderInquiry.php @@ -138,35 +138,6 @@ 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/InquiryService.php b/app/Services/InquiryService.php index e682f08..246987a 100644 --- a/app/Services/InquiryService.php +++ b/app/Services/InquiryService.php @@ -2281,4 +2281,42 @@ class InquiryService extends BaseService return $result->toArray(); } + /** + * 获取医生当日有效问诊数量 + * @param string|int $doctor_id + * @param string|int $inquiry_type + * @return int|mixed + */ + public function getDoctorDayInquiryCount(string|int $doctor_id,string|int $inquiry_type): mixed + { + $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]; + + $inquiry_status_params = [1,2,3,4,5,6,7]; + + $order_inquirys = OrderInquiry::getInquiryWithCreateTime($params,$created_at,$inquiry_status_params); + if (empty($order_inquirys)){ + return 0; + } + + $count = 0; + foreach ($order_inquirys as $order_inquiry){ + if ($order_inquiry['inquiry_status'] == 7 && $order_inquiry['inquiry_pay_status'] == 1){ + continue; + } + + $count = $count + 1; + } + + return $count; + } } \ No newline at end of file diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index b9bd711..6c31c9a 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -2183,6 +2183,8 @@ class UserDoctorService extends BaseService // 获取医生问诊配置-问诊购药 $result['multi_point_enable'] = 0; + $inquiryService = new InquiryService(); + // 获取问诊价格 // 专家-公益 $params = array(); @@ -2191,8 +2193,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) { - // 获取当日问诊数量数量 - $value['order_inquiry_count'] = OrderInquiry::getDoctorDayCount($doctor_id, $value['inquiry_type']); + // 获取医生当日有效问诊数量 + $value['order_inquiry_count'] = $inquiryService->getDoctorDayInquiryCount($doctor_id, $value['inquiry_type']); // 获取系统问诊配置 $fields = [ @@ -2420,14 +2422,16 @@ class UserDoctorService extends BaseService return fail(HttpEnumCode::HTTP_SUCCESS, "医生错误"); } + $inquiryService = new InquiryService(); + // 获取问诊配置 $params = array(); $params[] = ['doctor_id', '=', $doctor_id]; $doctor_inquiry_config = DoctorInquiryConfigModel::getInquiryConfigListByInquiryType($params,['*'],[1,3,4]); if (!empty($doctor_inquiry_config)) { foreach ($doctor_inquiry_config as &$value) { - // 获取当日问诊数量数量 - $value['order_inquiry_count'] = OrderInquiry::getDoctorDayCount($doctor_id, $value['inquiry_type']); + // 获取医生当日有效问诊数量 + $value['order_inquiry_count'] = $inquiryService->getDoctorDayInquiryCount($doctor_id, $value['inquiry_type']); // 获取回合数以及问诊时间 if ($value['inquiry_mode'] == 6){