make(QueuePoolServices::class); $queueServices->enqueue($uid, $orderId, $amount); Log::info("[HjfOrderPay] 公排入队成功 uid={$uid} orderId={$orderId}"); } catch (ValidateException $e) { // 锁竞争导致入队失败,重新投递到队列(延迟5秒) Log::warning("[HjfOrderPay] 入队被锁,延迟重试 uid={$uid} orderId={$orderId}: " . $e->getMessage()); static::dispatchSece(5, [$uid, $orderId, $amount]); return true; } catch (\Throwable $e) { Log::error("[HjfOrderPay] 公排入队异常 uid={$uid} orderId={$orderId}: " . $e->getMessage()); return false; } try { // 2. 积分奖励(级差发放) /** @var PointsRewardServices $pointsServices */ $pointsServices = app()->make(PointsRewardServices::class); $pointsServices->reward($uid, $orderId); Log::info("[HjfOrderPay] 积分奖励发放完成 uid={$uid} orderId={$orderId}"); } catch (\Throwable $e) { // 积分发放失败不阻塞主流程,记录错误即可 Log::error("[HjfOrderPay] 积分奖励失败 uid={$uid} orderId={$orderId}: " . $e->getMessage()); } try { // 3. 触发推荐链等级升级检查(对买家本人及其直推上级) /** @var MemberLevelServices $levelServices */ $levelServices = app()->make(MemberLevelServices::class); $levelServices->checkUpgrade($uid); // 同时检查直推上级(支付行为可能满足上级的伞下业绩门槛) $spreadUid = (int)\think\facade\Db::name('user') ->where('uid', $uid) ->value('spread_uid'); if ($spreadUid > 0) { $levelServices->checkUpgrade($spreadUid); } Log::info("[HjfOrderPay] 等级升级检查完成 uid={$uid}"); } catch (\Throwable $e) { Log::error("[HjfOrderPay] 等级升级检查失败 uid={$uid}: " . $e->getMessage()); } return true; } }