作者 lyh

gx

... ... @@ -255,4 +255,16 @@ class CustomModuleContentController extends BaseController
$logic->setAllSort();
$this->response('success');
}
/**
* @remark :复制扩展模块
* @name :copyModuleContent
* @author :lyh
* @method :post
* @time :2024/4/28 16:31
*/
public function copyModuleContent(CustomModuleContentLogic $logic){
$logic->copyModuleContentInfo();
$this->response('success');
}
}
... ...
... ... @@ -156,4 +156,21 @@ class CustomTemplateController extends BaseController
$logic->saveRollbackVersion();
$this->response('success');
}
/**
* @remark :复制单页
* @name :copyCustomTemplate
* @author :lyh
* @method :post
* @time :2024/4/28 16:13
*/
public function copyCustomTemplate(CustomTemplateLogic $logic){
$this->request->validate([
'id'=>['required'],
],[
'id.required' => 'ID不能为空',
]);
$logic->copyCustomTemplateInfo();
$this->response('success');
}
}
... ...
... ... @@ -395,7 +395,44 @@ class CustomTemplateLogic extends BaseLogic
}else{
$this->model->edit(['html'=>$logInfo['text']],['id'=>$logInfo['source_id']]);
}
return $this->success();
}
/**
* @remark :复制单页面
* @name :copyCustomTemplateInfo
* @author :lyh
* @method :post
* @time :2024/4/28 16:16
*/
public function copyCustomTemplateInfo(){
$info = $this->model->read(['id'=>$this->param['id']]);
$param = $this->setCustomTemplateParams($info);
$save_id = $this->model->insertGetId($param);
$route = RouteMap::setRoute($param['url'], RouteMap::SOURCE_PRODUCT, $save_id, $this->user['project_id']);
$this->model->edit(['route'=>$route],['id'=>$save_id]);
return $this->success(['id'=>$save_id]);
}
/**
* @remark :组装数据
* @name :setCustomTemplateParams
* @author :lyh
* @method :post
* @time :2024/4/28 16:18
*/
public function setCustomTemplateParams($info){
return [
'name'=>$info['name'].'-copy',
'status'=>$info['status'],
'url'=>$info['url'],
'html'=>$info['html'],
'html_style'=>$info['html_style'],
'project_id'=>$info['project_id'],
'section_list_id'=>$info['section_list_id'],
'is_visualization'=>$info['is_visualization'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
}
}
... ...
... ... @@ -16,6 +16,7 @@ use App\Models\CustomModule\CustomModuleContent;
use App\Models\CustomModule\CustomModuleExtend;
use App\Models\CustomModule\CustomModuleExtentContent;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\BTemplate;
use Illuminate\Support\Facades\DB;
use mysql_xdevapi\Exception;
... ... @@ -391,4 +392,92 @@ class CustomModuleContentLogic extends BaseLogic
}
return $this->success();
}
/**
* @remark :复制扩展模块内容页
* @name :copyModuleContentInfo
* @author :lyh
* @method :post
* @time :2024/4/28 16:32
*/
public function copyModuleContentInfo(){
$info = $this->model->read(['id'=>$this->param['id']]);
$param = $this->setContentParams($info);
$save_id = $this->model->insertGetId($param);
$this->copyTemplate($this->param['id'],$info['project_id'],$save_id,$info['module_id']);
$this->response('success');
}
/**
* @remark :字段处理
* @name :setContentParams
* @author :lyh
* @method :post
* @time :2024/4/28 16:33
*/
public function setContentParams($info){
return [
'name'=>$info['name'].'-copy',
'status'=>$info['status'],
'sort'=>$info['sort'],
'content'=>$info['content'],
'remark'=>$info['remark'],
'route'=>$info['route'],
'image'=>$info['image'],
'project_id'=>$info['project_id'],
'operator_id'=>$this->user['id'],
'module_id'=>$info['module_id'],
'category_id'=>!empty($info['category_id']) ? ','.Arr::arrToSet($info['category_id']).',' : '',
'video'=>Arr::a2s($info['video']),
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s')
];
}
/**
* @remark :同步模版数据
* @name :copyTemplate
* @author :lyh
* @method :post
* @time :2023/7/29 15:53
*/
public function copyTemplate($id,$project_id,$save_id,$module_id){
$BTemplateModel = new BTemplate();
$list = $BTemplateModel->list(['source'=>$module_id,'source_id'=>$id,'is_custom'=>BTemplate::IS_CUSTOM,'project_id'=>$project_id]);
if(!empty($list)){
$data = [];
foreach ($list as $v){
$data[] = $this->setTemplateParams($v,$project_id,$save_id);
}
$rs = $BTemplateModel->insert($data);
if($rs === false){
$this->fail('error');
}
}
return $this->success();
}
/**
* @remark :组装模版数据
* @name :setTemplateParams
* @author :lyh
* @method :post
* @time :2023/7/29 15:54
*/
public function setTemplateParams($v,$project_id,$save_id){
$param = [
'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'],
'is_custom'=>$v['is_custom'],
'created_at'=>$v['created_at'],
'updated_at'=>$v['updated_at']
];
return $this->success($param);
}
}
... ...
... ... @@ -402,6 +402,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/del', [\App\Http\Controllers\Bside\Template\CustomTemplateController::class, 'del'])->name('custom_del');
Route::any('/rollbackVersion', [\App\Http\Controllers\Bside\Template\CustomTemplateController::class, 'rollbackVersion'])->name('custom_rollbackVersion');
Route::any('/getCustomTemplateLog', [\App\Http\Controllers\Bside\Template\CustomTemplateController::class, 'getCustomTemplateLog'])->name('custom_getCustomTemplateLog');
Route::any('/copyCustomTemplate', [\App\Http\Controllers\Bside\Template\CustomTemplateController::class, 'copyCustomTemplate'])->name('custom_copyCustomTemplate');
});
// 菜单组
Route::prefix('nav_group')->group(function () {
... ...