作者 lyh

变更数据

@@ -230,14 +230,12 @@ class AiBlogController extends BaseController @@ -230,14 +230,12 @@ class AiBlogController extends BaseController
230 'author_id'=>['required'], 230 'author_id'=>['required'],
231 'text'=>['required'], 231 'text'=>['required'],
232 'description'=>['required'], 232 'description'=>['required'],
233 - 'route'=>['required'],  
234 ],[ 233 ],[
235 'new_title.required' => '标题不能为空', 234 'new_title.required' => '标题不能为空',
236 'image.required' => '缩略图不能为空', 235 'image.required' => '缩略图不能为空',
237 'author_id.required' => '作者id不能为空', 236 'author_id.required' => '作者id不能为空',
238 'text.required' => '作者id不能为空', 237 'text.required' => '作者id不能为空',
239 'description.required' => '短描述不能为空', 238 'description.required' => '短描述不能为空',
240 - 'route.required' => '路由不能为空',  
241 ]); 239 ]);
242 $data = $aiBlogLogic->customSaveBlog($this->param); 240 $data = $aiBlogLogic->customSaveBlog($this->param);
243 $this->response('success',Code::SUCCESS,$data); 241 $this->response('success',Code::SUCCESS,$data);
@@ -171,9 +171,7 @@ class AiBlogLogic extends BaseLogic @@ -171,9 +171,7 @@ class AiBlogLogic extends BaseLogic
171 { 171 {
172 try { 172 try {
173 //处理路由 173 //处理路由
174 - if(empty($param['route'])){  
175 - $param['route'] = generateRoute(Translate::tran($param['new_title'], 'en'));  
176 - } 174 + $param['route'] = generateRoute(Translate::tran($param['route'] ?? $param['new_title'], 'en'));
177 //推送到ai的数据结构 175 //推送到ai的数据结构
178 $data = [ 176 $data = [
179 'title'=>$param['new_title'], 'thumb'=>$param['image'], 'foreword'=>$param['description'], 177 'title'=>$param['new_title'], 'thumb'=>$param['image'], 'foreword'=>$param['description'],
@@ -47,6 +47,7 @@ class BlogLogic extends BaseLogic @@ -47,6 +47,7 @@ class BlogLogic extends BaseLogic
47 $this->edit(['url'=>$route],['id'=>$id]); 47 $this->edit(['url'=>$route],['id'=>$id]);
48 $this->curlDelRoute(['new_route'=>$route]); 48 $this->curlDelRoute(['new_route'=>$route]);
49 } 49 }
  50 + $this->model->saveExtendInfo($id,$this->param['extend'] ?? [],$this->user['project_id']);
50 $this->addUpdateNotify(RouteMap::SOURCE_BLOG,$route); 51 $this->addUpdateNotify(RouteMap::SOURCE_BLOG,$route);
51 return $this->success(['id'=>$id]); 52 return $this->success(['id'=>$id]);
52 } 53 }
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 namespace App\Models\Blog; 3 namespace App\Models\Blog;
4 4
5 use App\Models\Base; 5 use App\Models\Base;
  6 +use App\Models\News\NewsExtendInfo;
6 use App\Models\User\User; 7 use App\Models\User\User;
7 8
8 class Blog extends Base 9 class Blog extends Base
@@ -22,6 +23,57 @@ class Blog extends Base @@ -22,6 +23,57 @@ class Blog extends Base
22 } 23 }
23 return $value; 24 return $value;
24 } 25 }
  26 +
  27 + /**
  28 + * @remark :保存扩展字段
  29 + * @name :saveExtend
  30 + * @author :lyh
  31 + * @method :post
  32 + * @time :2023/11/9 15:02
  33 + */
  34 + public function saveExtendInfo($news_id,$extend,$project_id){
  35 + //先删除以前的数据
  36 + $extendInfoModel = new NewsExtendInfo();
  37 + $extendInfoModel->del(['news_id'=>$news_id]);
  38 + if(empty($extend)) {
  39 + return true;
  40 + }
  41 + foreach ($extend as $k => $v){
  42 + if(empty($v['values'])){
  43 + continue;
  44 + }
  45 + $v = $this->saveHandleExtend($v,$news_id,$project_id);
  46 + $extendInfoModel->add($v);
  47 + }
  48 + return true;
  49 + }
  50 +
  51 + /**
  52 + * @remark :保存扩展字段时处理数据
  53 + * @name :saveHandleExtend
  54 + * @author :lyh
  55 + * @method :post
  56 + * @time :2023/12/6 15:11
  57 + */
  58 + public function saveHandleExtend(&$v,$news_id,$project_id){
  59 + unset($v['title']);
  60 + if($v['type'] == 3){
  61 + foreach ($v['values'] as $k1=>$v1){
  62 + $v1['url'] = str_replace_url($v1['url']);
  63 + $v['values'][$k1] = $v1;
  64 + }
  65 + $v['values'] = json_encode($v['values']);
  66 + }elseif ($v['type'] == 4){
  67 + foreach ($v['values'] as $k1=>$v1){
  68 + $v1['url'] = str_replace_url($v1['url']);
  69 + $v['values'][$k1] = $v1;
  70 + }
  71 + $v['values'] = json_encode($v['values']);
  72 + }
  73 + $v['project_id'] = $project_id;
  74 + $v['news_id'] = $news_id;
  75 + return $v;
  76 + }
