diff --git a/Application/Admin/Model/UserModel.class.php b/Application/Admin/Model/UserModel.class.php index 8bbb0232..8e49a67a 100644 --- a/Application/Admin/Model/UserModel.class.php +++ b/Application/Admin/Model/UserModel.class.php @@ -1098,6 +1098,7 @@ class UserModel extends Model{ $data["last_device_number"] = $user['device_number']; $data["token"] = $this->generateToken($uid,$account,$password); + M('user_token','tab_')->startTrans(); $userToken = $this->generateToken($uid,$account,$password).uniqid().rand(1000, 9999); $relationGameId = M('game', 'tab_')->where([ 'id' => $game_id @@ -1108,7 +1109,7 @@ class UserModel extends Model{ 'game_id|relation_game_id' => $game_id ])->find(); if (!$userTokens) { - M('user_token', 'tab_')->add([ + $r = M('user_token', 'tab_')->add([ 'user_id' => $uid, 'game_id' => $game_id, 'relation_game_id' => $relationGameId, @@ -1117,8 +1118,12 @@ class UserModel extends Model{ 'create_time' => time(), 'update_time' => time() ]); + if (!$r) { + M('user_token','tab_')->rollback(); + exit(); + } - M('user_token', 'tab_')->where([ + $r = M('user_token', 'tab_')->where([ 'user_id' => $uid, 'relation_game_id' => $relationGameId ])->save([ @@ -1126,8 +1131,12 @@ class UserModel extends Model{ 'login_cnt' => $userTokens['login_cnt'] + 1, 'update_time' => time() ]); + if (!$r) { + M('user_token','tab_')->rollback(); + exit(); + } } else { - M('user_token', 'tab_')->where([ + $r = M('user_token', 'tab_')->where([ 'user_id' => $uid, 'game_id|relation_game_id' => $relationGameId ])->save([ @@ -1135,7 +1144,12 @@ class UserModel extends Model{ 'login_cnt' => $userTokens['login_cnt'] + 1, 'update_time' => time() ]); + if (!$r) { + M('user_token','tab_')->rollback(); + exit(); + } } + M('user_token','tab_')->commit(); if($user_fgame_id){ $model->save($data);