|
|
@@ -110,29 +110,37 @@ class UserModel extends Model
|
|
|
public static function updateUserLevel(int $uid, int $parentId)
|
|
|
{
|
|
|
if (!empty($parentId)) {
|
|
|
- $parent = self::where('id', $parentId)->find();
|
|
|
- //更新等级
|
|
|
- if (empty($parent->address_level)) {
|
|
|
- $parent->address_level = self::levelOne;
|
|
|
- }else{
|
|
|
- if ($parent->address_level < self::levelFour) {
|
|
|
- $parentCount = self::where('parent_id', $parentId)->where('address_level', '>=', self::levelOne)->count();
|
|
|
- if($parentCount > self::level[1]) $parent->address_level = self::levelTwo;
|
|
|
- if($parentCount > self::level[2]) $parent->address_level = self::levelThre;
|
|
|
+ $paths = UserPathModel::where('user_id', $parentId)->order('distance', 'asc')->column('parent_id');
|
|
|
+ $paths[]= $parentId;
|
|
|
+ foreach ($paths as $item)
|
|
|
+ {
|
|
|
+ $parent = self::where('id', $item)->find();
|
|
|
+ //更新等级
|
|
|
+ if (empty($parent->address_level)) {
|
|
|
+ $parent->address_level = self::levelOne;
|
|
|
+ }else{
|
|
|
+ if ($parent->address_level < self::levelFour) {
|
|
|
+ $parentCount = self::where('parent_id', $item)->where('address_level', '>=', self::levelOne)->count();
|
|
|
+ if($parentCount > self::level[1]) $parent->address_level = self::levelTwo;
|
|
|
+ if($parentCount > self::level[2]) $parent->address_level = self::levelThre;
|
|
|
+ }
|
|
|
+ if($parent->address_level == self::levelThre){
|
|
|
+ $parentCount = self::where('parent_id', $item)->where('address_level', '>=', self::levelThre)->count();
|
|
|
+ if($parentCount > self::level[3]) $parent->address_level = self::levelFour;
|
|
|
+ }
|
|
|
}
|
|
|
- if($parent->address_level == self::levelThre){
|
|
|
- $parentCount = self::where('parent_id', $parentId)->where('address_level', '>=', self::levelThre)->count();
|
|
|
- if($parentCount > self::level[3]) $parent->address_level = self::levelFour;
|
|
|
+ //更新直推领取人数
|
|
|
+ if($parentId == $item){
|
|
|
+ $parent->direct_super += self::NORMAL;
|
|
|
+ $parent->save();
|
|
|
}
|
|
|
}
|
|
|
- $parent->direct_super += self::NORMAL; //更新直推领取人数
|
|
|
- $parent->save();
|
|
|
}
|
|
|
return self::where('id', $uid)->setInc('address_level', self::NORMAL);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取直推用户黄金标识人数 direct_super >= 10
|
|
|
+ * 获取直推用户黄金标识人数
|
|
|
* @param int $uid
|
|
|
* @return void
|
|
|
*/
|