作者 Your Name
... ... @@ -156,7 +156,9 @@ class ReplaceHtml extends Command
foreach ($bTemplateList as $v){
$source_id = $v['source'] == 1 ? 0 : $v['source_id'];
$name_route = $this->getSourceName($v['source'],$source_id,$v['is_list'],$v['is_custom']);
$saveData[] = $this->saveData($info,$v,$source_id,$name_route);
if($name_route !== false){
$saveData[] = $this->saveData($info,$v,$source_id,$name_route);
}
}
}
if(!empty($saveData)){
... ... @@ -205,7 +207,7 @@ class ReplaceHtml extends Command
return $this->getCustomName($source,$source_id,$is_list);
}
if($source == BTemplate::SOURCE_HOME){
return '';
return ['name'=>'','route'=>''];;
}elseif ($source == BTemplate::SOURCE_PRODUCT){
return $this->getProductName($source_id,$is_list);
}elseif ($source == BTemplate::SOURCE_BLOG){
... ...
... ... @@ -42,27 +42,27 @@ class Demo extends Command
{
$this->param['project_id'] = 181;
$imageModel = new ImageModel();
// //获取当前项目的所有图片
// $imageList = $imageModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','size']);
// if(!empty($imageList)){
// $amazonS3Service = new AmazonS3Service();
// foreach ($imageList as $k => $v){
// $amazonS3Service->syncImageFiles(getImageUrl($v['path']));
// $imageModel->edit(['is_cos'=>0],['id'=>$v['id']]);
// }
// }
$fileModel = new FileModel();
$fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']);
if(!empty($fileList)){
//获取当前项目的所有图片
$imageList = $imageModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','size']);
if(!empty($imageList)){
$amazonS3Service = new AmazonS3Service();
foreach ($fileList as $k => $v){
echo date('Y-m-d H:i:s') . '执行的数据id:' . $v['id'] . '名称:'.$v['name'] . PHP_EOL;
$amazonS3Service->syncImageFiles(getFileUrl($v['path']));
$fileModel->edit(['is_cos'=>0],['id'=>$v['id']]);
gc_collect_cycles();
foreach ($imageList as $k => $v){
$amazonS3Service->syncImageFiles(getImageUrl($v['path']));
$imageModel->edit(['is_cos'=>0],['id'=>$v['id']]);
}
}
// $fileModel = new FileModel();
// $fileList = $fileModel->list(['project_id'=>$this->param['project_id'],'is_cos'=>1],'id',['id','path','is_cos','name']);
// if(!empty($fileList)){
// $amazonS3Service = new AmazonS3Service();
// foreach ($fileList as $k => $v){
// echo date('Y-m-d H:i:s') . '执行的数据id:' . $v['id'] . '名称:'.$v['name'] . PHP_EOL;
// $amazonS3Service->syncImageFiles(getFileUrl($v['path']));
// $fileModel->edit(['is_cos'=>0],['id'=>$v['id']]);
// gc_collect_cycles();
// }
// }
return true;
}
... ...
... ... @@ -688,7 +688,7 @@ class ProjectLogic extends BaseLogic
*/
public function copyProject(){
CopyProjectJob::dispatch(['project_id'=>$this->param['project_id']]);
return $this->success();
return $this->success('项目复制中,请稍后前往初始化项目查看;');
}
/**
... ...
... ... @@ -60,10 +60,20 @@ class CopyProjectJob implements ShouldQueue
$data['status'] = 0;
$data['finish_remain_day'] = 0;
$data['title'] = $data['title'].'-copy';
$data['delete_status'] = 1;
unset($data['id']);
$project_id = $projectModel->insertGetId($data);
$hashids = new Hashids($data['from_order_id'], 13, 'abcdefghjkmnpqrstuvwxyz1234567890');
$projectModel->edit(['from_order_id'=>$hashids->encode($project_id)],['id'=>$project_id]);
//复制设置的模版
$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);
}
//复制部署表
$buildModel = new DeployBuild();
$buildData = $buildModel::where('project_id', $this->param['project_id'])->first();
... ... @@ -114,15 +124,6 @@ class CopyProjectJob implements ShouldQueue
$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();
... ... @@ -131,6 +132,8 @@ class CopyProjectJob implements ShouldQueue
if($type != 0){
$this->copyMysql($this->param['project_id'],$project_id);
}
//修改项目状态
$projectModel->edit(['delete_status'=>0],['id'=>$project_id]);
return true;
}
... ...