|
...
|
...
|
@@ -8,6 +8,7 @@ use App\Models\Project\Project; |
|
|
|
use App\Models\WorkOrder\TicketProject;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
use Illuminate\Support\Facades\Http;
|
|
|
|
use Illuminate\Support\Str;
|
|
|
|
|
|
|
|
class FetchTicketProjects extends Command
|
|
|
|
{
|
|
...
|
...
|
@@ -83,6 +84,7 @@ class FetchTicketProjects extends Command |
|
|
|
'test_website' => $item['test_url'] ?? '',
|
|
|
|
'is_del' => 0,
|
|
|
|
'plan' => $item['plan'] ?? '',
|
|
|
|
'project_cate' => 1,
|
|
|
|
];
|
|
|
|
if (!$project) {
|
|
|
|
$new = new TicketProject();
|
|
...
|
...
|
@@ -177,6 +179,7 @@ class FetchTicketProjects extends Command |
|
|
|
'test_website' => $item->deploy_build->test_domain ?? '',
|
|
|
|
'version' => empty($item->version) ? 7 : $item->version, // 版本号
|
|
|
|
'plan' => $item->planMap()[$item->deploy_build->plan] ?? '',
|
|
|
|
'project_cate' => 2,
|
|
|
|
];
|
|
|
|
if (!$project) {
|
|
|
|
$project = new TicketProject();
|
|
...
|
...
|
@@ -209,6 +212,97 @@ class FetchTicketProjects extends Command |
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function fetchAICC()
|
|
|
|
{
|
|
|
|
$lastid = 0;
|
|
|
|
while (true) {
|
|
|
|
try {
|
|
|
|
$response = Http::withBasicAuth('bill', 'bill@ai.cc')
|
|
|
|
->get('https://fob.ai.cc/api/tickets/projects', [
|
|
|
|
'lastid' => $lastid,
|
|
|
|
]);
|
|
|
|
$items = $response->json();
|
|
|
|
if (empty($items))
|
|
|
|
{
|
|
|
|
echo now() . " | INFO | not found items \n";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach ($items as $item) {
|
|
|
|
$uuid = md5("AICC{$item['id']}");
|
|
|
|
$project = TicketProject::where('uuid', $uuid)->first();
|
|
|
|
// 判断套餐是超迹还是域途, 如果 $item['plans'][0]['name'] 包含 '超迹' 则为超迹,否则为域途
|
|
|
|
$project_cate = Str::contains($item['plans'][0]['name'], '超迹') ? 3 : 4;
|
|
|
|
print_r($item['cj_assm']);
|
|
|
|
print_r($item['yutu_assm']);
|
|
|
|
if ($project_cate == 3)
|
|
|
|
{
|
|
|
|
// 售后服务经理
|
|
|
|
$assm_id = collect([
|
|
|
|
ManageHr::where('name', $item['cj_assm']['real_name'] ?? '')->first()->manage_id ?? 0,
|
|
|
|
20, //徐莹
|
|
|
|
])->first(fn($v) => $v !== null && $v !== 0, 0);
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
// 域途
|
|
|
|
$assm_id = collect([
|
|
|
|
ManageHr::where('name', $item['yutu_assm']['real_name'] ?? '')->first()->manage_id ?? 0,
|
|
|
|
85, //黄小玉
|
|
|
|
])->first(fn($v) => $v !== null && $v !== 0, 0);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 优化师
|
|
|
|
$seom_id = 0;
|
|
|
|
// 第一负责人
|
|
|
|
$engineer_id = $assm_id;
|
|
|
|
$is_del = 0;
|
|
|
|
|
|
|
|
$fields = [
|
|
|
|
'company_name' => $item['company'],
|
|
|
|
'title' => $item['plan'],
|
|
|
|
'assm_id' => $assm_id,
|
|
|
|
'seom_id' => $seom_id,
|
|
|
|
'engineer_id' => $engineer_id,
|
|
|
|
'is_del' => $is_del,
|
|
|
|
'website' => '',
|
|
|
|
'test_website' => '',
|
|
|
|
'version' => 1, // 版本号
|
|
|
|
'plan' => $item['plans'][0]['name'] ?? '',
|
|
|
|
'project_cate' => $project_cate,
|
|
|
|
'wechat_group_id' => $item['chatroom'],
|
|
|
|
];
|
|
|
|
|
|
|
|
if (!$project) {
|
|
|
|
$project = new TicketProject();
|
|
|
|
$project->uuid = $uuid;
|
|
|
|
$project->post_id = $item['postid'];
|
|
|
|
$project->table_id = $item['id'];
|
|
|
|
foreach ($fields as $k => $v) {
|
|
|
|
$project->$k = $v;
|
|
|
|
}
|
|
|
|
$project->save();
|
|
|
|
} else {
|
|
|
|
$changed = false;
|
|
|
|
foreach ($fields as $k => $v) {
|
|
|
|
if ($project->$k != $v) {
|
|
|
|
$project->$k = $v;
|
|
|
|
$changed = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($changed) {
|
|
|
|
$project->save();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$lastid = $item['id'];
|
|
|
|
echo now() . " | INFO | AICC: {$item['id']} {$item['company']} fetch ok \n";
|
|
|
|
}
|
|
|
|
}catch (\Exception $exception){
|
|
|
|
echo now() . " | ERROR | " . $exception->getMessage() . "\n" . $exception->getTraceAsString() . "\n";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function fetch_uuid()
|
|
|
|
{
|
|
|
|
$lastid = 0;
|
...
|
...
|
|