作者 lyh

gx复制项目脚本

... ... @@ -139,9 +139,12 @@ class CategoryController extends BaseController
*/
public function sort(CategoryLogic $logic){
$this->request->validate([
'id'=>['required'],
'id'=>'required',
'sort'=>'numeric|min:0',
],[
'id.required' => 'ID不能为空',
'sort.numeric' => 'sort位数字',
'sort.min' => 'sort最小值为0',
]);
$logic->categorySort();
$this->response('success');
... ...
... ... @@ -20,6 +20,7 @@ use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Schema;
class CopyProjectJob implements ShouldQueue
... ... @@ -52,6 +53,7 @@ class CopyProjectJob implements ShouldQueue
$projectModel = new Project();
DB::beginTransaction();
try {
$this->output('CopyProjectJob start, project_id: ' . $this->param['project_id']);
//复制初始项目
$data = $projectModel::where('id', $this->param['project_id'])->first();
$data = $data->getAttributes();
... ... @@ -63,7 +65,6 @@ class CopyProjectJob implements ShouldQueue
$data['delete_status'] = 1;
unset($data['id']);
$project_id = $projectModel->insertGetId($data);
@file_put_contents(storage_path('logs/lyh/copy_project'.'.log'), var_export('复制项目成功:'.$project_id, true) . PHP_EOL, FILE_APPEND);
$hashids = new Hashids($data['from_order_id'], 13, 'abcdefghjkmnpqrstuvwxyz1234567890');
$projectModel->edit(['from_order_id'=>$hashids->encode($project_id)],['id'=>$project_id]);
//复制设置的模版
... ... @@ -96,7 +97,6 @@ class CopyProjectJob implements ShouldQueue
unset($optimizeData['id'],$optimizeData['domain']);
$optimizeData['project_id'] = $project_id;
$optimizeData['api_no'] = 0;
$optimizeData['minor_languages'] = json_encode([]);
$optimizeModel->insert($optimizeData);
}
//复制付费表
... ... @@ -129,7 +129,7 @@ class CopyProjectJob implements ShouldQueue
DB::commit();
}catch (\Exception $e){
DB::rollBack();
@file_put_contents(storage_path('logs/lyh/copy_project'.'.log'), var_export('复制项目失败:'.$e->getMessage(), true) . PHP_EOL, FILE_APPEND);
$this->output('CopyProjectJob error, error message: ' . $e->getMessage());
$this->fail('error');
}
if($type != 0){
... ... @@ -137,6 +137,7 @@ class CopyProjectJob implements ShouldQueue
}
//修改项目状态
$projectModel->edit(['delete_status'=>0],['id'=>$project_id]);
$this->output('CopyProjectJob end, old project_id: ' . $this->param['project_id'] . ', new project_id: ' . $project_id);
return true;
}
... ... @@ -172,7 +173,7 @@ class CopyProjectJob implements ShouldQueue
if($table == 'gl_customer_visit' || $table == 'gl_customer_visit_item' || $table == 'gl_inquiry_other' || $table == 'gl_inquiry_form_data' || $table == 'gl_inquiry_form'){
continue;
}
// DB::connection('custom_mysql')->table($table)->truncate(); // 清空目标表数据
DB::connection('custom_mysql')->table($table)->truncate(); // 清空目标表数据
DB::connection('custom_mysql')->table($table)->insertUsing(
[], // 列名数组,留空表示插入所有列
function ($query) use ($table,$project_id) {
... ... @@ -186,4 +187,17 @@ class CopyProjectJob implements ShouldQueue
}
return true;
}
/**
* @param $message
* @return bool
*/
public function output($message)
{
$date = date('Y-m-d H:i:s');
$output = $date . ', ' . $message . PHP_EOL;
echo $output;
Log::info($output);
return true;
}
}
... ...
... ... @@ -79,6 +79,12 @@ return [
'prefix' => 'test',
],
//日记录日志
'copy_project' => [
'driver' => 'custom',
'via' => \App\Factory\LogFormatterFactory::class,
'prefix' => 'copy_project',
],
//日记录日志
'day_count' => [
'driver' => 'custom',
'via' => \App\Factory\LogFormatterFactory::class,
... ...