新增接口 获取服务包关联问诊订单消息内页基础数据

This commit is contained in:
wucongxing8150 2024-04-17 14:32:27 +08:00
parent df935b6c82
commit b1ee69453b
3 changed files with 106 additions and 0 deletions

View File

@ -173,4 +173,15 @@ class InquiryController extends AbstractController
$data = $InquiryService->getInquiryVideoMessageBasic(); $data = $InquiryService->getInquiryVideoMessageBasic();
return $this->response->json($data); return $this->response->json($data);
} }
/**
* 获取服务包关联问诊订单消息内页基础数据
* @return ResponseInterface
*/
public function getInquiryServiceMessageBasic(): ResponseInterface
{
$InquiryService = new InquiryService();
$data = $InquiryService->getInquiryServiceMessageBasic();
return $this->response->json($data);
}
} }

View File

@ -29,6 +29,9 @@ use App\Model\OrderInquiryVideoRecord;
use App\Model\OrderInquiryVideoReservation; use App\Model\OrderInquiryVideoReservation;
use App\Model\OrderPrescription; use App\Model\OrderPrescription;
use App\Model\OrderProductCoupon; use App\Model\OrderProductCoupon;
use App\Model\OrderServicePackage;
use App\Model\OrderServicePackageDetail;
use App\Model\OrderServicePackageInquiry;
use App\Model\PatientFamily; use App\Model\PatientFamily;
use App\Model\PatientFamilyHealth; use App\Model\PatientFamilyHealth;
use App\Model\PatientFamilyPersonal; use App\Model\PatientFamilyPersonal;
@ -1468,6 +1471,95 @@ class InquiryService extends BaseService
return success($result); return success($result);
} }
/**
* 获取服务包关联问诊订单消息内页基础数据
* @return array
*/
public function getInquiryServiceMessageBasic(): array
{
$user_info = $this->request->getAttribute("userInfo") ?? [];
$order_inquiry_id = $this->request->route('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, "订单错误");
}
$order_inquiry = $order_inquiry->toArray();
if ($user_info['user_type'] == 1) {
if ($order_inquiry['patient_id'] != $user_info['client_user_id']) {
return success();
}
}
if ($user_info['user_type'] == 2) {
if ($order_inquiry['doctor_id'] != $user_info['client_user_id']) {
return success();
}
}
// 获取问诊订单关联服务包
$params = array();
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$order_service_package_inquiry = OrderServicePackageInquiry::getOne($params);
if (empty($order_service_package_inquiry)){
return success();
}
// 获取用户当前购买的服务包
$params = array();
$params['user_id'] = $user_info['user_id'];
$params['patient_id'] = $user_info['client_user_id'];
$params['order_service_no'] = $order_service_package_inquiry['order_service_no'];
$order_service_package = OrderServicePackage::getOne($params);
if (empty($order_service_package)) {
return success();
}
// 检测服务包订单订单状态
if ($order_service_package['order_service_status'] == 1) {
return success();
}
if ($order_service_package['order_service_status'] == 2) {
return success();
}
// 获取服务包订单详情
$params = array();
$params['order_service_no'] = $order_service_package['order_service_no'];
$order_service_package_detail = OrderServicePackageDetail::getOne($params);
if (empty($order_service_package_detail)) {
return success();
}
// 获取当月已问诊次数
// 3.5号购买每月2次问诊次数。今天5.3,属于第几个月,这个月的开始时间和结束时间
$month_inquiry_count = 0;
if ($order_service_package_detail['monthly_frequency'] != 0 && !empty($order_service_package['start_time'])) {
// 获取服务包当月已问诊次数
$OrderServicePackageService = new OrderServicePackageService();
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['start_time'],$order_service_package['order_service_type'],$order_service_package['user_id'], $order_service_package['doctor_id']);
}
// 处理剩余服务天数
$finish_day = null;
if (!empty($order_service_package['finish_time'])){
$finish_day = ceil((strtotime($order_service_package['finish_time']) - time()) / 60 / 60 / 24);
}
$result = array();
$result['finish_time'] = $finish_day; // 剩余服务天数
$result['month_inquiry_count'] = $month_inquiry_count; // 服务包当月已问诊次数
$result['monthly_frequency'] = $order_service_package_detail['monthly_frequency']; // 每月次数0表示不限次
return success($result);
}
/** /**
* 获取医生未接诊订单数量 * 获取医生未接诊订单数量
* @param string $doctor_id 医生id * @param string $doctor_id 医生id

View File

@ -957,6 +957,9 @@ Router::addGroup('/im', function () {
// 获取视频问诊消息内页基础数据 // 获取视频问诊消息内页基础数据
Router::get('/video/{order_inquiry_id:\d+}', [InquiryController::class, 'getInquiryVideoMessageBasic']); Router::get('/video/{order_inquiry_id:\d+}', [InquiryController::class, 'getInquiryVideoMessageBasic']);
// 获取服务包关联问诊订单消息内页基础数据
Router::get('/service/{order_inquiry_id:\d+}', [InquiryController::class, 'getInquiryServiceMessageBasic']);
}); });
}); });
}); });