From 5ddc4d1c0a3c74f340ae36cf30bc8b95a68cab70 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Thu, 6 Apr 2023 19:19:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B6=88=E6=81=AF=E6=8E=A8?= =?UTF-8?q?=E9=80=81=EF=BC=8C=E5=A4=84=E6=96=B9=E5=B7=B2=E5=BC=80=E5=85=B7?= =?UTF-8?q?=EF=BC=8Cmessage=5Ftype=E7=B1=BB=E5=9E=8B=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8F=90=E7=8E=B0=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/DoctorAccountController.php | 9 +++++++-- app/Request/DoctorAccountRequest.php | 3 +++ app/Services/DoctorAccountService.php | 23 +++++++++++++++++++--- app/Services/UserDoctorService.php | 2 +- app/Services/UserPharmacistService.php | 2 +- config/routes.php | 2 +- 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/app/Controller/DoctorAccountController.php b/app/Controller/DoctorAccountController.php index 92e0850..e8cfe82 100644 --- a/app/Controller/DoctorAccountController.php +++ b/app/Controller/DoctorAccountController.php @@ -50,11 +50,16 @@ class DoctorAccountController extends AbstractController /** * 获取提现数据 * @return ResponseInterface + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function getDoctorWithdrawal(): ResponseInterface + public function getDoctorWithdrawalInfo(): ResponseInterface { + $request = $this->container->get(DoctorAccountRequest::class); + $request->scene('getDoctorWithdrawalInfo')->validateResolved(); + $DoctorAccountService = new DoctorAccountService(); - $data = $DoctorAccountService->getDoctorWithdrawal(); + $data = $DoctorAccountService->getDoctorWithdrawalInfo(); return $this->response->json($data); } diff --git a/app/Request/DoctorAccountRequest.php b/app/Request/DoctorAccountRequest.php index c539f73..33053ce 100644 --- a/app/Request/DoctorAccountRequest.php +++ b/app/Request/DoctorAccountRequest.php @@ -19,6 +19,9 @@ class DoctorAccountRequest extends FormRequest 'getDoctorWithdrawalRecordList' => [ // 获取医生提现记录列表 'year', ], + 'getDoctorWithdrawalInfo' => [ // 获取提现数据 + 'order_inquiry_ids', + ], ]; /** diff --git a/app/Services/DoctorAccountService.php b/app/Services/DoctorAccountService.php index 94898b3..dd9ccb8 100644 --- a/app/Services/DoctorAccountService.php +++ b/app/Services/DoctorAccountService.php @@ -137,10 +137,12 @@ class DoctorAccountService extends BaseService * 获取提现数据 * @return array */ - public function getDoctorWithdrawal(): array + public function getDoctorWithdrawalInfo(): array { $user_info = $this->request->getAttribute("userInfo") ?? []; + $order_inquiry_ids = $this->request->input('order_inquiry_ids'); + // 获取医生信息 $params = array(); $params['doctor_id'] = $user_info['client_user_id']; @@ -184,9 +186,24 @@ class DoctorAccountService extends BaseService $result['bank_name'] = $doctor_bank_card['BasicBank']['bank_name']; $result['bank_card_code_mask'] = $doctor_bank_card['bank_card_code_mask']; - // 获取医生账户余额 - $balance_account = $this->getDoctorBalanceAccount($user_info['client_user_id']); + if (!empty($order_inquiry_ids)){ + $params = array(); + $params['doctor_id'] = $user_info['client_user_id']; + $params['inquiry_status'] = 6; // inquiry_status:问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) + $params['inquiry_refund_status'] = 0; // inquiry_refund_status:问诊订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭) + + $in_params = explode(',',$order_inquiry_ids); + $order_inquiry = OrderInquiry::getInList($params,$in_params); + if (empty($order_inquiry)){ + $balance_account = 0; + }else{ + $balance_account = array_sum(array_column($order_inquiry->toArray(),'amount_total')); + } + }else{ + $balance_account = $this->getDoctorBalanceAccount($user_info['client_user_id']); + } + if ($balance_account > 0) { $balance_account = $balance_account * 0.75; } diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index 7c046e6..e5c2aa3 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -1138,7 +1138,7 @@ class UserDoctorService extends BaseService // 发送IM消息-处方已开具 $imService = new ImService(); - $imService->prescriptionIssued($order_inquiry,$user_doctor['user_id'],$order_inquiry['user_id'],$product_name,(string)$order_prescription['order_prescription_id'],"6"); + $imService->prescriptionIssued($order_inquiry,$user_doctor['user_id'],$order_inquiry['user_id'],$product_name,(string)$order_prescription['order_prescription_id'],6); // 加入分配药师队列 $data = array(); diff --git a/app/Services/UserPharmacistService.php b/app/Services/UserPharmacistService.php index de87be9..dddec39 100644 --- a/app/Services/UserPharmacistService.php +++ b/app/Services/UserPharmacistService.php @@ -231,7 +231,7 @@ class UserPharmacistService extends BaseService // 发送IM消息-处方已开具 $imService = new ImService(); - $imService->prescriptionIssued($order_inquiry,$user_doctor['user_id'],$order_inquiry['user_id'],$product_name,(string)$order_prescription['order_prescription_id'],"7"); + $imService->prescriptionIssued($order_inquiry,$user_doctor['user_id'],$order_inquiry['user_id'],$product_name,(string)$order_prescription['order_prescription_id'],7); // 发送站内、短信消息-患者的处方被药师审核通过 $MessagePush = new MessagePush($order_inquiry['user_id'],$order_inquiry['order_inquiry_id']); diff --git a/config/routes.php b/config/routes.php index 6f6d1d6..78ef251 100644 --- a/config/routes.php +++ b/config/routes.php @@ -128,7 +128,7 @@ Router::addGroup('/doctor', function () { // 提现 Router::addGroup('/withdrawal', function () { // 获取提现数据 - Router::get('', [DoctorAccountController::class, 'getDoctorWithdrawal']); + Router::post('info', [DoctorAccountController::class, 'getDoctorWithdrawalInfo']); // 获取可提现问诊订单列表 Router::get('/order', [DoctorAccountController::class, 'getDoctorWithdrawalOrderList']);