From 5c53d032937e91cd5cc9601567214c74ac69064b Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 6 May 2024 14:37:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=20=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E6=82=A3=E8=80=85=E5=8C=BB=E7=94=9F=E5=B7=B2=E6=8E=A5?= =?UTF-8?q?=E8=AF=8A=E6=9C=8D=E5=8A=A1=E5=8C=85=E7=9B=B8=E5=85=B3=E9=97=AE?= =?UTF-8?q?=E8=AF=8A=E8=AE=A2=E5=8D=95=E7=9A=84=E5=88=A4=E6=96=AD1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/MessagePush.php | 99 +++++++++++------------------- app/Services/UserDoctorService.php | 2 +- 2 files changed, 37 insertions(+), 64 deletions(-) diff --git a/app/Services/MessagePush.php b/app/Services/MessagePush.php index 4e9d502..c5ae07a 100644 --- a/app/Services/MessagePush.php +++ b/app/Services/MessagePush.php @@ -90,6 +90,18 @@ class MessagePush extends BaseService $this->order_inquiry = $order_inquiry->toArray(); } + $params = array(); + $params['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; + $order_service_package_inquiry = OrderServicePackageInquiry::getOne($params); + if (!empty($order_service_package_inquiry)){ + $params = array(); + $params['order_service_no'] = $order_service_package_inquiry['order_service_no']; + $order_service_package = OrderServicePackage::getOne($params); + if (!empty($order_service_package)){ + $this->order_service_package = $order_service_package->toArray(); + } + } + break; case 2: // 药品订单 $params = array(); @@ -112,22 +124,10 @@ class MessagePush extends BaseService case 4: // 健康包订单 case 5: // 随访包订单 $params = array(); - $params['inquiry_no'] = $order_no; - $order_inquiry = OrderInquiry::getOne($params); - if (!empty($order_inquiry)) { - $this->order_inquiry = $order_inquiry->toArray(); - - $params = array(); - $params['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; - $order_service_package_inquiry = OrderServicePackageInquiry::getOne($params); - if (!empty($order_service_package_inquiry)){ - $params = array(); - $params['order_service_no'] = $order_service_package_inquiry['order_service_no']; - $order_service_package = OrderServicePackage::getOne($params); - if (!empty($order_service_package)){ - $this->order_service_package = $order_service_package->toArray(); - } - } + $params['order_service_no'] = $order['order_no']; + $order_service_package = OrderServicePackage::getOne($params); + if (!empty($order_service_package)){ + $this->order_service_package = $order_service_package->toArray(); } break; @@ -3014,7 +3014,7 @@ class MessagePush extends BaseService $sub_data['params']['data'] = [ "thing1" => "您好医生,有新的{$inquiry_mode}服务您还未接诊",// 提醒内容 "name2" => $this->order_inquiry['patient_name'],// 患者姓名 - "thing4" => mb_substr($order_inquiry_case['disease_desc'], 0, 18),// 病情描述 + "thing4" => $disease_desc,// 病情描述 "thing6" => "您还未接诊,请及时上线处理",// 提示说明 "thing5" => "",// 咨询内容 ]; @@ -3158,22 +3158,13 @@ class MessagePush extends BaseService try { // 获取医生数据 $params = array(); - $params['doctor_id'] = $this->order_inquiry['doctor_id']; + $params['doctor_id'] = $this->order_service_package['doctor_id']; $user_doctor = UserDoctor::getOne($params); if (empty($user_doctor)) { Log::getInstance("MessagePush")->error("医生数据为空"); return; } - // 获取问诊订单关联病例 - $params = array(); - $params['order_inquiry_id'] = $this->order_inquiry['order_inquiry_id']; - $order_inquiry_case = OrderInquiryCase::getOne($params); - if (empty($order_inquiry_case)) { - Log::getInstance("MessagePush")->error("病例数据为空"); - return; - } - // 获取服务包订单详情 $params = array(); $params['order_service_no'] = $this->order_service_package['order_no']; @@ -3192,12 +3183,18 @@ class MessagePush extends BaseService $start_time = date('Y年m月d日 H时i分',strtotime($this->order_service_package['start_time'])); $finish_time = date('Y年m月d日 H时i分',strtotime($this->order_service_package['finish_time'])); + if ($this->order_service_package['order_service_type'] == 1){ + $inquiry_mode = 8; + }else{ + $inquiry_mode = 9; + } + // 站内 $data = array(); $data['user_id'] = $this->user['user_id']; $data['notice_type'] = 3; $data['notice_system_type'] = 1; - $data['inquiry_mode'] = $this->order_inquiry['inquiry_mode']; // 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包) + $data['inquiry_mode'] = $inquiry_mode; // 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包) $data['from_name'] = "肝胆小秘书"; $data['notice_brief_title'] = "您购买的{$order_type}服务,医生已接受,点击查看详情。"; $data['notice_title'] = "您购买的{$order_type}服务,医生已接受,点击查看详情。"; @@ -3205,11 +3202,10 @@ class MessagePush extends BaseService $data['link_type'] = 15;// 聊天详情页 $link_params = array(); - $link_params['order_inquiry_id'] = $this->order_inquiry['order_inquiry_id']; $link_params['order_no'] = $this->order['order_no']; - $link_params['inquiry_type'] = $this->order_inquiry['inquiry_type']; + $link_params['inquiry_type'] = 1; $link_params['doctor_user_id'] = $user_doctor['user_id']; - $link_params['patient_user_id'] = $this->order_inquiry['user_id']; + $link_params['patient_user_id'] = $this->order_service_package['user_id']; $data['link_params'] = json_encode($link_params, JSON_UNESCAPED_UNICODE);// 跳转参数 $data['button_type'] = 4; @@ -3265,15 +3261,6 @@ class MessagePush extends BaseService return; } - // 获取问诊订单关联病例 - $params = array(); - $params['order_inquiry_id'] = $this->order_inquiry['order_inquiry_id']; - $order_inquiry_case = OrderInquiryCase::getOne($params); - if (empty($order_inquiry_case)) { - Log::getInstance("MessagePush")->error("病例数据为空"); - return; - } - // 获取服务包订单详情 $params = array(); $params['order_service_no'] = $this->order_service_package['order_no']; @@ -3377,18 +3364,9 @@ class MessagePush extends BaseService public function patientServicePackageFinish(): void { try { - // 获取问诊订单关联病例 - $params = array(); - $params['order_inquiry_id'] = $this->order_inquiry['order_inquiry_id']; - $order_inquiry_case = OrderInquiryCase::getOne($params); - if (empty($order_inquiry_case)) { - Log::getInstance("MessagePush")->error("问诊病例为空"); - return; - } - // 获取医生数据 $params = array(); - $params['doctor_id'] = $this->order_inquiry['doctor_id']; + $params['doctor_id'] = $this->order_service_package['doctor_id']; $user_doctor = UserDoctor::getOne($params); if (empty($user_doctor)) { Log::getInstance("MessagePush")->error("医生数据为空"); @@ -3398,11 +3376,17 @@ class MessagePush extends BaseService // 转换服务包订单类型为汉字 $order_type = orderServiceTypeToString($this->order_service_package['order_service_type']); + if ($this->order_service_package['order_service_type'] == 1){ + $inquiry_mode = 8; + }else{ + $inquiry_mode = 9; + } + // 站内 $data = array(); $data['user_id'] = $this->user['user_id']; $data['notice_type'] = 1; - $data['inquiry_type'] = $this->order_inquiry['inquiry_type']; // 问诊类型(医生端服务通知存在 1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药) + $data['inquiry_type'] = $inquiry_mode; // 问诊类型(医生端服务通知存在 1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药) $data['from_name'] = "肝胆小秘书"; $data['notice_brief_title'] = "您购买的{$order_type}服务已结束,点击查看详情。"; $data['notice_title'] = "您购买的{$order_type}服务已结束,点击查看详情。"; @@ -3411,6 +3395,7 @@ class MessagePush extends BaseService $link_params = array(); $link_params['order_no'] = $this->order['order_no']; + $link_params['inquiry_type'] = 1; $link_params['doctor_user_id'] = $user_doctor['user_id']; $link_params['patient_user_id'] = $this->order_service_package['user_id']; $data['link_params'] = json_encode($link_params, JSON_UNESCAPED_UNICODE);// 跳转参数 @@ -3424,18 +3409,6 @@ class MessagePush extends BaseService Log::getInstance("MessagePush")->error(json_encode($data, JSON_UNESCAPED_UNICODE)); } - // 订阅 - // 问诊内容-病情主诉 - $disease_desc = $order_inquiry_case['disease_desc']; - if (!empty($disease_desc)) { - if (strlen($disease_desc) > 15) { - $disease_desc = mb_substr($disease_desc, 0, 15); - if ($disease_desc) { - $disease_desc = $disease_desc . "..."; - } - } - } - // 订阅 $sub_data = array(); $sub_data['push_user_id'] = $this->user['user_id']; diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index 73d639a..4847a83 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -2034,7 +2034,7 @@ class UserDoctorService extends BaseService $is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no); if ($is_first){ // 患者-通知患者医生已接受服务包服务 - $MessagePush = new MessagePush($order_inquiry['user_id'],$order_inquiry['inquiry_no']); + $MessagePush = new MessagePush($order_inquiry['user_id'],$order_service_package['order_service_no']); $MessagePush->patientAcceptedServicePackage(); }else{ // 患者-通知患者医生已接诊服务包相关问诊订单