12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace App\Console\Commands\User;
- use DB;
- use Redis;
- use Illuminate\Console\Command;
- class UserLastChapterOrder extends Command
- {
- const USER_LAST_CHAPTER_ORDER = 'userLastChapterOrder';
-
- protected $signature = 'User:UserLastChapterOrder';
-
- protected $description = '用户最近订阅';
-
- public function __construct()
- {
- parent::__construct();
- }
-
- public function handle(){
- $this->start();
- }
- private function start(){
- $record = Redis::hgetAll(self::USER_LAST_CHAPTER_ORDER);
- if(!$record) return ;
- Redis::del(self::USER_LAST_CHAPTER_ORDER);
- $save_data = [];
- $temp = 1;
- foreach ($record as $uid=>$bid){
- $exists = DB::table('user_last_chapter_order')->where('uid',$uid)->select('id','bid')->first();
- if($exists){
- if($exists->bid == $bid)continue;
- DB::table('user_last_chapter_order')->where('uid',$uid)->update([
- 'bid'=>$bid,'updated_at'=>date('Y-m-d H:i:s')
- ]);
- }else{
- $save_data[] = ['uid'=>$uid,'bid'=>$bid,'created_at'=>date('Y-m-d H:i:s'),'updated_at'=>date('Y-m-d H:i:s')];
- if($temp++ % 100 == 0){
- DB::table('user_last_chapter_order')->insert($save_data);
- $save_data = [];
- }
- }
- }
- if($save_data) {
- DB::table('user_last_chapter_order')->insert($save_data);
- }
- }
- }
|