作者 刘锟

Merge remote-tracking branch 'origin/master' into akun

... ... @@ -10,6 +10,7 @@ namespace App\Console\Commands\Inquiry;
use App\Helper\Common;
use App\Helper\Gpt;
use App\Helper\Translate;
use App\Helper\Validate;
use App\Models\Ai\AiCommand;
use App\Models\Inquiry\ReInquiryConfig;
use App\Models\Inquiry\ReInquiryDetail;
... ... @@ -329,7 +330,10 @@ class RelayInquiry extends Command
$val->save();
continue;
}
//验证手机号 无效 号码不推送
if(!Validate::phone($val->phone)){
$val->phone = '';
}
try {
$res = false;
foreach ($ad_task as $task){
... ... @@ -357,10 +361,10 @@ class RelayInquiry extends Command
//FB询盘的全局过滤规则
$fb_config = ReInquiryConfig::getDefaultConfigCache(ReInquiryConfig::TYPE_FILTER_WORDS);
$fb_config['filter_contents'] = array_filter(explode("\r\n", $fb_config['filter_contents']?:''));
$fb_config['filter_emails'] = array_filter(explode("\r\n", $fb_config['filter_emails']?:''));
$fb_config['filter_mobiles'] = array_filter(explode("\r\n", $fb_config['filter_mobiles']?:''));
$fb_config['filter_names'] = array_filter(explode("\r\n", $fb_config['filter_names']?:''));
$fb_config['filter_contents'] = array_filter(explode("\r\n", $fb_config['filter_contents']??''));
$fb_config['filter_emails'] = array_filter(explode("\r\n", $fb_config['filter_emails']??''));
$fb_config['filter_mobiles'] = array_filter(explode("\r\n", $fb_config['filter_mobiles']??''));
$fb_config['filter_names'] = array_filter(explode("\r\n", $fb_config['filter_names']??''));
$config['filter_contents'] = array_unique(array_merge($fb_config['filter_contents'],$config['filter_contents']));
$config['filter_emails'] = array_unique(array_merge($fb_config['filter_emails'],$config['filter_emails']));
... ... @@ -382,6 +386,10 @@ class RelayInquiry extends Command
return '过滤邮箱:' . $filter_email;
}
}
//邮箱有效性
if(!Validate::email($data['email'])){
return '邮箱无效';
}
}
//过滤电话
if(!empty($data['phone']) && !empty($config['filter_mobiles'])){
... ...
... ... @@ -225,7 +225,7 @@ class DownloadProject extends Command
foreach ($data['inquiry_country'] as $k => $v){
$country .= $k.'、';
};
trim($country,'、');
$country = trim($country,'、');
$content1 = '询盘主要来源于'.$country.'等国家地区';
}
$content1 .= '如有高质量客户,请您密切关注与跟进;';
... ... @@ -306,7 +306,7 @@ class DownloadProject extends Command
}
$arr[] = $content4;
foreach ($arr as $key => $val){
$content .= $key.','.$val;
$content .= ($key+1).','.$val;
}
$timestamp = strtotime('tomorrow 9:00 AM');
$tomorrowNineAM = date('Y-m-d H:i:s', $timestamp);
... ...
... ... @@ -156,7 +156,7 @@ class WeekProject extends Command
foreach ($data['inquiry_country'] as $k => $v){
$country .= $k.'、';
};
trim($country,'、');
$country = trim($country,'、');
$content1 .= '询盘主要来源于'.$country.'等国家地区';
}
$content1 .= '如有高质量客户,请您密切关注与跟进;';
... ... @@ -245,12 +245,13 @@ class WeekProject extends Command
'project_id'=>$project_id,
'friend_id'=>$friend_id,
'type'=>MessagePush::TYPE_WEEK,
'content'=>$content,
'content'=>'【全球搜V6.0周报】'.$content,
'ref_ids'=>'',
'send_time'=>$tomorrowNineAM
];
//写入一条推送消息 自动消费
$messagePushModel = new MessagePush();
$messagePushModel->add($param);
echo date('Y-m-d H:i:s') . '生成推送消息:'.$project_id . PHP_EOL;
return $messagePushModel->add($param);
}
}
... ...
<?php
namespace App\Helper;
use App\Utils\HttpUtils;
use GuzzleHttp\Exception\GuzzleException;
/**
* Class Validate
* @package App\Helper
* @author zbj
* @date 2025/2/27
*/
class Validate
{
/**
* 邮箱有效性
* @param $email
* @return bool
* @author zbj
* @date 2025/2/27
*/
public static function email($email)
{
try {
$res = HttpUtils::get('https://fob.ai.cc/api/check_email', ['email' => $email]);
$res = Arr::s2a($res);
$status = $res['data']['status'] ?? 0;
} catch (\Exception | GuzzleException $e) {
$status = 0;
}
return !($status == 4);
}
/**
* 邮箱有效性
* @param $email
* @return bool
* @author zbj
* @date 2025/2/27
*/
public static function phone($email)
{
try {
$res = HttpUtils::get('https://fob.ai.cc/api/check_phone', ['phone' => $email]);
$res = Arr::s2a($res);
$status = $res['data']['valid_status'] ?? 0;
} catch (\Exception | GuzzleException $e) {
$status = 0;
}
return !($status == 2);
}
}
... ...
... ... @@ -25,7 +25,7 @@ class WebSettingTextLogic extends BaseLogic
*/
public function setting_read(){
$web_setting = new WebSetting();
$setting_info = $web_setting->read(['project_id'=>$this->user['project_id']],['anchor_setting','anchor_is_enable','anchor_num','anchor_page_num']);
$setting_info = $web_setting->read(['project_id'=>$this->user['project_id']],['anchor_setting','anchor_is_enable','anchor_keyword_is_enable','anchor_num','anchor_page_num']);
if($setting_info === false){
$setting_info = [];
}
... ...