소스 검색

update: rollback traffic fetch

tokumeikoi 3 년 전
부모
커밋
3600c9a166
1개의 변경된 파일6개의 추가작업 그리고 8개의 파일을 삭제
  1. 6 8
      app/Services/UserService.php

+ 6 - 8
app/Services/UserService.php

@@ -82,17 +82,15 @@ class UserService
 
     public function trafficFetch(int $u, int $d, int $userId, object $server, string $protocol):bool
     {
-        $user = User::find($userId);
+        $user = User::lockForUpdate()
+            ->find($userId);
         if (!$user) {
             return true;
         }
-        try {
-            $user->update([
-                't' => time(),
-                'u' => DB::raw("u + {$u}"),
-                'd' => DB::raw("d + {$d}")
-            ]);
-        } catch (\Exception $e) {
+        $user->t = time();
+        $user->u = $user->u + $u;
+        $user->d = $user->d + $d;
+        if (!$user->save()) {
             return false;
         }
         $mailService = new MailService();