GiftLevel.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace app\common\model\user;
  3. use app\common\model\BaseModel;
  4. class GiftLevel extends BaseModel
  5. {
  6. public static function tablePk(): ?string
  7. {
  8. return 'id';
  9. }
  10. public static function tableName(): string
  11. {
  12. return 'award_integral_price';
  13. }
  14. public function checkLevel($uid, $pass = [])
  15. {
  16. if (in_array($uid, $pass)) return true;
  17. $user = User::find($uid);
  18. $group_users = get_group_user($user);
  19. //Todo 获取在$group_users内所有用户的消费情况
  20. $achievement = 0;
  21. $old_level = self::where('id', $user['level'])->find();
  22. if (!$old_level) $old_level = [
  23. 'grade' => 0,
  24. 'name' => '普通会员'
  25. ];
  26. $level = self::where('grade', '>', $old_level['grade'])->where('achievement', '<=', $achievement)
  27. ->order('grade', 'desc')->find();
  28. if ($level) {
  29. $user->level = $level['id'];
  30. $user->save();
  31. }
  32. $pass[] = $uid;
  33. $spread = User::where('uid', $user['spread_uid'])->find();
  34. if ($spread) return $this->checkLevel($spread['id'], $pass);
  35. return true;
  36. }
  37. }