作者 刘锟

update

... ... @@ -61,9 +61,9 @@ class SyncInquiryProject extends Command
*/
public function handle()
{
echo '开始同步v5' . PHP_EOL;
$this->output('开始同步v5');
$this->syncGloV5();
echo '开始同步v6' . PHP_EOL;
$this->output('开始同步v6');
$this->syncGloV6();
return true;
}
... ... @@ -80,7 +80,7 @@ class SyncInquiryProject extends Command
$channel = Channel::pluck('contact_mobile', 'id')->toArray();
$form_api = new FormGlobalsoApi();
foreach ($result as $key => $val) {
echo '同步项目:' . $val['postid'] . ' - ' . $val['company'] . PHP_EOL;
$this->output('同步项目:' . $val['postid'] . ' - ' . $val['company']);
// 记录渠道商, 如果渠道有问题, 记录日志, 跳过当前项目, 处理数据后, 第二天再重新同步
$channel_tmp = [];
foreach ($val['agent'] as $v) {
... ... @@ -119,7 +119,7 @@ class SyncInquiryProject extends Command
$this->pushTask($project->id);
} catch (\Exception $e) {
$this->log('syncGloV5Route 未获取到路由信息:' . $project->id . ', 路由获取地址:' . $route_domain . 'k_u_api.php' . ', 错误信息:' . $e->getMessage());
echo 'syncGloV5Route 未获取到路由信息:' . $project->id . ', 路由获取地址:' . $route_domain . 'k_u_api.php' . ', 错误信息:' . $e->getMessage() . PHP_EOL;
$this->output('syncGloV5Route 未获取到路由信息:' . $project->id . ', 路由获取地址:' . $route_domain . 'k_u_api.php' . ', 错误信息:' . $e->getMessage());
continue;
}
}
... ... @@ -151,14 +151,19 @@ class SyncInquiryProject extends Command
$domains = DomainInfo::whereIn('project_id', $project->pluck('id')->toArray())->pluck('domain', 'project_id')->toArray();
$form_api = new FormGlobalsoApi();
foreach ($project as $key => $val) {
echo '同步项目:' . $val->id . ' - ' . $val->title . PHP_EOL;
$this->output('同步项目:' . $val->id . ' - ' . $val->title);
// 过滤暂停优化项目, 映射类型2, model没有定义常量
if (in_array(2, $val->level))
continue;
$domain = $domains[$val->id] ?? '';
if(!$domain){
continue;
}
//判断项目7天之内是否有询盘
$recent_inquiry = 0;
$inquiry_list = $form_api->getInquiryList('https://' . $domains[$val->id] . '/', $val->is_upgrade);
$inquiry_list = $form_api->getInquiryList('https://' . $domain . '/', $val->is_upgrade);
$last_inquiry_time = $inquiry_list['data']['data'][0]['submit_time'] ?? '';
if ($last_inquiry_time > $last_week_time) {
$recent_inquiry = 1;
... ... @@ -172,7 +177,7 @@ class SyncInquiryProject extends Command
DB::disconnect('custom_mysql');
}
$project = InquiryProject::saveProject($date, InquiryProject::VERSION_SIX, $val->id, $val->title, $val->channel['channel_id'], 'https://' . $domains[$val->id] . '/', $recent_inquiry);
$project = InquiryProject::saveProject($date, InquiryProject::VERSION_SIX, $val->id, $val->title, $val->channel['channel_id'], 'https://' . $domain . '/', $recent_inquiry);
$this->pushTask($project->id);
}
... ... @@ -220,4 +225,9 @@ class SyncInquiryProject extends Command
file_put_contents(storage_path('logs/zhl/output') . date('Y-m-d') . '.log', $message, FILE_APPEND);
return true;
}
public function output($message)
{
echo date('Y-m-d H:i:s') . ' | ' . $message . PHP_EOL;
}
}
... ...
... ... @@ -5,6 +5,7 @@
* Date: 2025/2/18
* Time: 17:10
*/
namespace App\Console\Commands\Inquiry;
use App\Models\Channel\Channel;
... ... @@ -70,7 +71,8 @@ class SyncInquiryProjectRoute extends Command
continue;
// 同步对应项目路由, 以及删除过期路由
if ($task->version == InquiryProject::VERSION_SIX){
$this->output('同步项目ID:' . $sync_id);
if ($task->version == InquiryProject::VERSION_SIX) {
$this->syncGloV6Route($task);
} else {
$this->syncGloV5Route($task);
... ... @@ -98,7 +100,7 @@ class SyncInquiryProjectRoute extends Command
return false;
}
foreach ($result as $key=>$val) {
foreach ($result as $key => $val) {
try {
$tmp = explode('|', $val);
$url_tmp = parse_url($tmp[0]);
... ... @@ -111,7 +113,7 @@ class SyncInquiryProjectRoute extends Command
InquiryProjectRoute::saveProjectRoute($task->id, $title, $route, $date);
} catch (\Exception $e) {
$this->log('syncGloV5Route 解析路径:' . $val . ', 错误信息:' . $e->getMessage());
echo 'syncGloV5Route 解析路径:' . $val . ', 错误信息:' . $e->getMessage() . PHP_EOL;
$this->output('syncGloV5Route 解析路径:' . $val . ', 错误信息:' . $e->getMessage());
}
}
... ... @@ -127,12 +129,11 @@ class SyncInquiryProjectRoute extends Command
*/
public function syncGloV6Route($task)
{
echo '同步项目ID:' . $task->id . PHP_EOL;
$date = intval(date('Ymd'));
ProjectServer::useProject($task->primary_id);
// 产品分类标题、路由, 产品标题、路由, 同步到路由表
$category = Category::where('status', Category::STATUS_ACTIVE)->get(['title', 'route']);
foreach ($category as $key=>$val) {
foreach ($category as $key => $val) {
InquiryProjectRoute::saveProjectRoute($task->id, $val->title, $val->route, $date);
}
... ... @@ -143,7 +144,7 @@ class SyncInquiryProjectRoute extends Command
if ($product->isEmpty())
break;
foreach ($product as $key=>$val) {
foreach ($product as $key => $val) {
$id = $val->id;
InquiryProjectRoute::saveProjectRoute($task->id, $val->title, $val->route, $date);
}
... ... @@ -181,4 +182,9 @@ class SyncInquiryProjectRoute extends Command
file_put_contents(storage_path('logs/zhl/output') . date('Y-m-d') . '.log', $message, FILE_APPEND);
return true;
}
public function output($message)
{
echo date('Y-m-d H:i:s') . ' | ' . $message . PHP_EOL;
}
}
... ...