正在显示
4 个修改的文件
包含
99 行增加
和
1 行删除
| @@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||
| 2 | 2 | ||
| 3 | namespace App\Console\Commands\Import; | 3 | namespace App\Console\Commands\Import; |
| 4 | 4 | ||
| 5 | +use App\Http\Logic\Bside\Blog\BlogLogic; | ||
| 5 | use App\Http\Logic\Bside\News\NewsLogic; | 6 | use App\Http\Logic\Bside\News\NewsLogic; |
| 6 | use App\Models\Import\ImportTask; | 7 | use App\Models\Import\ImportTask; |
| 7 | use App\Services\ProjectServer; | 8 | use App\Services\ProjectServer; |
| @@ -80,6 +81,11 @@ class ProjectImport extends Command | @@ -80,6 +81,11 @@ class ProjectImport extends Command | ||
| 80 | $success_count += 1; | 81 | $success_count += 1; |
| 81 | } | 82 | } |
| 82 | } | 83 | } |
| 84 | + if ($task->type == ImportTask::TYPE_BLOG) { | ||
| 85 | + if ((new BlogLogic())->importBlog($task->project_id, $task->user_id, $v)) { | ||
| 86 | + $success_count += 1; | ||
| 87 | + } | ||
| 88 | + } | ||
| 83 | } | 89 | } |
| 84 | } | 90 | } |
| 85 | } | 91 | } |
| @@ -289,4 +289,48 @@ class BlogCategoryLogic extends BaseLogic | @@ -289,4 +289,48 @@ class BlogCategoryLogic extends BaseLogic | ||
| 289 | $this->setRouteDeleteSave($data); | 289 | $this->setRouteDeleteSave($data); |
| 290 | return $this->success(); | 290 | return $this->success(); |
| 291 | } | 291 | } |
| 292 | + | ||
| 293 | + /** | ||
| 294 | + * 新闻导入:分类处理 | ||
| 295 | + * @param $project_id | ||
| 296 | + * @param $user_id | ||
| 297 | + * @param $category | ||
| 298 | + * @return string | ||
| 299 | + * @throws \Exception | ||
| 300 | + * @author Akun | ||
| 301 | + * @date 2023/09/20 17:35 | ||
| 302 | + */ | ||
| 303 | + public function importBlogCategory($project_id,$user_id,$category){ | ||
| 304 | + $return = []; | ||
| 305 | + | ||
| 306 | + $cate_arr = explode('/',$category); | ||
| 307 | + $p_cate = $cate_arr[0]; | ||
| 308 | + $c_cate = $cate_arr[1]; | ||
| 309 | + | ||
| 310 | + $p_category = $this->model->read(['name'=>$p_cate,'pid'=>0]); | ||
| 311 | + if(!$p_category){ | ||
| 312 | + $p_id = $this->model->addReturnId(['name'=>$p_cate,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]); | ||
| 313 | + | ||
| 314 | + $route = RouteMap::setRoute($p_cate, RouteMap::SOURCE_NEWS_CATE, $p_id, $project_id); | ||
| 315 | + $this->model->edit(['alias'=>$route],['id'=>$p_id]); | ||
| 316 | + }else{ | ||
| 317 | + $p_id = $p_category['id']; | ||
| 318 | + } | ||
| 319 | + $return[] = $p_id; | ||
| 320 | + | ||
| 321 | + if($c_cate){ | ||
| 322 | + $c_category = $this->model->read(['name'=>$c_cate,'pid'=>$p_id]); | ||
| 323 | + if(!$c_category){ | ||
| 324 | + $c_id = $this->model->addReturnId(['name'=>$c_cate,'pid'=>$p_id,'project_id'=>$project_id,'operator_id'=>$user_id,'create_id'=>$user_id]); | ||
| 325 | + | ||
| 326 | + $route = RouteMap::setRoute($c_cate, RouteMap::SOURCE_NEWS_CATE, $c_id, $project_id); | ||
| 327 | + $this->model->edit(['alias'=>$route],['id'=>$c_id]); | ||
| 328 | + }else{ | ||
| 329 | + $c_id = $c_category['id']; | ||
| 330 | + } | ||
| 331 | + $return[] = $c_id; | ||
| 332 | + } | ||
| 333 | + | ||
| 334 | + return ','.implode(',',$return).','; | ||
| 335 | + } | ||
| 292 | } | 336 | } |
| @@ -8,6 +8,7 @@ use App\Http\Logic\Bside\BaseLogic; | @@ -8,6 +8,7 @@ use App\Http\Logic\Bside\BaseLogic; | ||
| 8 | use App\Models\Blog\Blog; | 8 | use App\Models\Blog\Blog; |
| 9 | use App\Models\Blog\BlogCategory as BlogCategoryModel; | 9 | use App\Models\Blog\BlogCategory as BlogCategoryModel; |
| 10 | use App\Models\RouteMap\RouteMap; | 10 | use App\Models\RouteMap\RouteMap; |
| 11 | +use App\Services\CosService; | ||
| 11 | use Illuminate\Support\Facades\DB; | 12 | use Illuminate\Support\Facades\DB; |
| 12 | 13 | ||
| 13 | class BlogLogic extends BaseLogic | 14 | class BlogLogic extends BaseLogic |
| @@ -257,4 +258,50 @@ class BlogLogic extends BaseLogic | @@ -257,4 +258,50 @@ class BlogLogic extends BaseLogic | ||
| 257 | return $this->success(); | 258 | return $this->success(); |
| 258 | } | 259 | } |
| 259 | 260 | ||
| 261 | + /** | ||
| 262 | + * 博客导入 | ||
| 263 | + * @param $project_id | ||
| 264 | + * @param $user_id | ||
| 265 | + * @param $data | ||
| 266 | + * @return bool | ||
| 267 | + * @throws \Exception | ||
| 268 | + * @author Akun | ||
| 269 | + * @date 2023/09/20 17:51 | ||
| 270 | + */ | ||
| 271 | + public function importBlog($project_id, $user_id, $data) | ||
| 272 | + { | ||
| 273 | + $category_id = ''; | ||
| 274 | + if ($data[2]) { | ||
| 275 | + //处理分类 | ||
| 276 | + $blogCategoryLogic = new BlogCategoryLogic(); | ||
| 277 | + $category_id = $blogCategoryLogic->importBlogCategory($project_id, $user_id, $data[2]); | ||
| 278 | + } | ||
| 279 | + | ||
| 280 | + $news = $this->model->read(['name' => $data[0]]); | ||
| 281 | + if (!$news) { | ||
| 282 | + $id = $this->model->addReturnId( | ||
| 283 | + [ | ||
| 284 | + 'name' => $data[0], | ||
| 285 | + 'category_id' => $category_id, | ||
| 286 | + 'text' => $data[4] ?? '', | ||
| 287 | + 'remark' => $data[3] ?? '', | ||
| 288 | + 'image' => $data['5'] ? CosService::uploadRemote($project_id, 'image_blog', $data[5]) : '', | ||
| 289 | + 'seo_title' => $data[6] ?? '', | ||
| 290 | + 'seo_keywords' => $data[7] ?? '', | ||
| 291 | + 'seo_description' => $data[8] ?? '', | ||
| 292 | + 'project_id' => $project_id, | ||
| 293 | + 'operator_id' => $user_id, | ||
| 294 | + 'create_id' => $user_id, | ||
| 295 | + 'status' => Blog::STATUS_ONE | ||
| 296 | + ] | ||
| 297 | + ); | ||
| 298 | + //更新路由 | ||
| 299 | + $route = RouteMap::setRoute($data[1] ?: $data[0], RouteMap::SOURCE_NEWS, $id, $project_id); | ||
| 300 | + $this->edit(['url' => $route], ['id' => $id]); | ||
| 301 | + | ||
| 302 | + return true; | ||
| 303 | + } | ||
| 304 | + | ||
| 305 | + return false; | ||
| 306 | + } | ||
| 260 | } | 307 | } |
| @@ -290,7 +290,8 @@ class NewsLogic extends BaseLogic | @@ -290,7 +290,8 @@ class NewsLogic extends BaseLogic | ||
| 290 | 'seo_description' => $data[8] ?? '', | 290 | 'seo_description' => $data[8] ?? '', |
| 291 | 'project_id' => $project_id, | 291 | 'project_id' => $project_id, |
| 292 | 'operator_id' => $user_id, | 292 | 'operator_id' => $user_id, |
| 293 | - 'create_id' => $user_id | 293 | + 'create_id' => $user_id, |
| 294 | + 'status' => News::STATUS_ONE | ||
| 294 | ] | 295 | ] |
| 295 | ); | 296 | ); |
| 296 | //更新路由 | 297 | //更新路由 |
-
请 注册 或 登录 后发表评论