orderBy('id','asc')->get(); $bar = $this->output->createProgressBar(count($oldData)); $bar->start(); $startTime = time(); $error = []; foreach ($oldData as $key => $value){ $storeId = $value->store_id; $userId = $value->user_id; if(empty($userId)){ $error[] = ['id'=>$userId]; break; } // 判断是否存在 总账 $exist = DB::table($newTableName) ->where('user_id',$userId) ->where('user_type',5) ->where('source_id',$value->order_id) ->where('source_type',0) ->where('money_type') ->exists(); if(!$exist){ $newData =[ 'id'=>$userId, 'nick_name'=>$value->name, 'avatar'=>$value->img, 'openid'=>$value->openid, 'total_score'=>$value->total_score, 'wallet'=>$value->wallet, 'real_name'=>$value->user_name, 'tel'=>$value->user_tel, 'unionid'=>$value->unionid, 'created_at' => strtotime($value->join_time), 'updated_at' => $value->updated_at, ]; $res = DB::table($newTableName)->insert($newData); if(!$res){ $error[] = ['id'=>$userId]; break; } } // 判断是否存在 详细账 $mod = bcmod((string)$userId, '5', 0); $newSubTableName = $newTableName.'_'.$mod; $existSub = DB::table($newSubTableName)->where('id',$userId)->exists(); if(!$existSub){ $newData =[ 'id'=>$userId, 'nick_name'=>$value->name, 'avatar'=>$value->img, 'openid'=>$value->openid, 'total_score'=>$value->total_score, 'wallet'=>$value->wallet, 'real_name'=>$value->user_name, 'tel'=>$value->user_tel, 'unionid'=>$value->unionid, 'created_at' => strtotime($value->join_time), 'updated_at' => $value->updated_at, ]; $res = DB::table($newSubTableName)->insert($newData); if(!$res){ $error[] = ['id'=>$userId]; break; } } $bar->advance(); } $bar->finish(); var_dump([time()-$startTime]); var_dump($error); return 0; } }