|
|
@@ -30,6 +30,12 @@ class UserModel extends Model
|
|
|
const NORMAL = 1;
|
|
|
const STOP = 2;
|
|
|
|
|
|
+ const level = [1=>3, 2=> 10, 3=>3]; //直推人数
|
|
|
+ const levelOne = 1;
|
|
|
+ const levelTwo = 2;
|
|
|
+ const levelThre = 3;
|
|
|
+ const levelFour = 4;
|
|
|
+
|
|
|
protected $name = 'user';
|
|
|
|
|
|
|
|
|
@@ -93,14 +99,36 @@ class UserModel extends Model
|
|
|
|
|
|
/**
|
|
|
* 添加用户上级标识
|
|
|
+ * 领取超级福利后就会变成青铜地址
|
|
|
+ * 直推3个领取了超级福利的变成白银地址
|
|
|
+ * 直推10个领取了超级福利的变成黄金地址
|
|
|
+ * 有3个是黄金地址的 就变成翡翠地址
|
|
|
* @param int $uid
|
|
|
* @param string $parentId
|
|
|
* @return void
|
|
|
*/
|
|
|
- public static function updateUserSuper(int $uid, int $parentId)
|
|
|
+ public static function updateUserLevel(int $uid, int $parentId)
|
|
|
{
|
|
|
- self::where('id', $uid)->update(['is_super'=>self::NORMAL]);
|
|
|
- return self::where('id', $parentId)->setInc('direct_super', self::NORMAL);
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $parent->direct_super += self::NORMAL; //更新直推领取人数
|
|
|
+ $parent->save();
|
|
|
+ }
|
|
|
+ return self::where('id', $uid)->setInc('address_level', self::NORMAL);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -113,15 +141,7 @@ class UserModel extends Model
|
|
|
return self::where('parent_id', $uid)->where('direct_super', '>=' , 10)->count();
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取直推用户黄金标识地址 direct_super >= 10
|
|
|
- * @param int $uid
|
|
|
- * @return void
|
|
|
- */
|
|
|
- public static function getDirectGoldAddress(int $uid)
|
|
|
- {
|
|
|
- return self::where('parent_id', $uid)->where('direct_super', '>=' , 10)->column('address');
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
//社区向上发放奖励津贴
|
|
|
public static function setCommunityRewards($uid, $pv, $token)
|