From f39f3a3ce66ed4ac08801d309b7f326699c8de6e Mon Sep 17 00:00:00 2001 From: gcd Date: Wed, 7 May 2025 22:04:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BB=86=E8=8A=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common.php | 17 ++++++++++++++ application/common/model/Order.php | 23 +++++++++++++++++++ application/services/OrderDispatchService.php | 4 +++- 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/application/common.php b/application/common.php index bdabd39..993baf7 100755 --- a/application/common.php +++ b/application/common.php @@ -544,3 +544,20 @@ if (!function_exists('maskExceptFirstChar')) { } } +if (!function_exists('maskPhone')) { + function maskPhone($phone) { + $length = strlen($phone); + + if ($length === 11) { + return substr($phone, 0, 3) . '****' . substr($phone, 7); + } + + if ($length >= 3) { + return substr($phone, 0, 3) . str_repeat('*', $length - 3); + } + + return str_repeat('*', $length); + } + +} + diff --git a/application/common/model/Order.php b/application/common/model/Order.php index 58c144c..9d90050 100644 --- a/application/common/model/Order.php +++ b/application/common/model/Order.php @@ -23,4 +23,27 @@ class Order extends Model { return maskExceptFirstChar($val); } + + public function getTelAttr(string $val, array $data) + { + if ($data['status'] !== \app\admin\model\Order::STATUS_DISPATCHED) { + return maskPhone($val); + } + + return $val; + } + + public function getImagesAttr($val) + { + if (empty($val)) { + return []; + } + + $images = explode(',', $val); + foreach ($images as $k => $v) { + $images[$k] = cdnurl($v, true); + } + + return $images; + } } diff --git a/application/services/OrderDispatchService.php b/application/services/OrderDispatchService.php index 24cd514..6b717f9 100644 --- a/application/services/OrderDispatchService.php +++ b/application/services/OrderDispatchService.php @@ -202,6 +202,8 @@ class OrderDispatchService extends BaseService 'tel', 'remark', 'detail', + 'images', + 'status', ]; $orderDispatchFields = [ 'id', @@ -331,7 +333,7 @@ class OrderDispatchService extends BaseService $orderDispatch->images = $this->removeStrCdnUrl($params['complete_images']); $orderDispatch->finish_time = $time; - if ($params['receive_type'] === 1) { + if ($params['receive_type'] == 1) { $orderDispatch->image = $this->removeStrCdnUrl($params['payment_image']); $orderDispatch->offline_total_type = $params['offline_total_type'];