作者 lyh

gx

... ... @@ -307,4 +307,21 @@ class BlogController extends BaseController
$logic->batchSetCategory();
$this->response('success');
}
/**
* @remark :复制新闻
* @name :copyNews
* @author :lyh
* @method :post
* @time :2024/4/28 11:53
*/
public function copyBlog(BlogLogic $blog){
$this->request->validate([
'id'=>'required',
],[
'id.required' => 'id不能为空',
]);
$blog->copyBlogInfo();
$this->response('success');
}
}
... ...
... ... @@ -338,7 +338,13 @@ class NewsController extends BaseController
* @method :post
* @time :2024/4/28 11:53
*/
public function copyNews(NewsModel $news){
public function copyNews(NewsLogic $news){
$this->request->validate([
'id'=>'required',
],[
'id.required' => 'id不能为空',
]);
$news->copyNewsInfo();
$this->response('success');
}
}
... ...
... ... @@ -433,6 +433,11 @@ class ProductController extends BaseController
* @time :2023/7/29 14:59
*/
public function copyProduct(ProductLogic $logic){
$this->request->validate([
'id'=>'required',
],[
'id.required' => 'id不能为空',
]);
$data = $logic->setCopyProduct();
$this->response('success',Code::SUCCESS,$data);
}
... ...
... ... @@ -6,6 +6,7 @@ use App\Http\Logic\Bside\BaseLogic;
use App\Models\Blog\Blog;
use App\Models\Blog\BlogCategory as BlogCategoryModel;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\BTemplate;
use App\Services\CosService;
use Illuminate\Support\Facades\DB;
... ... @@ -399,4 +400,70 @@ class BlogLogic extends BaseLogic
}
return $this->success();
}
/**
* @remark :复制新闻
* @name :copyNewsInfo
* @author :lyh
* @method :post
* @time :2024/4/28 14:51
*/
public function copyBlogInfo(){
$info = $this->model->read(['id'=>$this->param['id']]);
$param = [
'name'=>$info['name']."-copy",
'status'=>$info['status'],
'sort'=>$info['sort'],
'category_id'=>$info['category_id'],
'text'=>$info['text'],
'remark'=>$info['remark'],
'url'=>$info['url'],
'image'=>$info['image'],
'project_id'=>$info['project_id'],
'operator_id'=>$this->user['id'],
'create_id'=>$this->user['id'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
$save_id = $this->model->insertGetId($param);
$route = RouteMap::setRoute($param['route'], RouteMap::SOURCE_BLOG, $save_id, $this->user['project_id']);
$this->model->edit(['route'=>$route],['id'=>$save_id]);
//同步可视化装修数据
$this->copyTemplate($this->param['id'],$info['project_id'],$save_id);
return $this->success(['id'=>$save_id]);
}
/**
* @remark :同步模版数据
* @name :copyTemplate
* @author :lyh
* @method :post
* @time :2023/7/29 15:53
*/
public function copyTemplate($id,$project_id,$save_id){
$BTemplateModel = new BTemplate();
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_BLOG,'source_id'=>$id,'project_id'=>$project_id]);
if(!empty($list)){
$data = [];
foreach ($list as $v){
$data[] = [
'html'=>$v['html'],
'project_id'=>$project_id,
'source'=>$v['source'],
'source_id'=>$save_id,
'template_id'=>$v['template_id'],
'section_list_id'=>$v['section_list_id'],
'main_html'=>$v['main_html'],
'main_css'=>$v['main_css'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
}
$rs = $BTemplateModel->insert($data);
if($rs === false){
$this->fail('error');
}
}
return $this->success();
}
}
... ...
... ... @@ -9,6 +9,7 @@ use App\Models\News\News;
use App\Models\News\NewsCategory;
use App\Models\News\NewsCategory as NewsCategoryModel;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\BTemplate;
use App\Services\CosService;
use Illuminate\Support\Facades\DB;
use mysql_xdevapi\Exception;
... ... @@ -444,4 +445,70 @@ class NewsLogic extends BaseLogic
}
return $this->success();
}
/**
* @remark :复制新闻
* @name :copyNewsInfo
* @author :lyh
* @method :post
* @time :2024/4/28 14:51
*/
public function copyNewsInfo(){
$info = $this->model->read(['id'=>$this->param['id']]);
$param = [
'name'=>$info['name']."-copy",
'status'=>$info['status'],
'sort'=>$info['sort'],
'category_id'=>$info['category_id'],
'text'=>$info['text'],
'remark'=>$info['remark'],
'url'=>$info['url'],
'image'=>$info['image'],
'project_id'=>$info['project_id'],
'operator_id'=>$this->user['id'],
'create_id'=>$this->user['id'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
$save_id = $this->model->insertGetId($param);
$route = RouteMap::setRoute($param['route'], RouteMap::SOURCE_NEWS, $save_id, $this->user['project_id']);
$this->model->edit(['route'=>$route],['id'=>$save_id]);
//同步可视化装修数据
$this->copyTemplate($this->param['id'],$info['project_id'],$save_id);
return $this->success(['id'=>$save_id]);
}
/**
* @remark :同步模版数据
* @name :copyTemplate
* @author :lyh
* @method :post
* @time :2023/7/29 15:53
*/
public function copyTemplate($id,$project_id,$save_id){
$BTemplateModel = new BTemplate();
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_NEWS,'source_id'=>$id,'project_id'=>$project_id]);
if(!empty($list)){
$data = [];
foreach ($list as $v){
$data[] = [
'html'=>$v['html'],
'project_id'=>$project_id,
'source'=>$v['source'],
'source_id'=>$save_id,
'template_id'=>$v['template_id'],
'section_list_id'=>$v['section_list_id'],
'main_html'=>$v['main_html'],
'main_css'=>$v['main_css'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
}
$rs = $BTemplateModel->insert($data);
if($rs === false){
$this->fail('error');
}
}
return $this->success();
}
}
... ...
... ... @@ -84,6 +84,7 @@ Route::middleware(['bloginauth'])->group(function () {
//新闻
Route::any('/', [\App\Http\Controllers\Bside\News\NewsController::class, 'lists'])->name('news_category_lists');
Route::any('/newsNoPage', [\App\Http\Controllers\Bside\News\NewsController::class, 'newsNoPage'])->name('news_newsNoPage');
Route::any('/copyNews', [\App\Http\Controllers\Bside\News\NewsController::class, 'copyNews'])->name('news_copyNews');
Route::any('/get_category_list', [\App\Http\Controllers\Bside\News\NewsController::class, 'get_category_list'])->name('news_get_category_list');
Route::any('/add', [\App\Http\Controllers\Bside\News\NewsController::class, 'save'])->name('news_add');
Route::any('/edit_seo', [\App\Http\Controllers\Bside\News\NewsController::class, 'edit_seo'])->name('news_edit_seo');
... ... @@ -112,6 +113,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/sort', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'sort'])->name('blog_sort');
Route::any('/allSort', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'allSort'])->name('blog_allSort');
Route::any('/batchSetCategory', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'batchSetCategory'])->name('blog_batchSetCategory');
Route::any('/copyBlog', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'copyBlog'])->name('blog_copyBlog');
Route::any('/statusNum', [\App\Http\Controllers\Bside\Blog\BlogController::class, 'getStatusNumber'])->name('blog_statusNum');
//分类
Route::any('/category/', [\App\Http\Controllers\Bside\Blog\BlogCategoryController::class, 'lists'])->name('blog_category_lists');
... ...