询单url调整

This commit is contained in:
2025-07-28 18:49:33 +08:00
parent 1a54a55653
commit 22bee76835
4 changed files with 188 additions and 121 deletions
+49
View File
@@ -0,0 +1,49 @@
<?php
namespace app\command;
use app\common\model\User;
use app\common\model\UserSn;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Helper\Table;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use support\Db;
class TbCommand extends Command
{
protected static $defaultName = 'tb-db';
protected static $defaultDescription = '';
protected function execute(InputInterface $input, OutputInterface $output): int
{
$user = new User();
$list = $user->all();
foreach ($list as $item) {
// UserSn::where('user_sn', $item->sn)->update(['user_id' => $item->id]);
}
return self::SUCCESS;
}
}
function replaceRichTextUrls($input) {
// 匹配旧域名及其引号包裹情况(包含http/https协议)
$pattern = '#(https?://server\.xyh\.hnzhwlkj\.club|["\']https?://server\.xyh\.hnzhwlkj\.club)(/[^\s"\'<>]*)?#iu';
$replacement = function ($matches) {
$originalQuote = '';
$path = $matches[2] ?? '';
// 检测是否以引号开头
if (isset($matches[0][0]) && in_array($matches[0][0], ['"', "'"])) {
$originalQuote = $matches[0][0];
}
// 构建新URL(强制使用http协议)
return $originalQuote . 'http://219.157.255.213:25326' . $path;
};
return preg_replace_callback($pattern, $replacement, $input);
}
+120 -120
View File
@@ -38,7 +38,7 @@ class InquiryLogController extends BaseController
$data['r_time'] = $data['r_time'] > 0 ? date('Y-m-d H:i:s', $data['r_time']) : 0; $data['r_time'] = $data['r_time'] > 0 ? date('Y-m-d H:i:s', $data['r_time']) : 0;
if (isset($data['t_time'])) if (isset($data['t_time']))
$data['t_time'] = $data['t_time'] > 0 ? date('Y-m-d H:i:s', $data['t_time']) : 0; $data['t_time'] = $data['t_time'] > 0 ? date('Y-m-d H:i:s', $data['t_time']) : 0;
// var_dump($data);
return $data; return $data;
} }
@@ -77,131 +77,131 @@ class InquiryLogController extends BaseController
} }
// 导出 // 导出
public function export(Request $request) // public function export(Request $request)
{ // {
if ($request->method() == "POST") { // if ($request->method() == "POST") {
$data = $request->all(); // $data = $request->all();
$where = []; // $where = [];
if (isset($data['log_lusers']) && $data['log_lusers']) { // if (isset($data['log_lusers']) && $data['log_lusers']) {
$where[] = ['enter_user_id', '=', $data['log_lusers']]; // $where[] = ['enter_user_id', '=', $data['log_lusers']];
} // }
if (isset($data['log_gusers']) && $data['log_gusers']) { // if (isset($data['log_gusers']) && $data['log_gusers']) {
$where[] = ['recipient', '=', $data['log_gusers']]; // $where[] = ['recipient', '=', $data['log_gusers']];
} // }
if (isset($data['log_country']) && $data['log_country']) { // if (isset($data['log_country']) && $data['log_country']) {
$where[] = ['log_country', '=', $data['log_country']]; // $where[] = ['log_country', '=', $data['log_country']];
} // }
if (isset($data['log_channel']) && $data['log_channel']) { // if (isset($data['log_channel']) && $data['log_channel']) {
$where[] = ['log_type', '=', $data['log_channel']]; // $where[] = ['log_type', '=', $data['log_channel']];
} // }
if (isset($data['log_times']) && $data['log_times']) { // if (isset($data['log_times']) && $data['log_times']) {
$times = explode(' - ', $data["log_times"]); // $times = explode(' - ', $data["log_times"]);
$specificDayStart = trim($times[0]); // $specificDayStart = trim($times[0]);
$specificDayEnd = trim($times[1]); // $specificDayEnd = trim($times[1]);
$where[] = [ // $where[] = [
"c_time", ">", strtotime($specificDayStart) // "c_time", ">", strtotime($specificDayStart)
]; // ];
$where[] = [ // $where[] = [
"c_time", "<=", strtotime($specificDayEnd) // "c_time", "<=", strtotime($specificDayEnd)
]; // ];
} // }
// 查询 // // 查询
$results = InquiryLogModel::with(['enterUser', 'recipientUser', 'country']) // $results = InquiryLogModel::with(['enterUser', 'recipientUser', 'country'])
->where($where) // ->where($where)
->get() // ->get()
->map(function ($log) use($data) { // ->map(function ($log) use($data) {
$arr = []; // $arr = [];
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['订单号'] = $log->order_no; // $arr['订单号'] = $log->order_no;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['录入人'] = $log->enterUser->name ?? null; // $arr['录入人'] = $log->enterUser->name ?? null;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['接单人'] = $log->recipientUser->name ?? null; // $arr['接单人'] = $log->recipientUser->name ?? null;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['等级'] = $log->log_quality; // $arr['等级'] = $log->log_quality;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['邮箱'] = $log->log_contact_type; // $arr['邮箱'] = $log->log_contact_type;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['电话'] = $log->log_contact_tel; // $arr['电话'] = $log->log_contact_tel;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['WhatsApp'] = $log->log_contact_whatsapp; // $arr['WhatsApp'] = $log->log_contact_whatsapp;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['联系人'] = $log->log_contacts; // $arr['联系人'] = $log->log_contacts;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['国家(中文)'] = $log->country->cn_addr ?? null; // $arr['国家(中文)'] = $log->country->cn_addr ?? null;
} // }
if (isset($data['hsl_order_no']) && $data['hsl_order_no']) { // if (isset($data['hsl_order_no']) && $data['hsl_order_no']) {
$arr['国家(英文)'] = $log->country->en_full_name ?? null; // $arr['国家(英文)'] = $log->country->en_full_name ?? null;
} // }
if (isset($data['hsl_r_time']) && $data['hsl_r_time']) { // if (isset($data['hsl_r_time']) && $data['hsl_r_time']) {
$arr['发单时间'] = $log->r_time ? date('Y-m-d H:i:s', $log->r_time) : null; // $arr['发单时间'] = $log->r_time ? date('Y-m-d H:i:s', $log->r_time) : null;
} // }
if (isset($data['hsl_t_time']) && $data['hsl_t_time']) { // if (isset($data['hsl_t_time']) && $data['hsl_t_time']) {
$arr['跟单时间'] = $log->t_time ? date('Y-m-d H:i:s', $log->t_time) : null; // $arr['跟单时间'] = $log->t_time ? date('Y-m-d H:i:s', $log->t_time) : null;
} // }
return $arr; // return $arr;
}); // });
// 创建一个新的 Spreadsheet 对象 // // 创建一个新的 Spreadsheet 对象
$spreadsheet = new Spreadsheet(); // $spreadsheet = new Spreadsheet();
// 设置当前活动的工作表 // // 设置当前活动的工作表
$sheet = $spreadsheet->getActiveSheet(); // $sheet = $spreadsheet->getActiveSheet();
// 设置工作表的标题 // // 设置工作表的标题
$sheet->setCellValue('A1', '订单号'); // $sheet->setCellValue('A1', '订单号');
$sheet->setCellValue('B1', '录入人'); // $sheet->setCellValue('B1', '录入人');
$sheet->setCellValue('C1', '接单人'); // $sheet->setCellValue('C1', '接单人');
$sheet->setCellValue('D1', '等级'); // $sheet->setCellValue('D1', '等级');
$sheet->setCellValue('E1', '邮箱'); // $sheet->setCellValue('E1', '邮箱');
$sheet->setCellValue('F1', '电话'); // $sheet->setCellValue('F1', '电话');
$sheet->setCellValue('G1', 'WhatsApp'); // $sheet->setCellValue('G1', 'WhatsApp');
$sheet->setCellValue('H1', '联系人'); // $sheet->setCellValue('H1', '联系人');
$sheet->setCellValue('I1', '国家(中文)'); // $sheet->setCellValue('I1', '国家(中文)');
$sheet->setCellValue('J1', '国家(英文)'); // $sheet->setCellValue('J1', '国家(英文)');
$sheet->setCellValue('K1', '发单时间'); // $sheet->setCellValue('K1', '发单时间');
$sheet->setCellValue('L1', '跟单时间'); // $sheet->setCellValue('L1', '跟单时间');
$data = $results->toArray(); // $data = $results->toArray();
// 将数据填充到工作表中 // // 将数据填充到工作表中
$row = 2; // 从第2行开始填充 // $row = 2; // 从第2行开始填充
foreach ($data as $item) { // foreach ($data as $item) {
$sheet->setCellValue('A' . $row, $item['订单号']); // $sheet->setCellValue('A' . $row, $item['订单号']);
$sheet->setCellValue('B' . $row, $item['录入人']); // $sheet->setCellValue('B' . $row, $item['录入人']);
$sheet->setCellValue('C' . $row, $item['接单人']); // $sheet->setCellValue('C' . $row, $item['接单人']);
$sheet->setCellValue('D' . $row, $item['等级']); // $sheet->setCellValue('D' . $row, $item['等级']);
$sheet->setCellValue('E' . $row, $item['邮箱']); // $sheet->setCellValue('E' . $row, $item['邮箱']);
$sheet->setCellValue('F' . $row, $item['电话']); // $sheet->setCellValue('F' . $row, $item['电话']);
$sheet->setCellValue('G' . $row, $item['WhatsApp']); // $sheet->setCellValue('G' . $row, $item['WhatsApp']);
$sheet->setCellValue('H' . $row, $item['联系人']); // $sheet->setCellValue('H' . $row, $item['联系人']);
$sheet->setCellValue('I' . $row, $item['国家(中文)']); // $sheet->setCellValue('I' . $row, $item['国家(中文)']);
$sheet->setCellValue('J' . $row, $item['国家(英文)']); // $sheet->setCellValue('J' . $row, $item['国家(英文)']);
$sheet->setCellValue('K' . $row, $item['发单时间']); // $sheet->setCellValue('K' . $row, $item['发单时间']);
$sheet->setCellValue('L' . $row, $item['跟单时间']); // $sheet->setCellValue('L' . $row, $item['跟单时间']);
$row++; // $row++;
} // }
// 创建 Excel 文件的写入器 // // 创建 Excel 文件的写入器
$writer = new Xlsx($spreadsheet); // $writer = new Xlsx($spreadsheet);
// 名称 // // 名称
$fileName = $request->user->name.'_'.date('Ymd').'_'.uniqid().'.xlsx'; // $fileName = $request->user->name.'_'.date('Ymd').'_'.uniqid().'.xlsx';
// 路径 // // 路径
$filePath = '/export/'.$fileName; // $filePath = '/export/'.$fileName;
// 将文件保存到本地 // // 将文件保存到本地
$writer->save(public_path().$filePath); // $writer->save(public_path().$filePath);
return $this->successResponse(['url'=>$filePath, 'name'=>$fileName]); // return $this->successResponse(['url'=>$filePath, 'name'=>$fileName]);
} // }
return view('inquiry-log/export'); // return view('inquiry-log/export');
} // }
} }
+17 -1
View File
@@ -127,6 +127,22 @@ class InquiryLogService
$data['email'] = trim($data["email"]); $data['email'] = trim($data["email"]);
$data['tel'] = trim($data['tel']); $data['tel'] = trim($data['tel']);
$data['whatsapp'] = trim($data['whatsapp']); $data['whatsapp'] = trim($data['whatsapp']);
// 将OSS直连地址替换为代理地址
$ossDomain = 'https://vehicle-album.oss-cn-beijing.aliyuncs.com/';
$proxyPath = getenv('MAIN_DOMAIN').'/proxy/ossurl?file=';
$data['content'] = str_replace(
'?Expires=',
'&Expires=',
$data['content']
);
$data['content'] = str_replace(
$ossDomain,
$proxyPath,
$data['content']
);
return $data; return $data;
} }
@@ -219,7 +235,7 @@ class InquiryLogService
$quality = [ $quality = [
1 => '💛 金牌商机', 1 => '💛 金牌商机',
2 => '🤍 银牌商机', 2 => '🤍 银牌商机',
3 => '🤍 银牌商机' 3 => '🧡 银牌商机'
]; ];
return $quality[$id]; return $quality[$id];
} }
+2
View File
@@ -33,6 +33,8 @@ Route::any('/perm', [app\controller\IndexController::class, 'perm']);
Route::any('/feishu/event', [app\common\controller\NotifyController::class, 'feishuEvent']); Route::any('/feishu/event', [app\common\controller\NotifyController::class, 'feishuEvent']);
// 飞书回调 // 飞书回调
Route::any('/feishu/callback', [app\common\controller\NotifyController::class, 'feishuCallback']); Route::any('/feishu/callback', [app\common\controller\NotifyController::class, 'feishuCallback']);
// 代理oss文件地址
Route::any('/proxy/ossurl', [app\common\controller\UploadController::class, 'proxy']);
// 公共 // 公共
Route::group('/common', function () { Route::group('/common', function () {