visuddhinanda 2 недель назад
Родитель
Сommit
38425dc29a
1 измененных файлов с 49 добавлено и 52 удалено
  1. 49 52
      api-v13/app/Console/Commands/UpgradeProgress.php

+ 49 - 52
api-v13/app/Console/Commands/UpgradeProgress.php

@@ -43,84 +43,81 @@ class UpgradeProgress extends Command
      */
     public function handle()
     {
-        if(\App\Tools\Tools::isStop()){
+        if (\App\Tools\Tools::isStop()) {
             return 0;
         }
-		$this->info('upgrade:progress start');
-		$startTime = time();
+        $this->info('upgrade:progress start');
+        $startTime = time();
         $book = $this->option('book');
         $para = $this->option('para');
         $channelId = $this->option('channel');
-        if($book && $para && $channelId){
-            $sentences = Sentence::where('strlen','>',0)
-                          ->where('book_id',$book)
-                          ->where('paragraph',$para)
-                          ->where('channel_uid',$channelId)
-                          ->groupby('book_id','paragraph','channel_uid')
-                          ->select('book_id','paragraph','channel_uid');
-        }else{
-            $sentences = Sentence::where('strlen','>',0)
-                          ->where('book_id','<',1000)
-                          ->where('channel_uid','<>','')
-                          ->groupby('book_id','paragraph','channel_uid')
-                          ->select('book_id','paragraph','channel_uid');
+        if ($book && $para && $channelId) {
+            $sentences = Sentence::where('strlen', '>', 0)
+                ->where('book_id', $book)
+                ->where('paragraph', $para)
+                ->where('channel_uid', $channelId)
+                ->groupby('book_id', 'paragraph', 'channel_uid')
+                ->select('book_id', 'paragraph', 'channel_uid');
+        } else {
+            $sentences = Sentence::where('strlen', '>', 0)
+                ->where('book_id', '<', 1000)
+                ->where('channel_uid', '<>', '')
+                ->groupby('book_id', 'paragraph', 'channel_uid')
+                ->select('book_id', 'paragraph', 'channel_uid');
         }
         $count = $sentences->count();
         $sentences = $sentences->cursor();
-        $this->info('sentences:'.$count);
+        $this->info('sentences:' . $count);
         #第二步 更新段落表
-        $bar = $this->output->createProgressBar($count);
         foreach ($sentences as $sentence) {
             # 第二步 生成para progress 1,2,15,zh-tw
             # 计算此段落完成时间
-            $finalAt = Sentence::where('strlen','>',0)
-                        ->where('book_id',$sentence->book_id)
-                        ->where('paragraph',$sentence->paragraph)
-                        ->where('channel_uid',$sentence->channel_uid)
-                        ->max('created_at');
-            $updateAt = Sentence::where('strlen','>',0)
-                        ->where('book_id',$sentence->book_id)
-                        ->where('paragraph',$sentence->paragraph)
-                        ->where('channel_uid',$sentence->channel_uid)
-                        ->max('updated_at');
+            $finalAt = Sentence::where('strlen', '>', 0)
+                ->where('book_id', $sentence->book_id)
+                ->where('paragraph', $sentence->paragraph)
+                ->where('channel_uid', $sentence->channel_uid)
+                ->max('created_at');
+            $updateAt = Sentence::where('strlen', '>', 0)
+                ->where('book_id', $sentence->book_id)
+                ->where('paragraph', $sentence->paragraph)
+                ->where('channel_uid', $sentence->channel_uid)
+                ->max('updated_at');
             # 查询每个段落的等效巴利语字符数
-            $result_sent = Sentence::where('strlen','>',0)
-                                    ->where('book_id',$sentence->book_id)
-                                    ->where('paragraph',$sentence->paragraph)
-                                    ->where('channel_uid',$sentence->channel_uid)
-                                    ->select('word_start')
-                                    ->get();
+            $result_sent = Sentence::where('strlen', '>', 0)
+                ->where('book_id', $sentence->book_id)
+                ->where('paragraph', $sentence->paragraph)
+                ->where('channel_uid', $sentence->channel_uid)
+                ->select('word_start')
+                ->get();
             if (count($result_sent) > 0) {
                 #查询这些句子的总共等效巴利语字符数
                 $para_strlen = 0;
                 foreach ($result_sent as $sent) {
                     # code...
-                    $para_strlen += PaliSentence::where('book',$sentence->book_id)
-                                ->where('paragraph',$sentence->paragraph)
-                                ->where('word_begin',$sent->word_start)
-                                ->value('length');
+                    $para_strlen += PaliSentence::where('book', $sentence->book_id)
+                        ->where('paragraph', $sentence->paragraph)
+                        ->where('word_begin', $sent->word_start)
+                        ->value('length');
                 }
                 $paraInfo = [
-                        'book'=>$sentence->book_id,
-                        'para'=>$sentence->paragraph,
-                        'channel_id'=>$sentence->channel_uid
+                    'book' => $sentence->book_id,
+                    'para' => $sentence->paragraph,
+                    'channel_id' => $sentence->channel_uid
                 ];
                 $paraData = [
-                        'lang'=>'en',
-                        'all_strlen'=>$para_strlen,
-                        'public_strlen'=>$para_strlen,
-                        'created_at'=>$finalAt,
-                        'updated_at'=>$updateAt,
+                    'lang' => 'en',
+                    'all_strlen' => $para_strlen,
+                    'public_strlen' => $para_strlen,
+                    'created_at' => $finalAt,
+                    'updated_at' => $updateAt,
                 ];
-                Log::debug('Progress updateOrInsert',['para'=>$paraInfo,'data'=>$paraData]);
-                Progress::updateOrInsert($paraInfo,$paraData);
+                Log::debug('Progress updateOrInsert', ['para' => $paraInfo, 'data' => $paraData]);
+                Progress::updateOrInsert($paraInfo, $paraData);
             }
-            $bar->advance();
         }
-        $bar->finish();
 
-		$time = time() - $startTime;
-		$this->info("upgrade progress finished in {$time}s");
+        $time = time() - $startTime;
+        $this->info("upgrade progress finished in {$time}s");
 
         return 0;
     }