diff --git a/app/Admin/Controllers/UserController.php b/app/Admin/Controllers/UserController.php index 1dcaa00e..f7ad2b3e 100644 --- a/app/Admin/Controllers/UserController.php +++ b/app/Admin/Controllers/UserController.php @@ -53,6 +53,7 @@ class UserController extends AdminController }); $grid->column('phone')->copyable(); $grid->column('userInfo.nickname'); + $grid->column('userInfo.code')->copyable(); $grid->column('userInfo.agent_level')->display(function ($value) { return $this->userInfo?->agent_level_name??'未知'; @@ -247,6 +248,7 @@ class UserController extends AdminController $form->password('password')->required(); // 设置错误信息 $form->password('password_confirm')->same('password', '两次密码输入不一致')->required(); + $form->text('code', '邀请码'); $form->ignore(['password_confirm']); $form->display('created_at'); diff --git a/app/Admin/Forms/DealerProductLvlRule.php b/app/Admin/Forms/DealerProductLvlRule.php index 5f002160..80b9add0 100644 --- a/app/Admin/Forms/DealerProductLvlRule.php +++ b/app/Admin/Forms/DealerProductLvlRule.php @@ -49,7 +49,7 @@ class DealerProductLvlRule extends Form implements LazyRenderable $lvlRules[] = new DealerProductLvlRuleModel($rule); } else { $_rule = DealerProductLvlRuleModel::find($rule['id']); - $_rule['lvl'] = $rule['id']; + $_rule['lvl'] = $rule['lvl']; $_rule['sale_price'] = $rule['sale_price']; $_rule['min_order_amount'] = $rule['min_order_amount']; $lvlRules[] = $_rule; diff --git a/app/Admin/Forms/DealerProductManageRule.php b/app/Admin/Forms/DealerProductManageRule.php index 1a61785d..7db29624 100644 --- a/app/Admin/Forms/DealerProductManageRule.php +++ b/app/Admin/Forms/DealerProductManageRule.php @@ -49,7 +49,7 @@ class DealerProductManageRule extends Form implements LazyRenderable $manageRules[] = new DealerProductManageRuleModel($rule); } else { $_rule = DealerProductManageRuleModel::find($rule['id']); - $_rule['lvl'] = $rule['id']; + $_rule['lvl'] = $rule['lvl']; $_rule['price_1st'] = $rule['price_1st']; $_rule['price_2st'] = $rule['price_2st']; $_rule['price_3st'] = $rule['price_3st']; diff --git a/app/Admin/Repositories/User.php b/app/Admin/Repositories/User.php index 34ccc699..02515f64 100644 --- a/app/Admin/Repositories/User.php +++ b/app/Admin/Repositories/User.php @@ -2,6 +2,7 @@ namespace App\Admin\Repositories; +use App\Helpers\PhoneNumber; use App\Models\User as Model; use Dcat\Admin\Form; use Dcat\Admin\Repositories\EloquentRepository; @@ -41,7 +42,19 @@ class User extends EloquentRepository // foreach ($updates as $column => $value) { // $model->setAttribute($column, $value); // } - $this->model = $model::create($updates); + //添加邀请码处理 + $code = $updates['code']; + unset($updates['code']);//移除邀请码 + $inviter = null; + if ($code) { + $inviter = Model::when(PhoneNumber::validate($code), function ($query) use ($code) { + $query->where('phone', $code); + }, function ($query) use ($code) { + $query->whereRelation('userInfo', 'code', $code); + })->first(); + } + + $this->model = $model::create($updates, $inviter); $this->updateRelation($form, $model, $relations, $relationKeyMap); }); diff --git a/app/Models/UserInfo.php b/app/Models/UserInfo.php index 382d5567..5f7cab12 100644 --- a/app/Models/UserInfo.php +++ b/app/Models/UserInfo.php @@ -412,11 +412,9 @@ class UserInfo extends Model public function getRealParentIdsAttribute(): array { $rpids = (array) $this->realInviterInfo?->parent_ids; - - if ($this->real_parent_id) { - array_push($rpids, $this->real_parent_id); + if ($this->real_inviter_id) { + array_push($rpids, $this->real_inviter_id); } - return $rpids; } diff --git a/app/Services/Dealer/OrderService.php b/app/Services/Dealer/OrderService.php index 8f23985a..ff87a4d8 100644 --- a/app/Services/Dealer/OrderService.php +++ b/app/Services/Dealer/OrderService.php @@ -305,6 +305,7 @@ class OrderService ], ]; $lvl = $user->dealer->lvl; + //计算通过这个订单可能升级成为的身份 foreach ($rules as $rule) { if ($totalAmount >= $rule['amount'] && $lvl->value < $rule['lvl']->value) { $lvl = $rule['lvl']; diff --git a/resources/lang/zh_CN/user.php b/resources/lang/zh_CN/user.php index 4484607a..6c38ca8e 100644 --- a/resources/lang/zh_CN/user.php +++ b/resources/lang/zh_CN/user.php @@ -24,6 +24,7 @@ return [ 'userInfo'=>[ 'avatar' => '头像', 'nickname' => '昵称', + 'code' => '邀请码', 'agent_level'=>'管理级别', 'growth_value'=>'消费值', 'group_sales_value'=>'业绩',