diff --git a/app/services/order/StoreOrderServices.php b/app/services/order/StoreOrderServices.php index c61854b..4e3f46c 100644 --- a/app/services/order/StoreOrderServices.php +++ b/app/services/order/StoreOrderServices.php @@ -1814,7 +1814,7 @@ HTML; } } $userInfo['real_name'] = !isset($user['real_name']) || !$user['real_name'] ? $user['nickname'] : $user['real_name']; - $userInfo['record_pone'] = !isset($user['record_phone']) || !$user['record_phone'] ? $user['phone'] : $user['record_phone']; + $userInfo['record_phone'] = !isset($user['record_phone']) || !$user['record_phone'] ? $user['phone'] : $user['record_phone']; $data['userInfo'] = $userInfo; $data['offlinePostage'] = $other['offlinePostage']; $data['integralRatio'] = $other['integralRatio']; diff --git a/app/services/order/cashier/CashierOrderServices.php b/app/services/order/cashier/CashierOrderServices.php index 54328e3..d9cc6c1 100644 --- a/app/services/order/cashier/CashierOrderServices.php +++ b/app/services/order/cashier/CashierOrderServices.php @@ -30,6 +30,7 @@ use app\services\user\level\UserLevelServices; use app\services\user\UserAddressServices; use app\services\user\UserInvoiceServices; use app\services\user\UserServices; +use app\services\other\PrivacyPhoneServices; use crmeb\services\CacheService; use crmeb\traits\OptionTrait; use think\annotation\Inject; @@ -203,7 +204,7 @@ class CashierOrderServices extends BaseServices } } $userInfo['real_name'] = $user['real_name'] ?? $user['nickname'] ?? ''; - $userInfo['record_pone'] = $user['record_pone'] ?? $user['phone'] ?? ''; + $userInfo['record_phone'] = $user['record_phone'] ?? $user['phone'] ?? ''; $data['userInfo'] = $userInfo; $data['offlinePostage'] = $other['offlinePostage']; $data['integralRatio'] = $other['integralRatio']; @@ -404,12 +405,33 @@ class CashierOrderServices extends BaseServices /** @var StoreOrderCreateServices $orderServices */ $orderServices = app()->make(StoreOrderCreateServices::class); $product_type = (int)$deduction['product_type'] ?? 0; + + $realPhone = $addressInfo['phone'] ?: $userInfo['phone'] ?? ''; + $orderUserPhone = $realPhone; + $bindId = ''; + $privatePhoneStatus = 0; + + /** @var PrivacyPhoneServices $privacyPhoneServices */ + $privacyPhoneServices = app()->make(PrivacyPhoneServices::class); + if ($privacyPhoneServices->isEnabled() && $realPhone) { + try { + $privateData = $privacyPhoneServices->bindForOrder($realPhone); + if ($privateData['user_phone']) { + $orderUserPhone = $privateData['user_phone']; + $bindId = $privateData['bind_id']; + $privatePhoneStatus = $privateData['status']; + } + } catch (\Exception $e) { + Log::error('收银台隐私小号绑定失败', ['error' => $e->getMessage()]); + } + } + $orderInfo = [ 'uid' => $uid, 'type' => $type, 'order_id' => $orderServices->getNewOrderId(), 'real_name' => $addressInfo['real_name'] ?: $userInfo['nickname'] ?? '', - 'user_phone' => $addressInfo['phone'] ?: $userInfo['phone'] ?? '', + 'user_phone' => $orderUserPhone, 'user_address' => isset($addressInfo['addressInfo']) && $addressInfo['addressInfo'] ? $addressInfo['addressInfo'] : $addressInfo['province'] . ' ' . $addressInfo['city'] . ' ' . $addressInfo['district'] . ' ' . $addressInfo['street'] . ' ' . $addressInfo['detail'], 'cart_id' => $cartIds, 'clerk_id' => 0, @@ -448,6 +470,8 @@ class CashierOrderServices extends BaseServices 'division_id' => $userInfo['division_id'] ?? 0, 'division_agent_id' => $userInfo['agent_id'] ?? 0, 'division_staff_id' => $userInfo['staff_id'] ?? 0, + 'private_bind_id' => $bindId, + 'private_phone_status' => $privatePhoneStatus, ]; if ($product_type == 4 || $shippingType == 2) {//次卡商品收银台购买 $orderInfo['verify_code'] = $orderServices->getStoreCode();