用户主动取消订单增加退款。取消订单-问诊/检测/服务包增加推送消息

This commit is contained in:
2024-04-15 13:27:31 +08:00
parent a105ba2ad3
commit 31c3ce57b8
3 changed files with 71 additions and 1 deletions
+63
View File
@@ -2421,6 +2421,14 @@ class PatientOrderService extends BaseService
Db::beginTransaction();
try {
// 获取订单数据
$params = array();
$params['order_no'] = $order_no;
$order = Order::getOne($params);
if (empty($order)) {
return fail(HttpEnumCode::HTTP_ERROR, "非法订单");
}
$OrderService = new OrderService();
$result = $OrderService->PatientActiveCancelOrder($order_no);
if ($result['status'] != 1) {
@@ -2434,6 +2442,61 @@ class PatientOrderService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage());
}
// 推送消息
try {
// 处理对应订单
switch ($order['order_type']) {
case 1: // 问诊订单
// 获取订单数据
$params = array();
$params['inquiry_no'] = $order_no;
$order_inquiry = OrderInquiry::getOne($params);
if (!empty($order_inquiry)) {
// 获取医生数据
$params = array();
$params['doctor_id'] = $order_inquiry['doctor_id'];
$user_doctor = UserDoctor::getOne($params);
if (!empty($user_doctor)) {
// 推送医生-患者取消问诊
$MessagePush = new MessagePush($user_doctor['user_id'], $order_inquiry['order_inquiry_id']);
$MessagePush->patientCancelInquiryToDoctor();
}
}
break;
case 3: // 检测订单
// 获取订单数据
$params = array();
$params['detection_no'] = $order_no;
$order_detection = OrderDetection::getOne($params);
if (!empty($order_detection)) {
// 推送患者-订单取消成功通知
$MessagePush = new MessagePush($order_detection['user_id']);
$MessagePush->patientCancelDetectionOrderSuccess($order_detection['order_detection_id']);
}
break;
case 4: // 健康包订单
case 5: // 随访包订单
// 获取订单数据
$params = array();
$params['order_service_no'] = $order_no;
$order_service_package = OrderServicePackage::getOne($params);
if (empty($order_service_package)) {
$result['status'] = 0;
$result['message'] = "订单数据为空";
return $result;
}
break;
default:
// 错误不处理
}
}catch (\Throwable $e){
// 错误不处理
Log::getInstance("PatientOrderService-putCancelPatientOrder")->error($e->getMessage());
}
return success();
}