作者 lyh

gx复制项目脚本

@@ -139,9 +139,12 @@ class CategoryController extends BaseController @@ -139,9 +139,12 @@ class CategoryController extends BaseController
139 */ 139 */
140 public function sort(CategoryLogic $logic){ 140 public function sort(CategoryLogic $logic){
141 $this->request->validate([ 141 $this->request->validate([
142 - 'id'=>['required'], 142 + 'id'=>'required',
  143 + 'sort'=>'numeric|min:0',
143 ],[ 144 ],[
144 'id.required' => 'ID不能为空', 145 'id.required' => 'ID不能为空',
  146 + 'sort.numeric' => 'sort位数字',
  147 + 'sort.min' => 'sort最小值为0',
145 ]); 148 ]);
146 $logic->categorySort(); 149 $logic->categorySort();
147 $this->response('success'); 150 $this->response('success');
@@ -20,6 +20,7 @@ use Illuminate\Foundation\Bus\Dispatchable; @@ -20,6 +20,7 @@ use Illuminate\Foundation\Bus\Dispatchable;
20 use Illuminate\Queue\InteractsWithQueue; 20 use Illuminate\Queue\InteractsWithQueue;
21 use Illuminate\Queue\SerializesModels; 21 use Illuminate\Queue\SerializesModels;
22 use Illuminate\Support\Facades\DB; 22 use Illuminate\Support\Facades\DB;
  23 +use Illuminate\Support\Facades\Log;
23 use Illuminate\Support\Facades\Schema; 24 use Illuminate\Support\Facades\Schema;
24 25
25 class CopyProjectJob implements ShouldQueue 26 class CopyProjectJob implements ShouldQueue
@@ -52,6 +53,7 @@ class CopyProjectJob implements ShouldQueue @@ -52,6 +53,7 @@ class CopyProjectJob implements ShouldQueue
52 $projectModel = new Project(); 53 $projectModel = new Project();
53 DB::beginTransaction(); 54 DB::beginTransaction();
54 try { 55 try {
  56 + $this->output('CopyProjectJob start, project_id: ' . $this->param['project_id']);
55 //复制初始项目 57 //复制初始项目
56 $data = $projectModel::where('id', $this->param['project_id'])->first(); 58 $data = $projectModel::where('id', $this->param['project_id'])->first();
57 $data = $data->getAttributes(); 59 $data = $data->getAttributes();
@@ -63,7 +65,6 @@ class CopyProjectJob implements ShouldQueue @@ -63,7 +65,6 @@ class CopyProjectJob implements ShouldQueue
63 $data['delete_status'] = 1; 65 $data['delete_status'] = 1;
64 unset($data['id']); 66 unset($data['id']);
65 $project_id = $projectModel->insertGetId($data); 67 $project_id = $projectModel->insertGetId($data);
66 - @file_put_contents(storage_path('logs/lyh/copy_project'.'.log'), var_export('复制项目成功:'.$project_id, true) . PHP_EOL, FILE_APPEND);  
67 $hashids = new Hashids($data['from_order_id'], 13, 'abcdefghjkmnpqrstuvwxyz1234567890'); 68 $hashids = new Hashids($data['from_order_id'], 13, 'abcdefghjkmnpqrstuvwxyz1234567890');
68 $projectModel->edit(['from_order_id'=>$hashids->encode($project_id)],['id'=>$project_id]); 69 $projectModel->edit(['from_order_id'=>$hashids->encode($project_id)],['id'=>$project_id]);
69 //复制设置的模版 70 //复制设置的模版
@@ -96,7 +97,6 @@ class CopyProjectJob implements ShouldQueue @@ -96,7 +97,6 @@ class CopyProjectJob implements ShouldQueue
96 unset($optimizeData['id'],$optimizeData['domain']); 97 unset($optimizeData['id'],$optimizeData['domain']);
97 $optimizeData['project_id'] = $project_id; 98 $optimizeData['project_id'] = $project_id;
98 $optimizeData['api_no'] = 0; 99 $optimizeData['api_no'] = 0;
99 - $optimizeData['minor_languages'] = json_encode([]);  
100 $optimizeModel->insert($optimizeData); 100 $optimizeModel->insert($optimizeData);
101 } 101 }
102 //复制付费表 102 //复制付费表
@@ -129,7 +129,7 @@ class CopyProjectJob implements ShouldQueue @@ -129,7 +129,7 @@ class CopyProjectJob implements ShouldQueue
129 DB::commit(); 129 DB::commit();
130 }catch (\Exception $e){ 130 }catch (\Exception $e){
131 DB::rollBack(); 131 DB::rollBack();
132 - @file_put_contents(storage_path('logs/lyh/copy_project'.'.log'), var_export('复制项目失败:'.$e->getMessage(), true) . PHP_EOL, FILE_APPEND); 132 + $this->output('CopyProjectJob error, error message: ' . $e->getMessage());
133 $this->fail('error'); 133 $this->fail('error');
134 } 134 }
135 if($type != 0){ 135 if($type != 0){
@@ -137,6 +137,7 @@ class CopyProjectJob implements ShouldQueue @@ -137,6 +137,7 @@ class CopyProjectJob implements ShouldQueue
137 } 137 }
138 //修改项目状态 138 //修改项目状态
139 $projectModel->edit(['delete_status'=>0],['id'=>$project_id]); 139 $projectModel->edit(['delete_status'=>0],['id'=>$project_id]);
  140 + $this->output('CopyProjectJob end, old project_id: ' . $this->param['project_id'] . ', new project_id: ' . $project_id);
