创建问诊订单(2196)

增加了order_no的返回值。新增了status=3的情况。
This commit is contained in:
2024-04-29 14:04:21 +08:00
parent 3f9d065d7e
commit d646b136ab
3 changed files with 54 additions and 9 deletions
+29 -1
View File
@@ -81,6 +81,7 @@ class InquiryService extends BaseService
$result['data'] = [
"inquiry_no" => "",
"order_inquiry_id" => "",
"order_no" => "",
];
$user_info = $this->request->getAttribute("userInfo") ?? [];
@@ -110,9 +111,17 @@ class InquiryService extends BaseService
$PatientOrderService = new PatientOrderService();
$order_inquiry_id = $PatientOrderService->getNotFinishedOrderInquiry($request_params['inquiry_type'], $request_params['inquiry_mode'], $user_info['client_user_id']);
if (!empty($order_inquiry_id)) {
$params = array();
$params['order_inquiry_id'] = $order_inquiry_id;
$order_inquiry = OrderInquiry::getOne($params);
if (empty($order_inquiry)){
return fail(HttpEnumCode::HTTP_ERROR, "无法问诊");
}
$result['status'] = 2;
$result['message'] = "当前患者存在进行中的问诊订单";
$result['data']['order_inquiry_id'] = $order_inquiry_id;
$result['data']['order_no'] = $order_inquiry['inquiry_no'];
return success($result);
}
@@ -165,7 +174,18 @@ class InquiryService extends BaseService
if (!empty($order_inquiry)) {
$result['status'] = 2;
$result['message'] = "您和当前医生存在问诊中订单,无法再次发起问诊";
$result['data']['order_inquiry_id'] = $order_inquiry_id;
$result['data']['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$result['data']['order_no'] = $order_inquiry['inquiry_no'];
return success($result);
}
// 获取患者家庭成员是否存在服务包订单
$OrderServicePackageService = new OrderServicePackageService();
$order_service_package = $OrderServicePackageService->getExitsPatientFamilyServicePackage($user_info['user_id'], $request_params['family_id'], $request_params['doctor_id']);
if (!empty($order_service_package)){
$result['status'] = 3;
$result['message'] = "您和当前医生存在未支付的服务包订单,无法再次发起问诊";
$result['data']['order_no'] = $order_service_package['order_service_no'];
return success($result);
}
}
@@ -534,6 +554,7 @@ class InquiryService extends BaseService
$result['status'] = 1;
$result['data']['order_inquiry_id'] = (string)$order_inquiry['order_inquiry_id']; // 订单主键id
$result['data']['inquiry_no'] = (string)$order_inquiry['inquiry_no']; // 订单编号
$result['data']['order_no'] = (string)$order_inquiry['inquiry_no']; // 订单编号
return success($result);
}
@@ -1313,6 +1334,13 @@ class InquiryService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "当前患者和您存在问诊订单,不可赠送");
}
// 获取患者家庭成员是否存在服务包订单
$OrderServicePackageService = new OrderServicePackageService();
$order_service_package = $OrderServicePackageService->getExitsPatientFamilyServicePackage($order_inquiry['user_id'], $order_inquiry['family_id'], $order_inquiry['doctor_id']);
if (!empty($order_service_package)){
return fail(HttpEnumCode::HTTP_ERROR, "当前用户存在未支付订单,不支持赠送");
}
// 获取本次问诊病例
$params = array();
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
@@ -1602,4 +1602,28 @@ class OrderServicePackageService extends BaseService
return $order_service_package->toArray();
}
/**
* 获取患者家庭成员是否存在服务包订单
* @param string|int $patient_user_id
* @param string|int $family_id
* @param string|int $doctor_id
* @return array
*/
public function getExitsPatientFamilyServicePackage(string|int $patient_user_id,string|int $family_id,string|int $doctor_id): array
{
// 检测患者是否购买服务包
$params = array();
$params['user_id'] = $patient_user_id;
$params['doctor_id'] = $doctor_id;
$params['family_id'] = $family_id;
$order_service_status = ['1','2','3'];
$order_service_package = OrderServicePackage::getStatusOne($params, $order_service_status);
if (empty($order_service_package)) {
return [];
}
return $order_service_package->toArray();
}
}