作者 ZhengBing He

ok

@@ -15,7 +15,7 @@ class FetchTicketProjects extends Command @@ -15,7 +15,7 @@ class FetchTicketProjects extends Command
15 * 15 *
16 * @var string 16 * @var string
17 */ 17 */
18 - protected $signature = 'workorder:fetch-ticket-projects {version}'; 18 + protected $signature = 'workorder:fetch-ticket-projects {action}}';
19 19
20 /** 20 /**
21 * The console command description. 21 * The console command description.
@@ -41,15 +41,8 @@ class FetchTicketProjects extends Command @@ -41,15 +41,8 @@ class FetchTicketProjects extends Command
41 */ 41 */
42 public function handle() 42 public function handle()
43 { 43 {
44 - $version = $this->argument('version');  
45 - if ($version == 'v5') {  
46 - $this->fetch_v5();  
47 - } elseif ($version == 'v6') {  
48 - $this->fetch_v6();  
49 - } else {  
50 - $this->error('Invalid action. Use "v5" or "v6".');  
51 - return 1;  
52 - } 44 + $action = $this->argument('action');
  45 + $this->$action();
53 return 0; 46 return 0;
54 } 47 }
55 48
@@ -132,11 +125,16 @@ class FetchTicketProjects extends Command @@ -132,11 +125,16 @@ class FetchTicketProjects extends Command
132 break; 125 break;
133 } 126 }
134 foreach ($items as $item) { 127 foreach ($items as $item) {
135 - $uuid = md5("V5{$item->id}"); 128 + $uuid = md5("V6{$item->id}");
136 $project = TicketProject::where('uuid', $uuid)->first(); 129 $project = TicketProject::where('uuid', $uuid)->first();
137 // 售后服务经理 130 // 售后服务经理
138 - $assm_id = $item->deploy_optimize->manager_mid ?? $item->deploy_optimize->tech_leader ?? Manage::where('name', '张鸿飞')->value('id') ?? 0;  
139 - $seom_id = $item->deploy_optimize->optimist_mid ?? $assm_id; 131 + $assm_id = collect([
  132 + $item->deploy_optimize->manager_mid ?? 0,
  133 + $item->deploy_optimize->tech_leader ?? 0,
  134 + Manage::where('name', '张鸿飞')->value('id') ?? 0,
  135 + 0
  136 + ])->first(fn($v) => $v !== null && $v !== 0, 0);
  137 + $seom_id = !empty($item->deploy_optimize->optimist_mid) ? $item->deploy_optimize->optimist_mid : $assm_id;
140 /** 138 /**
141 * 第一负责人逻辑 139 * 第一负责人逻辑
142 * 建站类项目:找杨长远 140 * 建站类项目:找杨长远
@@ -148,7 +146,11 @@ class FetchTicketProjects extends Command @@ -148,7 +146,11 @@ class FetchTicketProjects extends Command
148 }elseif ($item->type == Project::TYPE_THREE) { 146 }elseif ($item->type == Project::TYPE_THREE) {
149 $engineer_id = Manage::where('name', '杨长远')->value('id') ?? 0; // 建站类项目找杨长远 147 $engineer_id = Manage::where('name', '杨长远')->value('id') ?? 0; // 建站类项目找杨长远
150 }else{ 148 }else{
151 - $engineer_id = $item->deploy_build->manager_mid ?? $item->deploy_build->leader_mid ?? 0; 149 + $engineer_id = collect([
  150 + $item->deploy_build->manager_mid ?? 0,
  151 + $item->deploy_build->leader_mid ?? 0,
  152 + 0
  153 + ])->first(fn($v) => $v !== null && $v !== 0, 0);
152 } 154 }
153 155
154 $fields = [ 156 $fields = [
@@ -189,4 +191,32 @@ class FetchTicketProjects extends Command @@ -189,4 +191,32 @@ class FetchTicketProjects extends Command
189 } 191 }
190 } 192 }
191 } 193 }
  194 +
  195 + public function fetch_uuid()
  196 + {
  197 + $lastid = 0;
  198 + while (true) {
  199 + try {
  200 + $items = TicketProject::where('id', '>', $lastid)
  201 + ->where('version', 6)
  202 + ->orderBy('id', 'asc')
  203 + ->limit(10)
  204 + ->get();
  205 + if ($items->isEmpty()) {
  206 + echo "not found items \n";
  207 + break;
  208 + }
  209 + foreach ($items as $item) {
  210 + $uuid = md5("V6{$item->table_id}");
  211 + $item->uuid = $uuid;
  212 + $item->save();
  213 + $lastid = $item->id;
  214 + echo date('Y-m-d H:i:s') . " V6: $item->id fetch ok \n";
  215 + }
  216 + }catch (\Exception $exception) {
  217 + echo $exception;
  218 + break;
  219 + }
  220 + }
  221 + }
192 } 222 }