Parcourir la source

发送队列成功再修改状态为queue

visuddhinanda il y a 9 mois
Parent
commit
4a098bab7b
1 fichiers modifiés avec 18 ajouts et 9 suppressions
  1. 18 9
      api-v8/app/Http/Controllers/TaskStatusController.php

+ 18 - 9
api-v8/app/Http/Controllers/TaskStatusController.php

@@ -13,7 +13,8 @@ use App\Http\Resources\TaskResource;
 use App\Http\Api\AuthApi;
 use App\Http\Api\WatchApi;
 use App\Models\AiModel;
-use App\Http\Api\AiTaskPrepare;
+use App\Services\AiTranslateService;
+
 
 class TaskStatusController extends Controller
 {
@@ -78,7 +79,7 @@ class TaskStatusController extends Controller
      * @param  \App\Models\Task  $task
      * @return \Illuminate\Http\Response
      */
-    public function update(Request $request, string $id)
+    public function update(Request $request, string $id, AiTranslateService $ai)
     {
         //
         $task = Task::findOrFail($id);
@@ -187,13 +188,21 @@ class TaskStatusController extends Controller
                 ->select('assignee_id')->get();
             $aiAssistant = AiModel::whereIn('uid', $taskAssignee)->first();
             if ($aiAssistant) {
-                $aiTask = Task::find($taskId);
-                $aiTask->executor_id = $aiAssistant->uid;
-                $aiTask->status = 'queue';
-                $aiTask->save();
-                $this->pushChange('queue', $taskId);
-                $params = AiTaskPrepare::translate($taskId);
-                Log::debug('ai task', ['message' => count($params)]);
+                try {
+
+                    $params = $ai->makeByTask($taskId, $aiAssistant->uid);
+                    Log::debug('ai task', ['message' => count($params)]);
+                    $aiTask = Task::find($taskId);
+                    $aiTask->executor_id = $aiAssistant->uid;
+                    $aiTask->status = 'queue';
+                    $aiTask->save();
+                    $this->pushChange('queue', $taskId);
+                } catch (\Exception $e) {
+                    Log::error('ai assistant start fail', [
+                        'task' => $taskId,
+                        'error' => $e->getMessage()
+                    ]);
+                }
             }
         }