Add async AI generation tasks
This commit is contained in:
@@ -19,6 +19,7 @@ import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.generator.domain.front.FrontProject;
|
||||
import com.ruoyi.generator.domain.front.dto.DatabaseDesignResponse;
|
||||
import com.ruoyi.generator.domain.front.dto.AiGenerationTaskCreateRequest;
|
||||
import com.ruoyi.generator.domain.front.dto.FrontProjectCreateRequest;
|
||||
import com.ruoyi.generator.domain.front.dto.FrontProjectUpdateRequest;
|
||||
import com.ruoyi.generator.domain.front.dto.GenerateAppBlueprintRequest;
|
||||
@@ -26,6 +27,7 @@ import com.ruoyi.generator.domain.front.dto.GenerateBusinessBlueprintRequest;
|
||||
import com.ruoyi.generator.domain.front.dto.GenerateDatabaseRequest;
|
||||
import com.ruoyi.generator.domain.front.dto.PreviewFileRequest;
|
||||
import com.ruoyi.generator.service.front.IAiGenerateService;
|
||||
import com.ruoyi.generator.service.front.IAiGenerationTaskService;
|
||||
import com.ruoyi.generator.service.front.IFrontProjectPreviewService;
|
||||
import com.ruoyi.generator.service.front.IFrontProjectService;
|
||||
|
||||
@@ -38,6 +40,8 @@ public class FrontProjectController extends BaseController
|
||||
@Autowired
|
||||
private IAiGenerateService aiGenerateService;
|
||||
@Autowired
|
||||
private IAiGenerationTaskService aiGenerationTaskService;
|
||||
@Autowired
|
||||
private IFrontProjectPreviewService frontProjectPreviewService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@@ -116,6 +120,48 @@ public class FrontProjectController extends BaseController
|
||||
return success(aiGenerateService.generateBusinessBlueprint(userId, projectId, request));
|
||||
}
|
||||
|
||||
@PostMapping("/{projectId}/ai-tasks")
|
||||
public AjaxResult createAiTask(@PathVariable Long projectId, @RequestBody AiGenerationTaskCreateRequest request)
|
||||
{
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
return success(aiGenerationTaskService.createTask(userId, projectId, request));
|
||||
}
|
||||
|
||||
@GetMapping("/{projectId}/ai-tasks/{taskId}")
|
||||
public AjaxResult getAiTask(@PathVariable Long projectId, @PathVariable Long taskId)
|
||||
{
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
return success(aiGenerationTaskService.getTask(userId, projectId, taskId));
|
||||
}
|
||||
|
||||
@PostMapping("/{projectId}/ai-tasks/{taskId}/retry")
|
||||
public AjaxResult retryAiTask(@PathVariable Long projectId, @PathVariable Long taskId)
|
||||
{
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
return success(aiGenerationTaskService.retryTask(userId, projectId, taskId));
|
||||
}
|
||||
|
||||
@PostMapping("/{projectId}/ai-tasks/{taskId}/cancel")
|
||||
public AjaxResult cancelAiTask(@PathVariable Long projectId, @PathVariable Long taskId)
|
||||
{
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
return success(aiGenerationTaskService.cancelTask(userId, projectId, taskId));
|
||||
}
|
||||
|
||||
@GetMapping("/{projectId}/generations")
|
||||
public AjaxResult generations(@PathVariable Long projectId)
|
||||
{
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
return success(aiGenerationTaskService.listGenerations(userId, projectId));
|
||||
}
|
||||
|
||||
@GetMapping("/ai-quota")
|
||||
public AjaxResult aiQuota()
|
||||
{
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
return success(aiGenerationTaskService.getQuota(userId));
|
||||
}
|
||||
|
||||
@PostMapping("/{projectId}/preview")
|
||||
public AjaxResult preview(@PathVariable Long projectId)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user