diff --git a/app/Services/DoctorAccountService.php b/app/Services/DoctorAccountService.php index cb4221e..63e4f25 100644 --- a/app/Services/DoctorAccountService.php +++ b/app/Services/DoctorAccountService.php @@ -30,6 +30,13 @@ class DoctorAccountService extends BaseService $date = $this->request->input('date'); + // 今日接诊收入 + $inquiryService = new InquiryService(); + $doctor_today_inquiry_total = $inquiryService->getDoctorDayAmountTotal($user_info['client_user_id'],$date); + + // 今日已完成收入 + $doctor_day_completed_amount_total = $inquiryService->getDoctorDayCompletedAmountTotal($user_info['client_user_id'],$date); + // 获取医生账户余额 $balance_account = $this->getDoctorBalanceAccount($user_info['client_user_id']); @@ -76,9 +83,9 @@ class DoctorAccountService extends BaseService } $result = array(); - $result['balance_account'] = floor($balance_account * 100) / 100;; // 账户余额 - $result['amount_total_month'] = floor($amount_total_month * 100) / 100; // 月余额 - $result['withdrawal_amount_month'] = floor($withdrawal_amount_month * 100) / 100; // 月已提现金额 + $result['doctor_today_inquiry_total'] = bcmul($doctor_today_inquiry_total,1,2); // 今日接诊收入 + $result['doctor_day_completed_amount_total'] = bcmul($doctor_day_completed_amount_total ,1,2); // 今日已完成收入 + $result['balance_account'] = bcmul($balance_account ,1,2); // 账户余额 $result['bill'] = $bill; // 账单 return success($result); diff --git a/app/Services/InquiryService.php b/app/Services/InquiryService.php index 914e5f1..72e4f2e 100644 --- a/app/Services/InquiryService.php +++ b/app/Services/InquiryService.php @@ -1206,7 +1206,7 @@ class InquiryService extends BaseService /** * 获取医生当日接诊的订单金额 - * 状态:已接诊-已完成 + * 状态:已接诊 * @param string $doctor_id * @param string $date * @return float @@ -1228,7 +1228,38 @@ class InquiryService extends BaseService $reception_time = [$start_date, $end_date]; - $inquiry_status_params = [4, 5]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) + $inquiry_status_params = [4]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) + + $amount_total_sum = OrderInquiry::getOrderInquiryBetweenTimeAmountTotalSum($params, $reception_time, $inquiry_status_params); + + return $amount_total_sum ?: 0; + } + + /** + * 获取医生当日已完成未结束的订单金额 + * 状态:已完成 + * @param string $doctor_id + * @param string $date + * @return float + */ + public function getDoctorDayCompletedAmountTotal(string $doctor_id, string $date): float + { + // 获取当天开始时间 + $start_date = date('Y-m-d 00:00:00', strtotime($date)); + + // 获取当天结束时间 + $end_date = date('Y-m-d 23:59:59', strtotime($date)); + + // 获取医生当日接诊订单金额 + $params = array(); + $params['doctor_id'] = $doctor_id; + $params['inquiry_refund_status'] = 0; // 问诊订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭) + $params['inquiry_pay_status'] = 2; // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) + $params['is_withdrawal'] = 0; // 是否提现(0:否 1:是 2:提现中) + + $reception_time = [$start_date, $end_date]; + + $inquiry_status_params = [5]; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) $amount_total_sum = OrderInquiry::getOrderInquiryBetweenTimeAmountTotalSum($params, $reception_time, $inquiry_status_params); diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index d732d70..0fe3404 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -592,22 +592,22 @@ class UserDoctorService extends BaseService $user_doctor = $user_doctor->toArray(); // 获取医生账户余额-未提现金额 - $DoctorAccountService = new DoctorAccountService(); - $balance_account = $DoctorAccountService->getDoctorBalanceAccount($user_info['client_user_id']); - if ($balance_account > 0) { - $balance_account = floor($balance_account * 100) / 100; - } - - // 获取医生当日接诊的订单金额 - $InquiryService = new InquiryService(); - $estimate_income = $InquiryService->getDoctorDayAmountTotal($user_info['client_user_id'], date('Y-m-d', time())); - if (!empty($estimate_income)) { - $estimate_income = floor($estimate_income * 0.75 * 100) / 100; - } +// $DoctorAccountService = new DoctorAccountService(); +// $balance_account = $DoctorAccountService->getDoctorBalanceAccount($user_info['client_user_id']); +// if ($balance_account > 0) { +// $balance_account = floor($balance_account * 100) / 100; +// } +// +// // 获取医生当日接诊的订单金额 +// $InquiryService = new InquiryService(); +// $estimate_income = $InquiryService->getDoctorDayAmountTotal($user_info['client_user_id'], date('Y-m-d', time())); +// if (!empty($estimate_income)) { +// $estimate_income = floor($estimate_income * 0.75 * 100) / 100; +// } $user_doctor['avatar'] = addAliyunOssWebsite($user_doctor['avatar']); - $user_doctor['balance_account'] = $balance_account; - $user_doctor['estimate_income'] = $estimate_income; +// $user_doctor['balance_account'] = $balance_account; +// $user_doctor['estimate_income'] = $estimate_income; $user_doctor['doctor_title'] = DoctorTitleCode::getMessage($user_doctor['doctor_title']); return success($user_doctor);