|
@@ -67,6 +67,13 @@ class ProjectLogic extends BaseLogic |
|
@@ -67,6 +67,13 @@ class ProjectLogic extends BaseLogic |
|
67
|
if($info['extend_type'] != 0){
|
67
|
if($info['extend_type'] != 0){
|
|
68
|
$info['type'] = $info['extend_type'];
|
68
|
$info['type'] = $info['extend_type'];
|
|
69
|
}
|
69
|
}
|
|
|
|
70
|
+ //升级项目初始上传配置
|
|
|
|
71
|
+ if(empty($info['upload_config'])){
|
|
|
|
72
|
+ $info['upload_config'] =["upload_max_num"=>100, "allow_file_type"=>"doc,docx,xls,xlsx,pdf,txt,csv,png,jpg,jpeg", "upload_max_size"=>5];
|
|
|
|
73
|
+ }
|
|
|
|
74
|
+ if(empty($info['channel'])){
|
|
|
|
75
|
+ $info['channel'] = ["user_id"=>"", "zone_id"=>"", "channel_id"=>""];
|
|
|
|
76
|
+ }
|
|
70
|
return $this->success($info);
|
77
|
return $this->success($info);
|
|
71
|
}
|
78
|
}
|
|
72
|
|
79
|
|
|
@@ -525,62 +532,81 @@ class ProjectLogic extends BaseLogic |
|
@@ -525,62 +532,81 @@ class ProjectLogic extends BaseLogic |
|
525
|
* @time :2023/11/8 14:23
|
532
|
* @time :2023/11/8 14:23
|
|
526
|
*/
|
533
|
*/
|
|
527
|
public function copyProject(){
|
534
|
public function copyProject(){
|
|
528
|
- //复制初始项目
|
|
|
|
529
|
- $data = $this->model::where('id', $this->param['project_id'])->first();
|
|
|
|
530
|
- $data = $data->getAttributes();
|
|
|
|
531
|
- $data['type'] = 0;
|
|
|
|
532
|
- $data['title'] = $data['title'].'-copy';
|
|
|
|
533
|
- unset($data['id']);
|
|
|
|
534
|
- $project_id = $this->model->insertGetId($data);
|
|
|
|
535
|
- //复制部署表
|
|
|
|
536
|
- $buildModel = new DeployBuild();
|
|
|
|
537
|
- $buildData = $buildModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
538
|
- if(!empty($buildData)){
|
|
|
|
539
|
- $buildData = $buildData->getAttributes();
|
|
|
|
540
|
- $buildData['project_id'] = $project_id;
|
|
|
|
541
|
- $hashids = new Hashids('test_domain', 5, 'abcdefghjkmnpqrstuvwxyz1234567890');
|
|
|
|
542
|
- $code = $hashids->encode($project_id);
|
|
|
|
543
|
- $buildData['test_domain'] = 'https://v6-' . $code . '.globalso.site/';
|
|
|
|
544
|
- unset($buildData['id']);
|
|
|
|
545
|
- $buildModel->insert($buildData);
|
|
|
|
546
|
- }
|
|
|
|
547
|
- //复制优化表
|
|
|
|
548
|
- $optimizeModel = new DeployOptimize();
|
|
|
|
549
|
- $optimizeData = $optimizeModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
550
|
- if(!empty($optimizeData)){
|
|
|
|
551
|
- $optimizeData = $optimizeData->getAttributes();
|
|
|
|
552
|
- unset($optimizeData['id'],$optimizeData['domain']);
|
|
|
|
553
|
- $optimizeData['project_id'] = $project_id;
|
|
|
|
554
|
- $optimizeModel->insert($optimizeData);
|
|
|
|
555
|
- }
|
|
|
|
556
|
- //复制付费表
|
|
|
|
557
|
- $paymentModel = new Payment();
|
|
|
|
558
|
- $paymentData = $paymentModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
559
|
- if(!empty($paymentData)){
|
|
|
|
560
|
- $paymentData = $paymentData->getAttributes();
|
|
|
|
561
|
- unset($paymentData['id']);
|
|
|
|
562
|
- $paymentData['project_id'] = $project_id;
|
|
|
|
563
|
- $paymentModel->insert($paymentData);
|
|
|
|
564
|
- }
|
|
|
|
565
|
- //复制用户
|
|
|
|
566
|
- $userModel = new UserModel();
|
|
|
|
567
|
- $userData = $userModel::where('project_id', $this->param['project_id'])->where('role_id',0)->first();
|
|
|
|
568
|
- if(!empty($userData)){
|
|
|
|
569
|
- $userData = $userData->getAttributes();
|
|
|
|
570
|
- unset($userData['id']);
|
|
|
|
571
|
- $userData['project_id'] = $project_id;
|
|
|
|
572
|
- $userModel->insert($userData);
|
535
|
+ DB::beginTransaction();
|
|
|
|
536
|
+ try {
|
|
|
|
537
|
+ //复制初始项目
|
|
|
|
538
|
+ $data = $this->model::where('id', $this->param['project_id'])->first();
|
|
|
|
539
|
+ $data = $data->getAttributes();
|
|
|
|
540
|
+ $type = $data['type'];
|
|
|
|
541
|
+ $data['type'] = 0;
|
|
|
|
542
|
+ $data['title'] = $data['title'].'-copy';
|
|
|
|
543
|
+ unset($data['id']);
|
|
|
|
544
|
+ $project_id = $this->model->insertGetId($data);
|
|
|
|
545
|
+ //复制部署表
|
|
|
|
546
|
+ $buildModel = new DeployBuild();
|
|
|
|
547
|
+ $buildData = $buildModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
548
|
+ if(!empty($buildData)){
|
|
|
|
549
|
+ $buildData = $buildData->getAttributes();
|
|
|
|
550
|
+ $buildData['project_id'] = $project_id;
|
|
|
|
551
|
+ $hashids = new Hashids('test_domain', 5, 'abcdefghjkmnpqrstuvwxyz1234567890');
|
|
|
|
552
|
+ $code = $hashids->encode($project_id);
|
|
|
|
553
|
+ $buildData['test_domain'] = 'https://v6-' . $code . '.globalso.site/';
|
|
|
|
554
|
+ unset($buildData['id']);
|
|
|
|
555
|
+ $buildModel->insert($buildData);
|
|
|
|
556
|
+ }
|
|
|
|
557
|
+ //复制优化表
|
|
|
|
558
|
+ $optimizeModel = new DeployOptimize();
|
|
|
|
559
|
+ $optimizeData = $optimizeModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
560
|
+ if(!empty($optimizeData)){
|
|
|
|
561
|
+ $optimizeData = $optimizeData->getAttributes();
|
|
|
|
562
|
+ unset($optimizeData['id'],$optimizeData['domain']);
|
|
|
|
563
|
+ $optimizeData['project_id'] = $project_id;
|
|
|
|
564
|
+ $optimizeModel->insert($optimizeData);
|
|
|
|
565
|
+ }
|
|
|
|
566
|
+ //复制付费表
|
|
|
|
567
|
+ $paymentModel = new Payment();
|
|
|
|
568
|
+ $paymentData = $paymentModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
569
|
+ if(!empty($paymentData)){
|
|
|
|
570
|
+ $paymentData = $paymentData->getAttributes();
|
|
|
|
571
|
+ unset($paymentData['id']);
|
|
|
|
572
|
+ $paymentData['project_id'] = $project_id;
|
|
|
|
573
|
+ $paymentModel->insert($paymentData);
|
|
|
|
574
|
+ }
|
|
|
|
575
|
+ //复制售后表
|
|
|
|
576
|
+ $afterModel = new After();
|
|
|
|
577
|
+ $afterData = $afterModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
578
|
+ if(!empty($afterData)){
|
|
|
|
579
|
+ $afterData = $afterData->getAttributes();
|
|
|
|
580
|
+ unset($afterData['id']);
|
|
|
|
581
|
+ $afterData['project_id'] = $project_id;
|
|
|
|
582
|
+ $afterModel->insert($afterData);
|
|
|
|
583
|
+ }
|
|
|
|
584
|
+ //复制用户
|
|
|
|
585
|
+ $userModel = new UserModel();
|
|
|
|
586
|
+ $userData = $userModel::where('project_id', $this->param['project_id'])->where('role_id',0)->first();
|
|
|
|
587
|
+ if(!empty($userData)){
|
|
|
|
588
|
+ $userData = $userData->getAttributes();
|
|
|
|
589
|
+ unset($userData['id']);
|
|
|
|
590
|
+ $userData['project_id'] = $project_id;
|
|
|
|
591
|
+ $userModel->insert($userData);
|
|
|
|
592
|
+ }
|
|
|
|
593
|
+ //复制设置的模版
|
|
|
|
594
|
+ $settingTemplateModel = new Setting();
|
|
|
|
595
|
+ $settingData = $settingTemplateModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
596
|
+ if(!empty($settingData)){
|
|
|
|
597
|
+ $settingData = $settingData->getAttributes();
|
|
|
|
598
|
+ unset($settingData['id']);
|
|
|
|
599
|
+ $settingData['project_id'] = $project_id;
|
|
|
|
600
|
+ $settingTemplateModel->insert($settingData);
|
|
|
|
601
|
+ }
|
|
|
|
602
|
+ DB::commit();
|
|
|
|
603
|
+ }catch (\Exception $e){
|
|
|
|
604
|
+ DB::rollBack();
|
|
|
|
605
|
+ $this->fail('error');
|
|
573
|
}
|
606
|
}
|
|
574
|
- //复制设置的模版
|
|
|
|
575
|
- $settingTemplateModel = new Setting();
|
|
|
|
576
|
- $settingData = $settingTemplateModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
577
|
- if(!empty($settingData)){
|
|
|
|
578
|
- $settingData = $settingData->getAttributes();
|
|
|
|
579
|
- unset($settingData['id']);
|
|
|
|
580
|
- $settingData['project_id'] = $project_id;
|
|
|
|
581
|
- $settingTemplateModel->insert($settingData);
|
607
|
+ if($type != 0){
|
|
|
|
608
|
+ $this->copyMysql($this->param['project_id'],$project_id);
|
|
582
|
}
|
609
|
}
|
|
583
|
- $this->copyMysql($this->param['project_id'],$project_id);
|
|
|
|
584
|
return $this->success($data);
|
610
|
return $this->success($data);
|
|
585
|
}
|
611
|
}
|
|
586
|
|
612
|
|