check(); $key = input('key'); $mobile = input('mobile'); $bindUser = \app\common\model\User::where('mobile', $mobile)->where('password',$key)->find(); $this->success("获取成功",[ 'avatar'=>$bindUser['avatar'], 'nickname'=>$bindUser['nickname'], 'username'=>$bindUser['username'], 'money'=>$bindUser['money'], 'score'=>$bindUser['score'], 'platform'=>$bindUser['platform'] ]); } /** * 合并账号 * @return void */ public function submit(){ $this->check(); $key = input('key'); $mobile = input('mobile'); $type = input('type','main');//合并方式 $bindUser = \app\common\model\User::where('mobile', $mobile)->where('password',$key)->find(); $bindMobile = ''; if($type == 'main'){ $delUser = $bindUser; $getUser = $this->auth->getUserinfo(); }else{ $delUser = $this->auth->getUserinfo(); $getUser = $bindUser; } $createtime = $getUser['createtime']; if($getUser['mobile']){ $bindMobile = $getUser['mobile']; }else{ $bindMobile = $delUser['mobile']; } if($getUser['createtime'] > $delUser['createtime']){ $createtime = $delUser['createtime']; } $updateTableField = [ ['app_activity_apply_form','user_id'], ['app_activity_user_ticket','user_id'], ['app_agent_member','user_id'], ['app_agent_member_money_log','user_id'], ['app_agent_order','beneficiary_user_id'], ['app_agent_order','order_user_id'], ['app_agent_relation','user_id'], ['app_agent_relation','parent_id'], ['app_agent_withdraw','user_id'], ['app_agent_withdraw_card','user_id'], ['app_exam_exercises_log','user_id'], ['app_exam_exercises_log_answer','user_id'], ['app_exam_exercises_subscribe','user_id'], ['app_exchange_code','user_id'], ['app_exchange_use_log','user_id'], ['app_sign_log','user_id'], ['app_vip_card_user','user_id'], ['attachment','user_id'], ['collect','user_id'], ['comment_like','user_id'], ['comment','user_id'], ['comment','reply_user_id'], ['live_message','user_id'], ['order','user_id'], ['order_evaluate','user_id'], ['order_item','user_id'], ['study','user_id'], ['subscription','user_id'], ['user_course','user_id'], ['user_money_log','user_id'], ['user_oauth','user_id'], ['user_score_log','user_id'], ['user_token','user_id'], ]; Db::startTrans(); try{ foreach ($updateTableField as $item){ Db::name($item[0])->where([ $item[1] => $delUser['id'] ])->update([ $item[1] => $getUser['id'] ]); } if($delUser['money']){ User::money($delUser['money'], $getUser['id'], "账号合并"); } if($delUser['score']){ User::score($delUser['score'], $getUser['id'], "账号合并"); } \app\common\model\User::where('id', $getUser['id'])->update([ 'mobile'=>$bindMobile, 'jointime'=>$createtime, 'createtime'=>$createtime, 'updatetime'=>time() ]); \app\common\model\User::where('id', $delUser['id'])->delete(); // 提交事务 Db::commit(); } catch (\Exception $e) { // 回滚事务 Db::rollback(); $this->error("合并失败,请重试"); } $this->success("合并成功"); } /** * 检测被绑定账号合规 * @return void */ public function check(){ $key = input('key'); $mobile = input('mobile'); //用户通过微信登录,需要绑定手机号,绑定的手机号已经注册过了。现在需要合并微信与手机号 //验证手机号 $bindUser = \app\common\model\User::where([ 'mobile'=> $mobile, 'password'=>$key ])->find(); if(!$bindUser){ $this->error("获取被绑定用户信息失败"); } if($mobile == $this->auth->mobile){ $this->error("重复绑定"); } $isBindWechat = Oauth::where([ 'user_id'=>$bindUser['id'], 'platform'=>\app\common\library\Platform::getPlatform() ])->find(); if($isBindWechat){ $this->error("被绑定手机号已经绑定微信了"); } } }