From 5493e16daf942af94f957460a066f46ce6e9cf7b Mon Sep 17 00:00:00 2001 From: yaooo <272523191@qq.com> Date: Fri, 18 Aug 2023 14:15:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9F=AD=E4=BF=A1=E5=8F=96?= =?UTF-8?q?=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/listener/DeliveryGoods.php | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/app/listener/DeliveryGoods.php b/app/listener/DeliveryGoods.php index caaa2104..37b28212 100644 --- a/app/listener/DeliveryGoods.php +++ b/app/listener/DeliveryGoods.php @@ -26,12 +26,42 @@ class DeliveryGoods public function sendLogisticsCode($uid, $orderId, $orderSn) { //收货人短信 $phone = StoreOrder::where('order_id', $orderId)->value('user_phone'); + $realName = StoreOrder::where('order_id', $orderId)->value('real_name'); + if ($realName) { + $realName = $this->hidestr($realName, 1, 0); + } else { + $realName = '**'; + } $logisticsCode = StoreOrder::where('order_id', $orderId)->value('logistics_code'); $logisticsPhone = StoreOrder::where('order_id', $orderId)->value('logistics_phone'); if ($phone) { Log::info("发送短信 {$phone}, orderId: {$orderId}"); - SmsService::create()->send($phone, 'TAKEGOOD_CODE', ['number' => substr($orderSn, -6), 'number2' => $logisticsCode, 'phone' => $logisticsPhone ?? '']); + SmsService::create()->send($phone, 'PICKUP_CODE', ['name' => $realName, 'number' => substr($orderSn, -6), 'number2' => $logisticsCode, 'phone' => $logisticsPhone ?? '']); } } + public function hidestr($string, $start = 0, $length = 0, $re = '*') { + if (empty($string)) return false; + $strarr = array(); + $mb_strlen = mb_strlen($string); + while ($mb_strlen) { + $strarr[] = mb_substr($string, 0, 1, 'utf8'); + $string = mb_substr($string, 1, $mb_strlen, 'utf8'); + $mb_strlen = mb_strlen($string); + } + $strlen = count($strarr); + $begin = $start >= 0 ? $start : ($strlen - abs($start)); + $end = $last = $strlen - 1; + if ($length > 0) { + $end = $begin + $length - 1; + } elseif ($length < 0) { + $end -= abs($length); + } + for ($i=$begin; $i<=$end; $i++) { + $strarr[$i] = $re; + } + if ($begin >= $end || $begin >= $last || $end > $last) return false; + return implode('', $strarr); + } + } \ No newline at end of file