作者 ZhengBing He

ok

... ... @@ -15,7 +15,7 @@ class FetchTicketProjects extends Command
*
* @var string
*/
protected $signature = 'workorder:fetch-ticket-projects {version}';
protected $signature = 'workorder:fetch-ticket-projects {action}}';
/**
* The console command description.
... ... @@ -41,15 +41,8 @@ class FetchTicketProjects extends Command
*/
public function handle()
{
$version = $this->argument('version');
if ($version == 'v5') {
$this->fetch_v5();
} elseif ($version == 'v6') {
$this->fetch_v6();
} else {
$this->error('Invalid action. Use "v5" or "v6".');
return 1;
}
$action = $this->argument('action');
$this->$action();
return 0;
}
... ... @@ -132,11 +125,16 @@ class FetchTicketProjects extends Command
break;
}
foreach ($items as $item) {
$uuid = md5("V5{$item->id}");
$uuid = md5("V6{$item->id}");
$project = TicketProject::where('uuid', $uuid)->first();
// 售后服务经理
$assm_id = $item->deploy_optimize->manager_mid ?? $item->deploy_optimize->tech_leader ?? Manage::where('name', '张鸿飞')->value('id') ?? 0;
$seom_id = $item->deploy_optimize->optimist_mid ?? $assm_id;
$assm_id = collect([
$item->deploy_optimize->manager_mid ?? 0,
$item->deploy_optimize->tech_leader ?? 0,
Manage::where('name', '张鸿飞')->value('id') ?? 0,
0
])->first(fn($v) => $v !== null && $v !== 0, 0);
$seom_id = !empty($item->deploy_optimize->optimist_mid) ? $item->deploy_optimize->optimist_mid : $assm_id;
/**
* 第一负责人逻辑
* 建站类项目:找杨长远
... ... @@ -148,7 +146,11 @@ class FetchTicketProjects extends Command
}elseif ($item->type == Project::TYPE_THREE) {
$engineer_id = Manage::where('name', '杨长远')->value('id') ?? 0; // 建站类项目找杨长远
}else{
$engineer_id = $item->deploy_build->manager_mid ?? $item->deploy_build->leader_mid ?? 0;
$engineer_id = collect([
$item->deploy_build->manager_mid ?? 0,
$item->deploy_build->leader_mid ?? 0,
0
])->first(fn($v) => $v !== null && $v !== 0, 0);
}
$fields = [
... ... @@ -189,4 +191,32 @@ class FetchTicketProjects extends Command
}
}
}
public function fetch_uuid()
{
$lastid = 0;
while (true) {
try {
$items = TicketProject::where('id', '>', $lastid)
->where('version', 6)
->orderBy('id', 'asc')
->limit(10)
->get();
if ($items->isEmpty()) {
echo "not found items \n";
break;
}
foreach ($items as $item) {
$uuid = md5("V6{$item->table_id}");
$item->uuid = $uuid;
$item->save();
$lastid = $item->id;
echo date('Y-m-d H:i:s') . " V6: $item->id fetch ok \n";
}
}catch (\Exception $exception) {
echo $exception;
break;
}
}
}
}
... ...