作者 lyh

Merge branch 'master' of http://47.244.231.31:8099/zhl/globalso-v6 into lyh-server

... ... @@ -982,17 +982,17 @@ class RelayInquiry extends Command
$inquiry_date = Carbon::make($inquiry_date);
//当天的
if($inquiry_date->isToday()){
//广告投放日(周一、二、三) 第一封询盘100%及时推送
$is_first = false;
if(in_array($inquiry_date->weekday(), [1,2,3])) {
//广告投放日(周一、二、三、四) 第一封询盘100%及时推送
$is_timely = true; //是否及时推送
if(in_array($inquiry_date->weekday(), [1,2,3,4])) {
//是否今天的第一封询盘
$detail = ReInquiryDetail::where('re_website', $domain)->where('start_at', '>=', $inquiry_date->startOfDay()->toDatetimeString())->first();
if(!$detail){
$is_first = true;
if($detail){
$is_timely = false; //只有周一到周四的非第一封询盘 根据概率及时推送
}
}
//非广告投放日第一封询盘
if(!$is_first && $task->second_push_rate != 100){
//概率及时推送
if(!$is_timely && $task->second_push_rate != 100){
//按概率
$res = $this->get_rand([$task->second_push_rate, 100 - $task->second_push_rate]);
if($res == 1){
... ...
... ... @@ -97,7 +97,7 @@ class SyncSubmitTask extends Command
}
$task_info->save();
Log::channel('inquiry')->error($task_id . '处理失败', [$e->getMessage(), $e->getFile(), $e->getLine()]);
$this->output('任务失败:' . $e->getMessage());
$this->output('任务失败:' . $e->getMessage() . $e->getFile() . $e->getLine());
}
$use_time = time() - $time;
... ...
... ... @@ -245,4 +245,41 @@ class Arr extends \Illuminate\Support\Arr
}, $arr));
return json_encode(array_values(array_unique(array_filter($array))));
}
/**
* 数组转文本html数组
* @param $array
* @param $indentLevel
* @return array
* @author zbj
* @date 2025/9/26
*/
public static function formatForHtml($array, $indentLevel = 0) {
$result = [];
$indent = str_repeat('    ', $indentLevel);
foreach ($array as $key => $value) {
$isNumericKey = is_numeric($key);
if (is_array($value)) {
if (!$isNumericKey) {
$result[] = "{$indent}{$key}:<br/>";
$nestedResult = self::formatForHtml($value, $indentLevel + 1);
} else {
$key && $result[] = '<br/>';
$nestedResult = self::formatForHtml($value, $indentLevel);
}
$result = array_merge($result, $nestedResult);
} else {
if ($isNumericKey) {
$result[] = "{$indent}{$value}<br/>";
} else {
$result[] = "{$indent}{$key}: {$value}<br/>";
}
}
}
return $result;
}
}
... ...
... ... @@ -155,8 +155,8 @@ class RankDataController extends BaseController
'cnt_first' => '排名第一',
'cnt_home' => '第一页',
'cnt_thirty' => '前三页',
'cnt_fifty' => '前五页',
'cnt_hundred' => '前十页',
// 'cnt_fifty' => '前五页',
// 'cnt_hundred' => '前十页',
'reach' => '是否达标',
];
}
... ...
... ... @@ -2,6 +2,7 @@
namespace App\Models\Inquiry;
use App\Helper\Arr;
use App\Helper\FormGlobalsoApi;
use App\Models\Base;
use App\Utils\LogUtils;
... ... @@ -83,6 +84,12 @@ class InquiryFormData extends Base
$v = getImageUrl($v['path']);
$data[$k] = $v;
}
if(is_string($v)){
$arr = json_decode($v, true);
if(is_array($arr)){
$v = implode('', Arr::formatForHtml($arr));
}
}
//其他字段补充到message里
if(!in_array($k, ['name', 'email', 'message', 'phone', 'ip', 'date', 'cname', 'domain', 'edition', 'domain_host_url'])){
$data['message'].= "<br/>" . $k .': ' . $v;
... ...
... ... @@ -9,6 +9,7 @@ use App\Models\Base;
use App\Models\Domain\DomainInfo;
use App\Models\Project\Project;
use App\Models\Task\TaskOwner;
use App\Services\DingService;
use App\Utils\HttpUtils;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Cache;
... ... @@ -68,6 +69,18 @@ class ReInquiryCount extends Base
$model->task_ids = $model->task_ids + [$task_id];
$model->num = $model->num + $num;
$model->save();
//数量首次达到100, 给钉钉推送消息
if($num > 0 && $model->num == 100){
(new DingService())->handle([
'keyword' => '询盘数量通知',
'msg' =>
'项目名称:' . $model->company . PHP_EOL .
'项目域名:' . $model->domain . PHP_EOL .
'询盘数量:' . $model->num,
'isAtAll' => false, // 是否@所有人
], 'https://oapi.dingtalk.com/robot/send?access_token=cd5733d3e6b810a501e3ea20df7c99ecb616aa6754fa048348837d088c1f5b2c');
}
}
public function setTaskIdsAttribute($value)
... ...