创建问诊订单(2196)

增加了order_no的返回值。新增了status=3的情况。
This commit is contained in:
wucongxing8150 2024-04-29 14:04:21 +08:00
parent 3f9d065d7e
commit d646b136ab
3 changed files with 54 additions and 9 deletions

View File

@ -55,6 +55,7 @@ use Extend\Kuaidi100\Kuaidi;
use Extend\Prescription\Prescription;
use Extend\RegulatoryPlatform\regulatoryPlatform;
use Extend\TencentIm\RecentContact;
use Extend\VerifyDun\IdCard;
use Extend\Wechat\Wechat;
use GuzzleHttp\Client;
use Hyperf\Amqp\Producer;
@ -460,15 +461,7 @@ class TestController extends AbstractController
}
public function test_17(){
$params = array();
$params['order_inquiry_id'] = "643019792966791168";
$order_inquiry = OrderInquiry::getOne($params);
// 发送im消息
$imService = new ImService();
// 等待医生接诊
$imService->waitDoctorInquiry($order_inquiry, "516900370248146944", "516898713896521728");
}
// 退款

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'];

View File

@ -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();
}
}