|
...
|
...
|
@@ -67,6 +67,13 @@ class ProjectLogic extends BaseLogic |
|
|
|
if($info['extend_type'] != 0){
|
|
|
|
$info['type'] = $info['extend_type'];
|
|
|
|
}
|
|
|
|
//升级项目初始上传配置
|
|
|
|
if(empty($info['upload_config'])){
|
|
|
|
$info['upload_config'] =["upload_max_num"=>100, "allow_file_type"=>"doc,docx,xls,xlsx,pdf,txt,csv,png,jpg,jpeg", "upload_max_size"=>5];
|
|
|
|
}
|
|
|
|
if(empty($info['channel'])){
|
|
|
|
$info['channel'] = ["user_id"=>"", "zone_id"=>"", "channel_id"=>""];
|
|
|
|
}
|
|
|
|
return $this->success($info);
|
|
|
|
}
|
|
|
|
|
|
...
|
...
|
@@ -525,62 +532,81 @@ class ProjectLogic extends BaseLogic |
|
|
|
* @time :2023/11/8 14:23
|
|
|
|
*/
|
|
|
|
public function copyProject(){
|
|
|
|
//复制初始项目
|
|
|
|
$data = $this->model::where('id', $this->param['project_id'])->first();
|
|
|
|
$data = $data->getAttributes();
|
|
|
|
$data['type'] = 0;
|
|
|
|
$data['title'] = $data['title'].'-copy';
|
|
|
|
unset($data['id']);
|
|
|
|
$project_id = $this->model->insertGetId($data);
|
|
|
|
//复制部署表
|
|
|
|
$buildModel = new DeployBuild();
|
|
|
|
$buildData = $buildModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($buildData)){
|
|
|
|
$buildData = $buildData->getAttributes();
|
|
|
|
$buildData['project_id'] = $project_id;
|
|
|
|
$hashids = new Hashids('test_domain', 5, 'abcdefghjkmnpqrstuvwxyz1234567890');
|
|
|
|
$code = $hashids->encode($project_id);
|
|
|
|
$buildData['test_domain'] = 'https://v6-' . $code . '.globalso.site/';
|
|
|
|
unset($buildData['id']);
|
|
|
|
$buildModel->insert($buildData);
|
|
|
|
}
|
|
|
|
//复制优化表
|
|
|
|
$optimizeModel = new DeployOptimize();
|
|
|
|
$optimizeData = $optimizeModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($optimizeData)){
|
|
|
|
$optimizeData = $optimizeData->getAttributes();
|
|
|
|
unset($optimizeData['id'],$optimizeData['domain']);
|
|
|
|
$optimizeData['project_id'] = $project_id;
|
|
|
|
$optimizeModel->insert($optimizeData);
|
|
|
|
}
|
|
|
|
//复制付费表
|
|
|
|
$paymentModel = new Payment();
|
|
|
|
$paymentData = $paymentModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($paymentData)){
|
|
|
|
$paymentData = $paymentData->getAttributes();
|
|
|
|
unset($paymentData['id']);
|
|
|
|
$paymentData['project_id'] = $project_id;
|
|
|
|
$paymentModel->insert($paymentData);
|
|
|
|
}
|
|
|
|
//复制用户
|
|
|
|
$userModel = new UserModel();
|
|
|
|
$userData = $userModel::where('project_id', $this->param['project_id'])->where('role_id',0)->first();
|
|
|
|
if(!empty($userData)){
|
|
|
|
$userData = $userData->getAttributes();
|
|
|
|
unset($userData['id']);
|
|
|
|
$userData['project_id'] = $project_id;
|
|
|
|
$userModel->insert($userData);
|
|
|
|
DB::beginTransaction();
|
|
|
|
try {
|
|
|
|
//复制初始项目
|
|
|
|
$data = $this->model::where('id', $this->param['project_id'])->first();
|
|
|
|
$data = $data->getAttributes();
|
|
|
|
$type = $data['type'];
|
|
|
|
$data['type'] = 0;
|
|
|
|
$data['title'] = $data['title'].'-copy';
|
|
|
|
unset($data['id']);
|
|
|
|
$project_id = $this->model->insertGetId($data);
|
|
|
|
//复制部署表
|
|
|
|
$buildModel = new DeployBuild();
|
|
|
|
$buildData = $buildModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($buildData)){
|
|
|
|
$buildData = $buildData->getAttributes();
|
|
|
|
$buildData['project_id'] = $project_id;
|
|
|
|
$hashids = new Hashids('test_domain', 5, 'abcdefghjkmnpqrstuvwxyz1234567890');
|
|
|
|
$code = $hashids->encode($project_id);
|
|
|
|
$buildData['test_domain'] = 'https://v6-' . $code . '.globalso.site/';
|
|
|
|
unset($buildData['id']);
|
|
|
|
$buildModel->insert($buildData);
|
|
|
|
}
|
|
|
|
//复制优化表
|
|
|
|
$optimizeModel = new DeployOptimize();
|
|
|
|
$optimizeData = $optimizeModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($optimizeData)){
|
|
|
|
$optimizeData = $optimizeData->getAttributes();
|
|
|
|
unset($optimizeData['id'],$optimizeData['domain']);
|
|
|
|
$optimizeData['project_id'] = $project_id;
|
|
|
|
$optimizeModel->insert($optimizeData);
|
|
|
|
}
|
|
|
|
//复制付费表
|
|
|
|
$paymentModel = new Payment();
|
|
|
|
$paymentData = $paymentModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($paymentData)){
|
|
|
|
$paymentData = $paymentData->getAttributes();
|
|
|
|
unset($paymentData['id']);
|
|
|
|
$paymentData['project_id'] = $project_id;
|
|
|
|
$paymentModel->insert($paymentData);
|
|
|
|
}
|
|
|
|
//复制售后表
|
|
|
|
$afterModel = new After();
|
|
|
|
$afterData = $afterModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($afterData)){
|
|
|
|
$afterData = $afterData->getAttributes();
|
|
|
|
unset($afterData['id']);
|
|
|
|
$afterData['project_id'] = $project_id;
|
|
|
|
$afterModel->insert($afterData);
|
|
|
|
}
|
|
|
|
//复制用户
|
|
|
|
$userModel = new UserModel();
|
|
|
|
$userData = $userModel::where('project_id', $this->param['project_id'])->where('role_id',0)->first();
|
|
|
|
if(!empty($userData)){
|
|
|
|
$userData = $userData->getAttributes();
|
|
|
|
unset($userData['id']);
|
|
|
|
$userData['project_id'] = $project_id;
|
|
|
|
$userModel->insert($userData);
|
|
|
|
}
|
|
|
|
//复制设置的模版
|
|
|
|
$settingTemplateModel = new Setting();
|
|
|
|
$settingData = $settingTemplateModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($settingData)){
|
|
|
|
$settingData = $settingData->getAttributes();
|
|
|
|
unset($settingData['id']);
|
|
|
|
$settingData['project_id'] = $project_id;
|
|
|
|
$settingTemplateModel->insert($settingData);
|
|
|
|
}
|
|
|
|
DB::commit();
|
|
|
|
}catch (\Exception $e){
|
|
|
|
DB::rollBack();
|
|
|
|
$this->fail('error');
|
|
|
|
}
|
|
|
|
//复制设置的模版
|
|
|
|
$settingTemplateModel = new Setting();
|
|
|
|
$settingData = $settingTemplateModel::where('project_id', $this->param['project_id'])->first();
|
|
|
|
if(!empty($settingData)){
|
|
|
|
$settingData = $settingData->getAttributes();
|
|
|
|
unset($settingData['id']);
|
|
|
|
$settingData['project_id'] = $project_id;
|
|
|
|
$settingTemplateModel->insert($settingData);
|
|
|
|
if($type != 0){
|
|
|
|
$this->copyMysql($this->param['project_id'],$project_id);
|
|
|
|
}
|
|
|
|
$this->copyMysql($this->param['project_id'],$project_id);
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
...
|
...
|
|