作者 李宇航

合并分支 'lyh-server' 到 'master'

Lyh server



查看合并请求 !2810
... ... @@ -214,4 +214,32 @@ class AiBlogController extends BaseController
$info['image'] = getImageUrl($info['image']);
$this->response('success',Code::SUCCESS,$info);
}
/**
* @remark :保存自定义Blog
* @name :customSaveBlog
* @author :lyh
* @method :post
* @time :2025/9/16 10:43
*/
public function customSaveBlog(AiBlogLogic $aiBlogLogic)
{
$this->request->validate([
'new_title'=>['required'],
'image'=>['required'],
'author_id'=>['required'],
'text'=>['required'],
'description'=>['required'],
'route'=>['required'],
],[
'new_title.required' => '标题不能为空',
'image.required' => '缩略图不能为空',
'author_id.required' => '作者id不能为空',
'text.required' => '作者id不能为空',
'description.required' => '短描述不能为空',
'route.required' => '路由不能为空',
]);
$data = $aiBlogLogic->customSaveBlog($this->param);
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
... ... @@ -178,7 +178,6 @@ class InquiryController extends BaseController
],[
'id.required' => 'ID不能为空'
]);
if(!empty($this->param['form_id'])){
$data = $logic->getFormDataInfo($this->param['id'], $this->param['form_id']);
}elseif(($this->param['type']??'') == 'other'){
... ...
... ... @@ -160,4 +160,46 @@ class AiBlogLogic extends BaseLogic
return $this->success();
}
/**
* @remark :保存自定义
* @name :customSaveBlog
* @author :lyh
* @method :post
* @time :2025/9/16 11:43
*/
public function customSaveBlog($param)
{
try {
//处理路由
if(empty($param['route'])){
$param['route'] = generateRoute(Translate::tran($param['new_title'], 'en'));
}
RouteMap::setRoute($param['route'], RouteMap::SOURCE_AI_BLOG, $param['id'], $this->user['project_id']);
$data = [
'title'=>$param['new_title'],
'thumb'=>$param['image'],
'foreword'=>$param['description'],
'author_id'=>$this->param['author_id'],
'url'=>$param['route'],
];
if(isset($param['id']) && !empty($param['id'])){
$data['task_id'] = $param['task_id'];
$this->model->edit($param,['id'=>$param['id']]);
$id = $param['id'];
}else{
$param['uuid'] = md5(date('YmdHis').rand(100,999).$this->user['project_id']);
$id = $this->model->addReturnId($param);
}
}catch (\Exception $e){
$this->fail('保存失败,请联系管理员');
}
$aiBlogService = new AiBlogService($this->user['project_id']);
$result = $aiBlogService->createCustomBlog($data);
if($result['status'] == 200){
$this->model->edit(['task_id'=>$result['data']['task_id']],['id'=>$id]);
}
//todo::更新列表页
// shell_exec("php artisan save_ai_blog_list {$this->user['project_id']} > /dev/null 2>&1 &");
return $this->success();
}
}
... ...
... ... @@ -270,4 +270,21 @@ class AiBlogService
$result = http_post($request_url,json_encode($param,true));
return $result;
}
/**
* @remark :自定义博客
* @name :createCustomBlog
* @author :lyh
* @method :post
* @time :2025/9/16 13:41
*/
public function createCustomBlog($param)
{
$request_url = $this->url.'api/result/save_customer_article';
$param['mch_id'] = $this->mch_id;
$this->sign = $this->generateSign($param,$this->key);
$param['sign'] = $this->sign;
$result = http_post($request_url,json_encode($param,true));
return $result;
}
}
... ...
... ... @@ -180,6 +180,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/blog/getAuthorInfo', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'getAuthorInfo'])->name('ai_blog_getAuthorInfo');
Route::any('/blog/saveBlogAuthor', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'saveBlogAuthor'])->name('ai_blog_saveBlogAuthor');
Route::any('/blog/getInfo', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'getInfo'])->name('ai_blog_getInfo');
Route::any('/blog/customSaveBlog', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'customSaveBlog'])->name('ai_blog_customSaveBlog');
Route::any('/blog/getAiBlogList', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'getAiBlogList'])->name('ai_blog_getAiBlogList');
Route::any('/blog/getAiBlogListInfo', [\App\Http\Controllers\Bside\Ai\AiBlogController::class, 'getAiBlogListInfo'])->name('ai_blog_getAiBlogListInfo');
Route::any('/product/', [\App\Http\Controllers\Bside\Ai\AiProductController::class, 'save'])->name('ai_product_save');
... ...