Browse Source

会员升级

Kirin 1 year ago
parent
commit
3febfaab8d
1 changed files with 7 additions and 1 deletions
  1. 7 1
      app/services/user/level/UserLevelServices.php

+ 7 - 1
app/services/user/level/UserLevelServices.php

@@ -403,6 +403,7 @@ class UserLevelServices extends BaseServices
         $data = [];
         $data['add_time'] = time();
         $userLevel = $this->dao->getColumn(['uid' => $uid, 'status' => 1, 'is_del' => 0], 'level_id');
+        $max_level = 0;
         foreach ($userAllLevel as $vipinfo) {
             if (in_array($vipinfo['id'], $userLevel)) {
                 continue;
@@ -422,6 +423,7 @@ class UserLevelServices extends BaseServices
             if ($vipinfo['sub_grade_num'] > $num) {
                 break;
             }
+            $max_level = $vipinfo['id'];
 
             $data['mark'] = '尊敬的用户' . $user['nickname'] . '在' . date('Y-m-d H:i:s', time()) . '成为了' . $vipinfo['name'];
             $uservip = $this->dao->getOne(['uid' => $uid, 'level_id' => $vipinfo['id']]);
@@ -448,7 +450,11 @@ class UserLevelServices extends BaseServices
             }
             $data['add_time'] += 1;
         }
-        if (!$userServices->update($uid, ['level' => end($userAllLevel)['id']], 'uid')) {
+        $res = true;
+        if ($user['level'] < $max_level) {
+            $res = $userServices->update($uid, ['level' => $max_level], 'uid');
+        }
+        if (!$res) {
             throw new ValidateException('检测升级失败');
         }
         return true;