37 行
1.1 KiB
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);
|
|
}
|
|
}
|