Przeglądaj źródła

Merge pull request #2251 from visuddhinanda/development

处理 $taskProgress->total=0的情况
visuddhinanda 1 rok temu
rodzic
commit
617320a6fb

+ 7 - 3
api-v8/app/Console/Commands/MqAiTranslate.php

@@ -185,7 +185,12 @@ class MqAiTranslate extends Command
 
             //修改task 完成度
             $taskProgress = $message->task->progress;
-            $progress = (int)($taskProgress->current * 100 / $taskProgress->total);
+            if ($taskProgress->total > 0) {
+                $progress = (int)($taskProgress->current * 100 / $taskProgress->total);
+            } else {
+                $progress = 100;
+                Log::error('progress total is zero', ['task_id' => $message->task->info->id]);
+            }
             $url = config('app.url') . '/api/v2/task/' . $message->task->info->id;
             $data = [
                 'progress' => $progress,
@@ -200,7 +205,7 @@ class MqAiTranslate extends Command
             }
 
             //任务完成 修改任务状态为 done
-            if ($taskProgress->current === $taskProgress->total) {
+            if ($progress === 100) {
                 $url = config('app.url') . '/api/v2/task-status/' . $message->task->info->id;
                 $data = [
                     'status' => 'done',
@@ -209,7 +214,6 @@ class MqAiTranslate extends Command
                 $response = Http::withToken($token)->patch($url, $data);
                 //判断状态码
                 if ($response->failed()) {
-                    $this->error('task status error' . $response->json('message'));
                     Log::error('task status error', ['data' => $response->json()]);
                 } else {
                     $this->info('task status successful ');

+ 29 - 26
api-v8/app/Http/Controllers/ArticleNavController.php

@@ -18,44 +18,44 @@ class ArticleNavController extends Controller
         //
         switch ($request->get('type')) {
             case 'chapter':
-                $para = explode('-',$request->get('id'));
-                $prev = PaliText::where('book',$para[0])
-                                ->where('paragraph','<',$para[1])
-                                ->where('level','<',8)
-                                ->orderBy('paragraph','desc')
-                                ->first();
-                $next = PaliText::where('book',$para[0])
-                                ->where('paragraph','>',$para[1])
-                                ->where('level','<',8)
-                                ->orderBy('paragraph','asc')
-                                ->first();
-                if($prev){
+                $para = explode('-', $request->get('id'));
+                $prev = PaliText::where('book', $para[0])
+                    ->where('paragraph', '<', $para[1])
+                    ->where('level', '<', 8)
+                    ->orderBy('paragraph', 'desc')
+                    ->first();
+                $next = PaliText::where('book', $para[0])
+                    ->where('paragraph', '>', $para[1])
+                    ->where('level', '<', 8)
+                    ->orderBy('paragraph', 'asc')
+                    ->first();
+                if ($prev) {
                     $nav['prev']['id'] = $prev->book . '-' . $prev->paragraph;
                     $nav['prev']['title'] = $prev->toc;
                     $nav['prev']['subtitle'] = $prev->toc;
                 }
-                if($next){
+                if ($next) {
                     $nav['next']['id'] = $next->book . '-' . $next->paragraph;
                     $nav['next']['title'] = $next->toc;
                     $nav['next']['subtitle'] = $next->toc;
                 }
                 break;
             case 'para':
-                $para = explode('-',$request->get('id'));
-                $prev = PaliText::where('book',$para[0])
-                                ->where('paragraph','<',$para[1])
-                                ->orderBy('paragraph','desc')
-                                ->first();
-                $next = PaliText::where('book',$para[0])
-                                ->where('paragraph','>',$para[1])
-                                ->orderBy('paragraph','asc')
-                                ->first();
-                if($prev){
+                $para = explode('-', $request->get('id'));
+                $prev = PaliText::where('book', $para[0])
+                    ->where('paragraph', '<', $para[1])
+                    ->orderBy('paragraph', 'desc')
+                    ->first();
+                $next = PaliText::where('book', $para[0])
+                    ->where('paragraph', '>', $para[1])
+                    ->orderBy('paragraph', 'asc')
+                    ->first();
+                if ($prev) {
                     $nav['prev']['id'] = $prev->book . '-' . $prev->paragraph;
                     $nav['prev']['title'] = $prev->text;
                     $nav['prev']['subtitle'] = $prev->text;
                 }
-                if($next){
+                if ($next) {
                     $nav['next']['id'] = $next->book . '-' . $next->paragraph;
                     $nav['next']['title'] = $next->text;
                     $nav['next']['subtitle'] = $next->text;
@@ -65,8 +65,11 @@ class ArticleNavController extends Controller
                 return $this->error('type?');
                 break;
         }
-        return $this->ok(new ArticleNavResource($nav));
-
+        if (isset($nav)) {
+            return $this->ok(new ArticleNavResource($nav));
+        } else {
+            return $this->error('no nav data', 200, 200);
+        }
     }
 
     /**