新增了 服务权益接口

This commit is contained in:
wucongxing8150 2024-04-16 09:49:57 +08:00
parent e0848b42cf
commit e4ec3e8fbd

View File

@ -2783,11 +2783,19 @@ class PatientOrderService extends BaseService
$order_no = $this->request->route('order_no'); $order_no = $this->request->route('order_no');
// 获取订单数据 // 获取订单数据
$fields = [
"order_service_id",
"start_time",
"finish_time",
"order_service_type",
"doctor_id",
];
$params = array(); $params = array();
$params['patient_id'] = $user_info['client_user_id']; $params['patient_id'] = $user_info['client_user_id'];
$params['order_service_no'] = $order_no; $params['order_service_no'] = $order_no;
$params['is_delete'] = 0; $params['is_delete'] = 0;
$order_service_package = OrderServicePackage::getOne($params); $order_service_package = OrderServicePackage::getOne($params,$fields);
if (empty($order_service_package)) { if (empty($order_service_package)) {
return fail(HttpEnumCode::HTTP_ERROR,"非法订单"); return fail(HttpEnumCode::HTTP_ERROR,"非法订单");
} }
@ -2802,12 +2810,28 @@ class PatientOrderService extends BaseService
// 定义返回数据 // 定义返回数据
$result = array(); $result = array();
$result['order_service_package'] = $order_service_package->toArray(); // 订单详情数据
$result['order_service_package_detail'] = $order_service_package_detail->toArray(); // 订单详情数据 $result['order_service_package_detail'] = $order_service_package_detail->toArray(); // 订单详情数据
$result['order_service_package_product'] = []; // 健康包商品数据 $result['order_service_package_product'] = []; // 健康包商品数据
$result['order_service_package_coupon'] = []; // 健康包关联优惠卷数据 $result['order_service_package_coupon'] = []; // 健康包关联优惠卷数据
$result['order_inquiry'] = []; // 健康包问诊订单数据 $result['order_inquiry'] = []; // 健康包问诊订单数据
$result['order_product'] = []; // 健康包药品订单数据 $result['order_product'] = []; // 健康包药品订单数据
// 获取服务包当月问诊次数
$OrderServicePackageService = new OrderServicePackageService();
$result['order_service_package']['month_inquiry_count'] = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['start_time'],$order_service_package['order_service_type'],$user_info['client_user_id'], $order_service_package['doctor_id']);
// 获取问诊订单数据
if (in_array($order_service_package['order_service_status'],[2,3,4,5])){
// 订单状态1:待支付 2:未开始 3:服务中 4:服务完成 5:服务取消)
$params = array();
$params['order_service_id'] = $order_service_package['order_service_id'];
$order_service_package_inquiry = OrderServicePackageInquiry::getList($params);
if (!empty($order_service_package_inquiry)){
$result['order_inquiry'] = $order_service_package_inquiry->toArray();
}
}
// 健康包数据 // 健康包数据
if ($order_service_package['order_service_type'] == 1){ if ($order_service_package['order_service_type'] == 1){
// 健康包商品数据 // 健康包商品数据
@ -2828,17 +2852,6 @@ class PatientOrderService extends BaseService
} }
} }
// 健康包问诊订单数据
if (in_array($order_service_package['order_service_status'],[2,3,4,5])){
// 订单状态1:待支付 2:未开始 3:服务中 4:服务完成 5:服务取消)
$params = array();
$params['order_service_id'] = $order_service_package['order_service_id'];
$order_service_package_inquiry = OrderServicePackageInquiry::getList($params);
if (!empty($order_service_package_inquiry)){
$result['order_inquiry'] = $order_service_package_inquiry->toArray();
}
}
// 健康包药品订单数据-周期内所有药品订单 // 健康包药品订单数据-周期内所有药品订单
if (in_array($order_service_package['order_service_status'],[3,4,5])){ if (in_array($order_service_package['order_service_status'],[3,4,5])){
$params = array(); $params = array();
@ -2849,11 +2862,35 @@ class PatientOrderService extends BaseService
$created_at = [$order_service_package['start_time'],$order_service_package['finish_time']]; $created_at = [$order_service_package['start_time'],$order_service_package['finish_time']];
$order_product_status_params = [2,3,4]; $order_product_status_params = [2,3,4];
$order_product = OrderProduct::getProductWithCreateTime($params,$created_at,$order_product_status_params); $order_products = OrderProduct::getProductWithCreateTime($params,$created_at,$order_product_status_params);
if (!empty($order_product)){ if (!empty($order_products)){
$result['order_product'] = $order_product->toArray(); $result['order_product'] = $order_products->toArray();
}
// 已使用商品数量
$used_quantity = 0;
foreach ($order_products as $order_product){
// 获取详情item
$params = array();
$params['order_product_id'] = $order_product['order_product_id'];
$order_product_items = OrderProductItem::getList($params);
if (empty($order_product_items)){
return fail(HttpEnumCode::SERVER_ERROR);
}
foreach ($order_product_items as $order_product_item){
$used_quantity = $order_product_item["amount"];
} }
} }
if ($used_quantity > 30){
$used_quantity = 30;
}
$result['order_service_package_product']['used_quantity'] = $used_quantity;
}
// 获取药品剩余数量
} }
return success($result); return success($result);