文件
xionggeshop/addons/shopro_aliyun_express/library/QueryLogger.php

37 行
1.1 KiB
PHP

<?php
namespace addons\shopro_aliyun_express\library;
use think\Db;
class QueryLogger
{
public static function log($provider, $waybillNo, $phone, $expressCode, $success, $statusCode, $message, $durationMs)
{
try {
Db::name('shopro_aliyun_express_query_log')->insert([
'provider' => $provider,
'waybill_number' => $waybillNo,
'phone' => self::maskPhone($phone),
'express_code' => $expressCode,
'status_code' => intval($statusCode),
'success' => $success ? 1 : 0,
'message' => mb_substr((string) $message, 0, 255),
'duration_ms' => intval($durationMs),
'createtime' => time(),
]);
} catch (\Exception $e) {
// ignore logging failures
}
}
protected static function maskPhone($phone)
{
$phone = trim((string) $phone);
if (strlen($phone) <= 4) {
return $phone;
}
return str_repeat('*', max(0, strlen($phone) - 4)) . substr($phone, -4);
}
}