140 return true; 141 return true;
141 } 142 }
142 143
@@ -172,7 +173,7 @@ class CopyProjectJob implements ShouldQueue @@ -172,7 +173,7 @@ class CopyProjectJob implements ShouldQueue
172 if($table == 'gl_customer_visit' || $table == 'gl_customer_visit_item' || $table == 'gl_inquiry_other' || $table == 'gl_inquiry_form_data' || $table == 'gl_inquiry_form'){ 173 if($table == 'gl_customer_visit' || $table == 'gl_customer_visit_item' || $table == 'gl_inquiry_other' || $table == 'gl_inquiry_form_data' || $table == 'gl_inquiry_form'){
173 continue; 174 continue;
174 } 175 }
175 -// DB::connection('custom_mysql')->table($table)->truncate(); // 清空目标表数据 176 + DB::connection('custom_mysql')->table($table)->truncate(); // 清空目标表数据
176 DB::connection('custom_mysql')->table($table)->insertUsing( 177 DB::connection('custom_mysql')->table($table)->insertUsing(
177 [], // 列名数组,留空表示插入所有列 178 [], // 列名数组,留空表示插入所有列
178 function ($query) use ($table,$project_id) { 179 function ($query) use ($table,$project_id) {
@@ -186,4 +187,17 @@ class CopyProjectJob implements ShouldQueue @@ -186,4 +187,17 @@ class CopyProjectJob implements ShouldQueue
186 } 187 }
187 return true; 188 return true;
188 } 189 }
  190 +
  191 + /**
  192 + * @param $message
  193 + * @return bool
  194 + */
  195 + public function output($message)
  196 + {
  197 + $date = date('Y-m-d H:i:s');
  198 + $output = $date . ', ' . $message . PHP_EOL;
  199 + echo $output;
  200 + Log::info($output);
  201 + return true;
  202 + }
189 } 203 }
@@ -79,6 +79,12 @@ return [ @@ -79,6 +79,12 @@ return [
79 'prefix' => 'test', 79 'prefix' => 'test',
80 ], 80 ],
81 //日记录日志 81 //日记录日志
  82 + 'copy_project' => [
  83 + 'driver' => 'custom',
  84 + 'via' => \App\Factory\LogFormatterFactory::class,
  85 + 'prefix' => 'copy_project',
  86 + ],
  87 + //日记录日志
82 'day_count' => [ 88 'day_count' => [
83 'driver' => 'custom', 89 'driver' => 'custom',
84 'via' => \App\Factory\LogFormatterFactory::class, 90 'via' => \App\Factory\LogFormatterFactory::class,