diff --git a/app/Controller/CallBackController.php b/app/Controller/CallBackController.php index d85887a..f3f35c9 100644 --- a/app/Controller/CallBackController.php +++ b/app/Controller/CallBackController.php @@ -40,6 +40,7 @@ use App\Model\PatientFamilyHealth; use App\Model\PatientFamilyPersonal; use App\Model\Product; use App\Model\ProductPlatformAmount; +use App\Model\SystemInquiryConfig; use App\Model\User; use App\Model\UserCoupon; use App\Model\UserDoctor; @@ -2431,6 +2432,13 @@ class CallBackController extends AbstractController return $server->serve(); } + // 处理问诊类型 + if ($order_service_package['order_service_type'] == 1) { + $inquiry_mode = 8; + } else { + $inquiry_mode = 9; + } + // 支付状态无需验证,如第一次支付失败,会修改支付状态,再次支付时,会出现验证不通过的情况 // 处理支付状态 @@ -2523,6 +2531,17 @@ class CallBackController extends AbstractController return $server->serve(); } + // 沟通次数,沟通时长 + $params = array(); + $params['inquiry_type'] = 1; + $params['inquiry_mode'] = $inquiry_mode; + $system_inquiry_config = SystemInquiryConfig::getOne($params); + if (empty($system_inquiry_config)) { + Db::rollBack(); + Log::getInstance("CallBack-wxPayServiceSuccess")->error("系统问诊配置错误"); + return $server->serve(); + } + $generator = $this->container->get(IdGeneratorInterface::class); // 生成订单表 @@ -2555,11 +2574,7 @@ class CallBackController extends AbstractController $data['doctor_id'] = $order_service_package['doctor_id']; $data['family_id'] = $order_service_package['family_id']; $data['inquiry_type'] = 1; // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 5:检测) - if ($order_service_package['order_service_type'] == 1){ - $data['inquiry_mode'] = 8; // 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包) - }else{ - $data['inquiry_mode'] = 9; // 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包) - } + $data['inquiry_mode'] = $inquiry_mode; // 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包) $data['inquiry_status'] = 3; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) $data['inquiry_pay_channel'] = 3; // 支付渠道(1:小程序支付 2:微信扫码支付 3:模拟支付) $data['inquiry_pay_status'] = 2; // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) @@ -2568,8 +2583,9 @@ class CallBackController extends AbstractController $data['amount_total'] = 0;// 订单金额 $data['coupon_amount_total'] = 0;// 优惠卷总金额 $data['payment_amount_total'] = 0;// 实际付款金额 + $data['times_number'] = $system_inquiry_config['times_number'];// 沟通次数(0为不限制次数) + $data['duration'] = $system_inquiry_config['duration'];// 沟通时长(分钟,0为不限制时长) $data['pay_time'] = date('Y-m-d H:i:s', time());// 支付时间 - $data['reception_time'] = date('Y-m-d H:i:s', time());// 接诊时间 $data['patient_name'] = $patient_family['card_name'];// 患者姓名-就诊人 $data['patient_name_mask'] = $patient_family['card_name_mask'];// 患者姓名-就诊人(掩码) $data['patient_sex'] = $patient_family['sex'];// 患者性别-就诊人(0:未知 1:男 2:女) diff --git a/app/Services/OrderServicePackageService.php b/app/Services/OrderServicePackageService.php index 7d093a9..478a7b4 100644 --- a/app/Services/OrderServicePackageService.php +++ b/app/Services/OrderServicePackageService.php @@ -615,6 +615,8 @@ class OrderServicePackageService extends BaseService $order_no = $this->request->input("order_no"); try { + + // 检测患者是否购买服务包 $params = array(); $params['user_id'] = $user_info['user_id']; @@ -736,6 +738,15 @@ class OrderServicePackageService extends BaseService return fail(HttpEnumCode::HTTP_ERROR, "问诊病例数据错误"); } $order_service_package_case = $order_service_package_case->toArray(); + + // 沟通次数,沟通时长 + $params = array(); + $params['inquiry_type'] = 1; + $params['inquiry_mode'] = $inquiry_mode; + $system_inquiry_config = SystemInquiryConfig::getOne($params); + if (empty($system_inquiry_config)) { + return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败"); + } }catch (\Throwable $e){ return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage()); } @@ -773,11 +784,7 @@ class OrderServicePackageService extends BaseService $data['doctor_id'] = $order_service_package['doctor_id']; $data['family_id'] = $order_service_package['family_id']; $data['inquiry_type'] = 1; // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药 5:检测) - if ($order_service_package['order_service_type'] == 1){ - $data['inquiry_mode'] = 8; // 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包) - }else{ - $data['inquiry_mode'] = 9; // 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包) - } + $data['inquiry_mode'] = $inquiry_mode; // 接诊方式(1:图文 2:视频 3:语音 4:电话 5:会员 6:疑难会诊 7:附赠 8:健康包 9:随访包) $data['inquiry_status'] = 3; // 问诊订单状态(1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) $data['inquiry_pay_channel'] = 3; // 支付渠道(1:小程序支付 2:微信扫码支付 3:模拟支付) $data['inquiry_pay_status'] = 2; // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) @@ -786,8 +793,9 @@ class OrderServicePackageService extends BaseService $data['amount_total'] = 0;// 订单金额 $data['coupon_amount_total'] = 0;// 优惠卷总金额 $data['payment_amount_total'] = 0;// 实际付款金额 + $data['times_number'] = $system_inquiry_config['times_number'];// 沟通次数(0为不限制次数) + $data['duration'] = $system_inquiry_config['duration'];// 沟通时长(分钟,0为不限制时长) $data['pay_time'] = date('Y-m-d H:i:s', time());// 支付时间 - $data['reception_time'] = date('Y-m-d H:i:s', time());// 接诊时间 $data['patient_name'] = $patient_family['card_name'];// 患者姓名-就诊人 $data['patient_name_mask'] = $patient_family['card_name_mask'];// 患者姓名-就诊人(掩码) $data['patient_sex'] = $patient_family['sex'];// 患者性别-就诊人(0:未知 1:男 2:女)