From 69969962e028bebc5504399e6e39aed8fffef2e7 Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Wed, 3 Apr 2024 17:15:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E9=82=80=E8=AF=B7=E7=A0=81=E6=97=B6=20=20=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E7=BB=91=E5=AE=9A=E5=85=B3=E7=B3=BB=E9=93=BE?= =?UTF-8?q?=20=E5=88=99=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/repositories/user/UserRepository.php | 3 +++ app/controller/api/user/Svip.php | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/common/repositories/user/UserRepository.php b/app/common/repositories/user/UserRepository.php index 2dda7cc..3d1559a 100644 --- a/app/common/repositories/user/UserRepository.php +++ b/app/common/repositories/user/UserRepository.php @@ -953,7 +953,10 @@ class UserRepository extends BaseRepository Queue::push(UserBrokerageLevelJob::class, ['uid' => $spreadUid, 'type' => 'spread_user', 'inc' => 1]); app()->make(UserBrokerageRepository::class)->incMemberValue($user->uid, 'member_share_num', 0); event('user.spread', compact('user','spreadUid')); + + return true; } + return false; } public function userPosition($key, $uid) diff --git a/app/controller/api/user/Svip.php b/app/controller/api/user/Svip.php index f5495fc..cd12bc2 100644 --- a/app/controller/api/user/Svip.php +++ b/app/controller/api/user/Svip.php @@ -6,6 +6,7 @@ namespace app\controller\api\user; use app\common\dao\store\coupon\StoreCouponProductDao; +use app\common\model\user\UserBrokerageApplyFormal; use app\common\model\user\UserInviteCode; use app\common\model\user\UserOrder; use app\common\model\user\UserVipExchangeCode; @@ -346,7 +347,12 @@ class Svip extends BaseController 'status' => 2 ]); // 绑定上下级关系 - app()->make(UserRepository::class)->bindSpread($user, intval($exchangeCodeInfo['activate_uid'])); + $formalStatus = (int)UserBrokerageApplyFormal::where('uid', (int)$exchangeCodeInfo['activate_uid'])->value('status'); + if($formalStatus != 1) throw new ValidateException('邀请人身份无效!'); + if((int)$exchangeCodeInfo['activate_uid'] == (int)$uid) throw new ValidateException('邀请人和使用者不能是同一人!'); + + $bindRes = app()->make(UserRepository::class)->bindSpread($user, (int)$exchangeCodeInfo['activate_uid']); + if(!$bindRes) throw new ValidateException('领取失败,关系链错误!'); });