From 17a7c82c5e1f6d73ae155040bfcf9b4f47fa7fd7 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Thu, 2 Feb 2023 11:55:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B3=A8=E5=86=8C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=BD=95=E5=85=A5=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/api/Auth.php | 76 +++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 33 deletions(-) diff --git a/app/controller/api/Auth.php b/app/controller/api/Auth.php index b79b0c01..fa0a0c8d 100644 --- a/app/controller/api/Auth.php +++ b/app/controller/api/Auth.php @@ -356,43 +356,53 @@ class Auth extends BaseController // if (!$sms_code) return app('json')->fail('验证码不正确'); $user = $repository->accountByUser($data['phone']); $auth = $this->parseAuthToken($data['auth_token']); - if (!$user) { - $user = $repository->registr($data['phone'], null, $data['user_type']); - $msg=Db::connect('nongke')->table('fa_szxc_information_usermsg')->where('phone',$data['phone'])->find(); - if ($msg){ - $nk_user=Db::name('nk_user')->where('n_user_id',$msg['user_id'])->find(); - $users=Db::connect('nongke')->table('fa_user')->where('id',$msg['user_id'])->find(); - if (!$nk_user){ - $datas=[ - 'user_id'=>$user['uid'], - 'n_user_id'=>$msg['user_id'], - 'group_id'=>$users['group_id'] + Db::startTrans(); + try { + if (!$user) { + $user = $repository->registr($data['phone'], null, $data['user_type']); + $msg = Db::connect('nongke')->table('fa_szxc_information_usermsg')->where('phone', $data['phone'])->find(); + if ($msg) { + $nk_user = Db::name('nk_user')->where('n_user_id', $msg['user_id'])->find(); + $users = Db::connect('nongke')->table('fa_user')->where('id', $msg['user_id'])->find(); + if (!$nk_user) { + $datas = [ + 'user_id' => $user['uid'], + 'n_user_id' => $msg['user_id'], + 'group_id' => $users['group_id'] + ]; + Db::name('nk_user')->insert($datas); + } else { + Db::name('nk_user')->where('id', $nk_user['id'])->update(['user_id' => $user['uid'], 'group_id' => $users['group_id']]); + } + } else { + $time = time(); + $user_data = [ + 'openid' => 'wx' . $time, + 'group_id' => 1, + 'username' => 'wx' . $time, + 'nickname' => '微信用户' . $time, + 'avatar' => 'https://lihai001.oss-cn-chengdu.aliyuncs.com/uploads/20230104/32a639be4ee32349705e947fbbd1e114.png', + 'level' => 1, + 'prevtime' => $time, + 'jointime' => $time, + 'createtime' => $time, + 'updatetime' => $time, + 'status' => 'normal' + ]; + $n_user_id = Db::connect('nongke')->table('fa_user')->insertGetId($user_data); + $datas = [ + 'user_id' => $user['uid'], + 'n_user_id' => $n_user_id, + 'group_id' => 1 ]; Db::name('nk_user')->insert($datas); - }else{ - Db::name('nk_user')->where('id',$nk_user['id'])->update(['user_id'=>$user['uid'],'group_id'=>$users['group_id']]); } - }else{ - $time=time(); - $user_data=[ - 'openid'=>'wx'.$time, - 'group_id'=>1, - 'username'=>'wx'.$time, - 'nickname'=>'微信用户'.$time, - 'avatar'=>'https://lihai001.oss-cn-chengdu.aliyuncs.com/uploads/20230104/32a639be4ee32349705e947fbbd1e114.png', - 'level'=>1, - 'createtime'=>$time, - 'updatetime'=>$time, - 'status'=>'normal' - ]; - $n_user_id= Db::connect('nongke')->table('fa_user')->insertGetId($user_data); - $datas=[ - 'user_id'=>$user['uid'], - 'n_user_id'=>$n_user_id, - 'group_id'=>1 - ]; - Db::name('nk_user')->insert($datas); } + Db::commit(); + } catch (\Exception $e) { + // 回滚事务 + Db::rollback(); + return app('json')->error($e->getMessage()); } if ($auth && !$user['wechat_user_id']){ $repository->syncBaseAuth($auth, $user);