正在显示
7 个修改的文件
包含
122 行增加
和
7 行删除
| @@ -177,4 +177,21 @@ class CategoryController extends BaseController | @@ -177,4 +177,21 @@ class CategoryController extends BaseController | ||
| 177 | $logic->setAllSort(); | 177 | $logic->setAllSort(); |
| 178 | $this->response('success'); | 178 | $this->response('success'); |
| 179 | } | 179 | } |
| 180 | + | ||
| 181 | + /** | ||
| 182 | + * @remark :复制分类 | ||
| 183 | + * @name :copyCategory | ||
| 184 | + * @author :lyh | ||
| 185 | + * @method :post | ||
| 186 | + * @time :2024/5/8 17:49 | ||
| 187 | + */ | ||
| 188 | + public function copyCategory(CategoryLogic $logic){ | ||
| 189 | + $this->request->validate([ | ||
| 190 | + 'id'=>['required'], | ||
| 191 | + ],[ | ||
| 192 | + 'id.required' => 'ID不能为空', | ||
| 193 | + ]); | ||
| 194 | + $logic->copyCategoryInfo(); | ||
| 195 | + $this->response('success'); | ||
| 196 | + } | ||
| 180 | } | 197 | } |
| @@ -453,7 +453,7 @@ class BlogLogic extends BaseLogic | @@ -453,7 +453,7 @@ class BlogLogic extends BaseLogic | ||
| 453 | */ | 453 | */ |
| 454 | public function copyTemplate($id,$project_id,$save_id){ | 454 | public function copyTemplate($id,$project_id,$save_id){ |
| 455 | $BTemplateModel = new BTemplate(); | 455 | $BTemplateModel = new BTemplate(); |
| 456 | - $list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_BLOG,'source_id'=>$id,'project_id'=>$project_id]); | 456 | + $list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_BLOG,'source_id'=>$id,'is_list'=>BTemplate::IS_DETAIL,'is_custom'=>BTemplate::IS_NO_CUSTOM,'project_id'=>$project_id]); |
| 457 | if(!empty($list)){ | 457 | if(!empty($list)){ |
| 458 | $data = []; | 458 | $data = []; |
| 459 | foreach ($list as $v){ | 459 | foreach ($list as $v){ |
| @@ -466,6 +466,7 @@ class BlogLogic extends BaseLogic | @@ -466,6 +466,7 @@ class BlogLogic extends BaseLogic | ||
| 466 | 'section_list_id'=>$v['section_list_id'], | 466 | 'section_list_id'=>$v['section_list_id'], |
| 467 | 'main_html'=>$v['main_html'], | 467 | 'main_html'=>$v['main_html'], |
| 468 | 'main_css'=>$v['main_css'], | 468 | 'main_css'=>$v['main_css'], |
| 469 | + 'type'=>$v['type'], | ||
| 469 | 'created_at'=>date('Y-m-d H:i:s'), | 470 | 'created_at'=>date('Y-m-d H:i:s'), |
| 470 | 'updated_at'=>date('Y-m-d H:i:s'), | 471 | 'updated_at'=>date('Y-m-d H:i:s'), |
| 471 | ]; | 472 | ]; |
| @@ -475,6 +475,8 @@ class CustomModuleContentLogic extends BaseLogic | @@ -475,6 +475,8 @@ class CustomModuleContentLogic extends BaseLogic | ||
| 475 | 'main_html'=>$v['main_html'], | 475 | 'main_html'=>$v['main_html'], |
| 476 | 'main_css'=>$v['main_css'], | 476 | 'main_css'=>$v['main_css'], |
| 477 | 'is_custom'=>$v['is_custom'], | 477 | 'is_custom'=>$v['is_custom'], |
| 478 | + 'is_list'=>$v['is_list'], | ||
| 479 | + 'type'=>$v['type'], | ||
| 478 | 'created_at'=>$v['created_at'], | 480 | 'created_at'=>$v['created_at'], |
| 479 | 'updated_at'=>$v['updated_at'] | 481 | 'updated_at'=>$v['updated_at'] |
| 480 | ]; | 482 | ]; |
| @@ -497,7 +497,7 @@ class NewsLogic extends BaseLogic | @@ -497,7 +497,7 @@ class NewsLogic extends BaseLogic | ||
| 497 | */ | 497 | */ |
| 498 | public function copyTemplate($id,$project_id,$save_id){ | 498 | public function copyTemplate($id,$project_id,$save_id){ |
| 499 | $BTemplateModel = new BTemplate(); | 499 | $BTemplateModel = new BTemplate(); |
| 500 | - $list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_NEWS,'source_id'=>$id,'project_id'=>$project_id]); | 500 | + $list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_NEWS,'is_list'=>BTemplate::IS_DETAIL,'is_custom'=>BTemplate::IS_NO_CUSTOM,'source_id'=>$id,'project_id'=>$project_id]); |
| 501 | if(!empty($list)){ | 501 | if(!empty($list)){ |
| 502 | $data = []; | 502 | $data = []; |
| 503 | foreach ($list as $v){ | 503 | foreach ($list as $v){ |
| @@ -510,6 +510,7 @@ class NewsLogic extends BaseLogic | @@ -510,6 +510,7 @@ class NewsLogic extends BaseLogic | ||
| 510 | 'section_list_id'=>$v['section_list_id'], | 510 | 'section_list_id'=>$v['section_list_id'], |
| 511 | 'main_html'=>$v['main_html'], | 511 | 'main_html'=>$v['main_html'], |
| 512 | 'main_css'=>$v['main_css'], | 512 | 'main_css'=>$v['main_css'], |
| 513 | + 'type'=>$v['type'], | ||
| 513 | 'created_at'=>date('Y-m-d H:i:s'), | 514 | 'created_at'=>date('Y-m-d H:i:s'), |
| 514 | 'updated_at'=>date('Y-m-d H:i:s'), | 515 | 'updated_at'=>date('Y-m-d H:i:s'), |
| 515 | ]; | 516 | ]; |
| @@ -9,6 +9,7 @@ use App\Models\Product\Category; | @@ -9,6 +9,7 @@ use App\Models\Product\Category; | ||
| 9 | use App\Models\Product\CategoryRelated; | 9 | use App\Models\Product\CategoryRelated; |
| 10 | use App\Models\Product\Product; | 10 | use App\Models\Product\Product; |
| 11 | use App\Models\RouteMap\RouteMap; | 11 | use App\Models\RouteMap\RouteMap; |
| 12 | +use App\Models\Template\BTemplate; | ||
| 12 | use Illuminate\Support\Facades\DB; | 13 | use Illuminate\Support\Facades\DB; |
| 13 | 14 | ||
| 14 | /** | 15 | /** |
| @@ -285,4 +286,96 @@ class CategoryLogic extends BaseLogic | @@ -285,4 +286,96 @@ class CategoryLogic extends BaseLogic | ||
| 285 | } | 286 | } |
| 286 | return $this->success(); | 287 | return $this->success(); |
| 287 | } | 288 | } |
| 289 | + | ||
| 290 | + /** | ||
| 291 | + * @remark :复制 | ||
| 292 | + * @name :copyCategoryInfo | ||
| 293 | + * @author :lyh | ||
| 294 | + * @method :post | ||
| 295 | + * @time :2024/5/8 17:51 | ||
| 296 | + */ | ||
| 297 | + public function copyCategoryInfo(){ | ||
| 298 | + $info = $this->model->read(['id'=>$this->param['id']]); | ||
| 299 | + if($info === false){ | ||
| 300 | + $this->fail('当前数据不存在或者已被删除'); | ||
| 301 | + } | ||
| 302 | + $param = $this->setCateParams($info); | ||
| 303 | + $save_id = $this->model->addReturnId($param); | ||
| 304 | + $route = RouteMap::setRoute($param['route'], RouteMap::SOURCE_PRODUCT_CATE, $save_id, $this->user['project_id']); | ||
| 305 | + $this->model->edit(['route'=>$route],['id'=>$route]); | ||
| 306 | + //同步可视化装修数据 | ||
| 307 | + $this->copyTemplate($this->param['id'],$info['project_id'],$save_id); | ||
| 308 | + return $this->success(); | ||
| 309 | + } | ||
| 310 | + | ||
| 311 | + /** | ||
| 312 | + * @remark :组装数据 | ||
| 313 | + * @name :setParams | ||
| 314 | + * @author :lyh | ||
| 315 | + * @method :post | ||
| 316 | + * @time :2023/7/29 15:45 | ||
| 317 | + */ | ||
| 318 | + public function setCateParams($info){ | ||
| 319 | + $param = [ | ||
| 320 | + 'project_id'=>$info['project_id'], | ||
| 321 | + 'title'=>$info['title']."-copy", | ||
| 322 | + 'pid'=>0, | ||
| 323 | + 'sort'=>$info['sort'], | ||
| 324 | + 'image'=>$info['image'], | ||
| 325 | + 'route'=>$info['route'], | ||
| 326 | + 'keywords'=>$info['keywords'], | ||
| 327 | + 'describe'=>$info['describe'], | ||
| 328 | + 'describe_image'=>$info['describe_image'], | ||
| 329 | + ]; | ||
| 330 | + return $param; | ||
| 331 | + } | ||
| 332 | + | ||
| 333 | + /** | ||
| 334 | + * @remark :同步模版数据 | ||
| 335 | + * @name :copyTemplate | ||
| 336 | + * @author :lyh | ||
| 337 | + * @method :post | ||
| 338 | + * @time :2023/7/29 15:53 | ||
| 339 | + */ | ||
| 340 | + public function copyTemplate($id,$project_id,$save_id){ | ||
| 341 | + $BTemplateModel = new BTemplate(); | ||
| 342 | + $list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_PRODUCT,'is_list'=>BTemplate::IS_LIST,'is_custom'=>BTemplate::IS_NO_CUSTOM,'source_id'=>$id,'project_id'=>$project_id]); | ||
| 343 | + if(!empty($list)){ | ||
| 344 | + $data = []; | ||
| 345 | + foreach ($list as $k => $v){ | ||
| 346 | + $data[] = $this->setTemplateParams($v,$save_id); | ||
| 347 | + } | ||
| 348 | + $rs = $BTemplateModel->insert($data); | ||
| 349 | + if($rs === false){ | ||
| 350 | + $this->fail('error'); | ||
| 351 | + } | ||
| 352 | + } | ||
| 353 | + return $this->success(); | ||
| 354 | + } | ||
| 355 | + | ||
| 356 | + /** | ||
| 357 | + * @remark :组装模版数据 | ||
| 358 | + * @name :setTemplateParams | ||
| 359 | + * @author :lyh | ||
| 360 | + * @method :post | ||
| 361 | + * @time :2023/7/29 15:54 | ||
| 362 | + */ | ||
| 363 | + public function setTemplateParams($v,$save_id){ | ||
| 364 | + $param = [ | ||
| 365 | + 'html'=>$v['html'], | ||
| 366 | + 'project_id'=>$v['project_id'], | ||
| 367 | + 'source'=>$v['source'], | ||
| 368 | + 'source_id'=>$save_id, | ||
| 369 | + 'template_id'=>$v['template_id'], | ||
| 370 | + 'section_list_id'=>$v['section_list_id'], | ||
| 371 | + 'main_html'=>$v['main_html'], | ||
| 372 | + 'main_css'=>$v['main_css'], | ||
| 373 | + 'is_list'=>$v['is_list'], | ||
| 374 | + 'is_custom'=>$v['is_custom'], | ||
| 375 | + 'type'=>$v['type'], | ||
| 376 | + 'created_at'=>$v['created_at'], | ||
| 377 | + 'updated_at'=>$v['updated_at'] | ||
| 378 | + ]; | ||
| 379 | + return $this->success($param); | ||
| 380 | + } | ||
| 288 | } | 381 | } |
| @@ -446,7 +446,7 @@ class ProductLogic extends BaseLogic | @@ -446,7 +446,7 @@ class ProductLogic extends BaseLogic | ||
| 446 | */ | 446 | */ |
| 447 | public function copyTemplate($id,$project_id,$save_id){ | 447 | public function copyTemplate($id,$project_id,$save_id){ |
| 448 | $BTemplateModel = new BTemplate(); | 448 | $BTemplateModel = new BTemplate(); |
| 449 | - $list = $BTemplateModel->list(['source'=>2,'source_id'=>$id,'project_id'=>$project_id]); | 449 | + $list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_PRODUCT,'is_list'=>BTemplate::IS_DETAIL,'is_custom'=>BTemplate::IS_NO_CUSTOM,'source_id'=>$id,'project_id'=>$project_id]); |
| 450 | if(!empty($list)){ | 450 | if(!empty($list)){ |
| 451 | $data = []; | 451 | $data = []; |
| 452 | foreach ($list as $k => $v){ | 452 | foreach ($list as $k => $v){ |
| @@ -477,6 +477,9 @@ class ProductLogic extends BaseLogic | @@ -477,6 +477,9 @@ class ProductLogic extends BaseLogic | ||
| 477 | 'section_list_id'=>$v['section_list_id'], | 477 | 'section_list_id'=>$v['section_list_id'], |
| 478 | 'main_html'=>$v['main_html'], | 478 | 'main_html'=>$v['main_html'], |
| 479 | 'main_css'=>$v['main_css'], | 479 | 'main_css'=>$v['main_css'], |
| 480 | + 'type'=>$v['type'], | ||
| 481 | + 'is_list'=>$v['is_list'], | ||
| 482 | + 'is_custom'=>$v['is_custom'], | ||
| 480 | 'created_at'=>$v['created_at'], | 483 | 'created_at'=>$v['created_at'], |
| 481 | 'updated_at'=>$v['updated_at'] | 484 | 'updated_at'=>$v['updated_at'] |
| 482 | ]; | 485 | ]; |
| @@ -159,8 +159,7 @@ class UserLoginLogic | @@ -159,8 +159,7 @@ class UserLoginLogic | ||
| 159 | $info['hagro'] = $project['hagro'] ?? ''; | 159 | $info['hagro'] = $project['hagro'] ?? ''; |
| 160 | $info['plan'] = Project::planMap()[$project['deploy_build']['plan']]; | 160 | $info['plan'] = Project::planMap()[$project['deploy_build']['plan']]; |
| 161 | $info['test_domain'] = $project['deploy_build']['test_domain'] ?? ''; | 161 | $info['test_domain'] = $project['deploy_build']['test_domain'] ?? ''; |
| 162 | - $info['domain'] = (!empty($project['deploy_optimize']['domain']) ? | ||
| 163 | - ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ''); | 162 | + $info['domain'] = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ($project['deploy_build']['test_domain'] ?? '')); |
| 164 | $info['is_customized'] = $project['is_customized']; | 163 | $info['is_customized'] = $project['is_customized']; |
| 165 | $info['is_upload_manage'] = $project['is_upload_manage']; | 164 | $info['is_upload_manage'] = $project['is_upload_manage']; |
| 166 | $info['is_upgrade'] = $project['is_upgrade']; | 165 | $info['is_upgrade'] = $project['is_upgrade']; |
| @@ -261,8 +260,7 @@ class UserLoginLogic | @@ -261,8 +260,7 @@ class UserLoginLogic | ||
| 261 | $info['plan'] = Project::planMap()[$project['deploy_build']['plan']]; | 260 | $info['plan'] = Project::planMap()[$project['deploy_build']['plan']]; |
| 262 | $info['is_domain'] = empty($project['deploy_optimize']['domain']) ? 0 : 1; | 261 | $info['is_domain'] = empty($project['deploy_optimize']['domain']) ? 0 : 1; |
| 263 | $info['test_domain'] = $project['deploy_build']['test_domain'] ?? ''; | 262 | $info['test_domain'] = $project['deploy_build']['test_domain'] ?? ''; |
| 264 | - $info['domain'] = (!empty($project['deploy_optimize']['domain']) ? | ||
| 265 | - ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ''); | 263 | + $info['domain'] = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ($project['deploy_build']['test_domain'] ?? '')); |
| 266 | $info['is_customized'] = $project['is_customized']; | 264 | $info['is_customized'] = $project['is_customized']; |
| 267 | $info['is_upgrade'] = $project['is_upgrade']; | 265 | $info['is_upgrade'] = $project['is_upgrade']; |
| 268 | $info['is_upload_manage'] = $project['is_upload_manage']; | 266 | $info['is_upload_manage'] = $project['is_upload_manage']; |
-
请 注册 或 登录 后发表评论