服务包订单支付成功回调,增加了发放优惠卷

This commit is contained in:
2024-04-12 19:12:00 +08:00
parent f8cabb455a
commit cb95bde20c
6 changed files with 74 additions and 5 deletions
+25
View File
@@ -198,4 +198,29 @@ class CouponService extends BaseService
return true;
}
/**
* 发放购买服务包的关联优惠卷
* @param string $user_id 用户id
* @return bool
*/
public function GrantBuyOrderServicePackageCoupon(string $user_id): bool
{
// 获取购买服务包的用户可领取的优惠卷列表
$coupon = Coupon::getOrderServicePackageCouponList();
if (empty($coupon)) {
return true;
}
foreach ($coupon as $value){
// 发放优惠卷
$res = $this->GrantUserCoupon($value['coupon_id'],$user_id);
if (!$res){
// 发放失败
return false;
}
}
return true;
}
}
+1 -1
View File
@@ -533,7 +533,7 @@ class OrderServicePackageService extends BaseService
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
}
// 增加健康包订单关联商品
// 处理健康包数据
if ($request_params['service_type'] == 1){
// 获取医生健康包配置
$params = array();
+23 -1
View File
@@ -32,6 +32,7 @@ use App\Model\OrderProductLogistic;
use App\Model\OrderServicePackage;
use App\Model\OrderServicePackageCase;
use App\Model\OrderServicePackageDetail;
use App\Model\OrderServicePackageProduct;
use App\Model\OrderServicePackageRefund;
use App\Model\PatientFamily;
use App\Model\PatientFamilyHealth;
@@ -2711,6 +2712,7 @@ class PatientOrderService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR,"非法订单");
}
// 获取订单详情数据
$params = array();
$params['order_service_id'] = $order_service_package['order_service_id'];
$order_service_package_detail = OrderServicePackageDetail::getOne($params);
@@ -2718,10 +2720,30 @@ class PatientOrderService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR,"非法订单");
}
// 健康报
// 定义返回数据
$result = array();
$result['order_service_package_detail'] = $order_service_package_detail->toArray(); // 订单详情数据
$result['order_service_package_product'] = []; // 健康包商品数据
$result['order_service_package_coupon'] = []; // 健康包关联优惠卷数据
$result['order_inquiry'] = []; // 健康包问诊订单数据
$result['order_product'] = []; // 健康包药品订单数据
// 健康包商品数据
if ($order_service_package['order_service_type'] == 1){
$params = array();
$params['order_service_id'] = $order_service_package['order_service_id'];
$order_service_package_product = OrderServicePackageProduct::getList($params);
if (empty($order_service_package_product)){
return fail();
}
}
// 健康包关联优惠卷数据
if (in_array($order_service_package['order_service_status'],[3,4,5])){
// 订单状态(1:待支付 2:未开始 3:服务中 4:服务完成 5:服务取消)
// 获取用户优惠卷
}
return success($order_service_package_detail->toArray());