diff --git a/app/Controller/CallBackController.php b/app/Controller/CallBackController.php index db1c192..00be6b4 100644 --- a/app/Controller/CallBackController.php +++ b/app/Controller/CallBackController.php @@ -2737,15 +2737,6 @@ class CallBackController extends AbstractController return $server->serve(); } - // 发放优惠卷 - $CouponService = new CouponService(); - $res = $CouponService->GrantBuyOrderServicePackageCoupon($order_service_package['user_id']); - if (!$res) { - Db::rollBack(); - Log::getInstance("CallBack-wxPayServiceSuccess")->error("订单创建失败"); - return $server->serve(); - } - // 加入未接诊取消订单延迟队列 $time = 60 * 60 * 24; if (\Hyperf\Config\config('app_env') == "dev"){ diff --git a/app/Services/UserCouponService.php b/app/Services/UserCouponService.php index 5dd9bad..3f6abe4 100644 --- a/app/Services/UserCouponService.php +++ b/app/Services/UserCouponService.php @@ -216,7 +216,6 @@ class UserCouponService extends BaseService continue; } - dump($coupon_high_price); // 处理存在互斥卷情况 if ($is_mutex == 1) { // 选择金额最高的为选中 diff --git a/app/Services/UserDoctorService.php b/app/Services/UserDoctorService.php index 145f177..a981e4f 100644 --- a/app/Services/UserDoctorService.php +++ b/app/Services/UserDoctorService.php @@ -1899,6 +1899,26 @@ class UserDoctorService extends BaseService $params = array(); $params['order_service_id'] = $order_service_package_inquiry['order_service_id']; OrderServicePackage::edit($params,$data); + + // 健康包订单发放优惠卷 + if ($order_inquiry['inquiry_mode'] == 8){ + // 检测问诊次数 + // 检测逻辑:支付成功的回调中,记录服务包关联的订单id,此方法为医生接诊,所以如果是首次,应该只会存在一个关联订单id + $params = array(); + $params['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; + $order_service_package_inquiry = OrderServicePackageInquiry::getList($params); + if (!empty($order_service_package_inquiry)){ + if (count($order_service_package_inquiry) <= 1){ + // 发放优惠卷 + $CouponService = new CouponService(); + $res = $CouponService->GrantBuyOrderServicePackageCoupon($order_inquiry['user_id']); + if (!$res) { + Db::rollBack(); + return fail(HttpEnumCode::HTTP_ERROR, "接诊失败"); + } + } + } + } } }