正在显示
4 个修改的文件
包含
76 行增加
和
1 行删除
| @@ -2,10 +2,14 @@ | @@ -2,10 +2,14 @@ | ||
| 2 | 2 | ||
| 3 | namespace App\Http\Controllers\Bside\Ai; | 3 | namespace App\Http\Controllers\Bside\Ai; |
| 4 | 4 | ||
| 5 | +use App\Enums\Common\Code; | ||
| 5 | use App\Http\Controllers\Bside\BaseController; | 6 | use App\Http\Controllers\Bside\BaseController; |
| 6 | use App\Http\Logic\Bside\Ai\AiBlogLogic; | 7 | use App\Http\Logic\Bside\Ai\AiBlogLogic; |
| 7 | use App\Http\Requests\Bside\Ai\AiBlogRequest; | 8 | use App\Http\Requests\Bside\Ai\AiBlogRequest; |
| 9 | +use App\Models\Ai\AiBlog; | ||
| 8 | use App\Services\AiBlogService; | 10 | use App\Services\AiBlogService; |
| 11 | +use App\Services\ProjectServer; | ||
| 12 | +use Illuminate\Support\Facades\DB; | ||
| 9 | 13 | ||
| 10 | class AiBlogController extends BaseController | 14 | class AiBlogController extends BaseController |
| 11 | { | 15 | { |
| @@ -22,5 +26,23 @@ class AiBlogController extends BaseController | @@ -22,5 +26,23 @@ class AiBlogController extends BaseController | ||
| 22 | $this->response('success'); | 26 | $this->response('success'); |
| 23 | } | 27 | } |
| 24 | 28 | ||
| 25 | - | 29 | + /** |
| 30 | + * @remark :发布任务 | ||
| 31 | + * @name :sendTask | ||
| 32 | + * @author :lyh | ||
| 33 | + * @method :post | ||
| 34 | + * @time :2025/2/14 10:25 | ||
| 35 | + */ | ||
| 36 | + public function sendTask(AiBlogLogic $aiBlogLogic){ | ||
| 37 | + $this->request->validate([ | ||
| 38 | + 'keyword'=>['required'], | ||
| 39 | + 'type'=>['required'] | ||
| 40 | + ],[ | ||
| 41 | + 'keyword.required' => '关键字不能为空', | ||
| 42 | + 'type.required' => '场景不能为空', | ||
| 43 | + ]); | ||
| 44 | + //获取当前项目的ai_blog设置 | ||
| 45 | + $result = $aiBlogLogic->sendTask(); | ||
| 46 | + $this->response('success',Code::SUCCESS,$result); | ||
| 47 | + } | ||
| 26 | } | 48 | } |
| @@ -4,6 +4,10 @@ namespace App\Http\Logic\Bside\Ai; | @@ -4,6 +4,10 @@ namespace App\Http\Logic\Bside\Ai; | ||
| 4 | 4 | ||
| 5 | use App\Http\Logic\Bside\BaseLogic; | 5 | use App\Http\Logic\Bside\BaseLogic; |
| 6 | use App\Models\Ai\AiBlog; | 6 | use App\Models\Ai\AiBlog; |
| 7 | +use App\Models\Project\AiBlogTask; | ||
| 8 | +use App\Models\Project\Project; | ||
| 9 | +use App\Models\Project\ProjectAiSetting; | ||
| 10 | +use App\Services\AiBlogService; | ||
| 7 | 11 | ||
| 8 | class AiBlogLogic extends BaseLogic | 12 | class AiBlogLogic extends BaseLogic |
| 9 | { | 13 | { |
| @@ -29,4 +33,35 @@ class AiBlogLogic extends BaseLogic | @@ -29,4 +33,35 @@ class AiBlogLogic extends BaseLogic | ||
| 29 | } | 33 | } |
| 30 | return $this->success(); | 34 | return $this->success(); |
| 31 | } | 35 | } |
| 36 | + | ||
| 37 | + /** | ||
| 38 | + * @remark :发布任务 | ||
| 39 | + * @name :sendTask | ||
| 40 | + * @author :lyh | ||
| 41 | + * @method :post | ||
| 42 | + * @time :2025/2/14 10:28 | ||
| 43 | + */ | ||
| 44 | + public function sendTask(){ | ||
| 45 | + $projectAiSettingModel = new ProjectAiSetting(); | ||
| 46 | + $aiSettingInfo = $projectAiSettingModel->read(['project_id'=>$this->user['project_id']]); | ||
| 47 | + if($aiSettingInfo === false){ | ||
| 48 | + $this->fail('请先联系管理员开启Ai博客'); | ||
| 49 | + } | ||
| 50 | + $aiBlogService = new AiBlogService(); | ||
| 51 | + $aiBlogService->mch_id = $aiSettingInfo['mch_id']; | ||
| 52 | + $aiBlogService->key = $aiSettingInfo['key']; | ||
| 53 | + $result = $aiBlogService->createTask($this->param['keyword'],$this->param['type']); | ||
| 54 | + if($result['status'] == 200){ | ||
| 55 | + try { | ||
| 56 | + $aiBlogTaskModel = new AiBlogTask(); | ||
| 57 | + $aiBlogTaskModel->addReturnId(['project_id'=>$this->user['project_id'],'task_id'=>$result['data']['task_id'],'status'=>$result['data']['status']]); | ||
| 58 | + $aiBlogModel = new AiBlog(); | ||
| 59 | + $aiBlogModel->addReturnId(['keywords'=>$this->param['keyword'], 'status'=>$result['data']['status'], 'task_id'=>$result['data']['task_id'],'project_id'=>$this->user['project_id'], | ||
| 60 | + ]); | ||
| 61 | + }catch (\Exception $e){ | ||
| 62 | + $this->fail('请求ai_blog失败,请联系管理员'); | ||
| 63 | + } | ||
| 64 | + } | ||
| 65 | + return $this->success(); | ||
| 66 | + } | ||
| 32 | } | 67 | } |
app/Models/Project/AiBlogTask.php
0 → 100644
| @@ -154,6 +154,7 @@ Route::middleware(['bloginauth'])->group(function () { | @@ -154,6 +154,7 @@ Route::middleware(['bloginauth'])->group(function () { | ||
| 154 | //ai | 154 | //ai |
| 155 | Route::any('/news/', [\App\Http\Controllers\Bside\Ai\AiNewsController::class, 'save'])->name('ai_news_save'); | 155 | Route::any('/news/', [\App\Http\Controllers\Bside\Ai\AiNewsController::class, 'save'])->name('ai_news_save'); |
| 156 | Route::any('/blog/', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'save'])->name('ai_blog_save'); | 156 | Route::any('/blog/', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'save'])->name('ai_blog_save'); |
| 157 | + Route::any('/blog/sendTask', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'sendTask'])->name('ai_blog_sendTask'); | ||
| 157 | Route::any('/product/', [\App\Http\Controllers\Bside\Ai\AiProductController::class, 'save'])->name('ai_product_save'); | 158 | Route::any('/product/', [\App\Http\Controllers\Bside\Ai\AiProductController::class, 'save'])->name('ai_product_save'); |
| 158 | Route::any('/product/productList', [\App\Http\Controllers\Bside\Ai\AiProductController::class, 'productList'])->name('ai_product_productList'); | 159 | Route::any('/product/productList', [\App\Http\Controllers\Bside\Ai\AiProductController::class, 'productList'])->name('ai_product_productList'); |
| 159 | Route::any('/product/productCateList', [\App\Http\Controllers\Bside\Ai\AiProductController::class, 'productCateList'])->name('ai_product_productCateList'); | 160 | Route::any('/product/productCateList', [\App\Http\Controllers\Bside\Ai\AiProductController::class, 'productCateList'])->name('ai_product_productCateList'); |
-
请 注册 或 登录 后发表评论