| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- namespace app\common\model\user;
- use app\common\model\BaseModel;
- class OilLevel extends BaseModel
- {
- public static function tablePk(): ?string
- {
- return 'id';
- }
- public static function tableName(): string
- {
- return 'award_integral_price';
- }
- public function checkLevel($uid, $pass = [])
- {
- if (in_array($uid, $pass)) return true;
- $user = User::find($uid);
- $group_users = get_group_user($user);
- //Todo 获取在$group_users内所有用户的消费情况
- $achievement = 0;
- $old_level = self::where('id', $user['level'])->find();
- if (!$old_level) $old_level = [
- 'grade' => 0,
- 'name' => '普通会员'
- ];
- $level = self::where('grade', '>', $old_level['grade'])->where('achievement', '<=', $achievement)
- ->order('grade', 'desc')->find();
- if ($level) {
- $user->level = $level['id'];
- $user->save();
- }
- $pass[] = $uid;
- $spread = User::where('uid', $user['spread_uid'])->find();
- if ($spread) return $this->checkLevel($spread['id'], $pass);
- return true;
- }
- }
|