25 } 77 }
26 78
27 79
@@ -141,13 +141,18 @@ Route::middleware(['bloginauth'])->group(function () { @@ -141,13 +141,18 @@ Route::middleware(['bloginauth'])->group(function () {
141 Route::any('/category/sort', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'sort'])->name('blog_category_sort'); 141 Route::any('/category/sort', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'sort'])->name('blog_category_sort');
142 Route::any('/category/categoryTopList', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'categoryTopList'])->name('blog_category_categoryTopList'); 142 Route::any('/category/categoryTopList', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'categoryTopList'])->name('blog_category_categoryTopList');
143 //博客标签 143 //博客标签
144 - Route::any('/label/', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'lists'])->name('blog_lists');  
145 - Route::any('/label/add', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'add'])->name('blog_add');  
146 - Route::any('/label/info', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'info'])->name('blog_info');  
147 - Route::any('/label/edit', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'edit'])->name('blog_edit');  
148 - Route::any('/label/del', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'del'])->name('blog_del');  
149 - Route::any('/label/batchAdd', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'batchAdd'])->name('blog_batchAdd');  
150 - Route::any('/label/status', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'status'])->name('blog_status'); 144 + Route::any('/label/', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'lists'])->name('blog_label_lists');
  145 + Route::any('/label/add', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'add'])->name('blog_label_add');
  146 + Route::any('/label/info', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'info'])->name('blog_label_info');
  147 + Route::any('/label/edit', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'edit'])->name('blog_label_edit');
  148 + Route::any('/label/del', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'del'])->name('blog_label_del');
  149 + Route::any('/label/batchAdd', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'batchAdd'])->name('blog_label_batchAdd');
  150 + Route::any('/label/status', [\App\Http\Controllers\Bside\Blog\BlogLabelController::class, 'status'])->name('blog_label_status');
  151 + //扩展字段
  152 + Route::any('/extend/', [\App\Http\Controllers\Bside\Blog\BlogExtendController::class, 'lists'])->name('blog_extend_lists');
  153 + Route::any('/extend/save', [\App\Http\Controllers\Bside\Blog\BlogExtendController::class, 'save'])->name('blog_extend_save');
  154 + Route::any('/extend/status', [\App\Http\Controllers\Bside\Blog\BlogExtendController::class, 'status'])->name('blog_extend_status');
  155 + Route::any('/extend/del', [\App\Http\Controllers\Bside\Blog\BlogExtendController::class, 'del'])->name('blog_extend_del');
151 }); 156 });
152 //ai指令 157 //ai指令
153 Route::prefix('command')->group(function () { 158 Route::prefix('command')->group(function () {