diff --git a/app/common/repositories/store/order/StoreOrderCreateRepository.php b/app/common/repositories/store/order/StoreOrderCreateRepository.php index cb0418b6..f881902f 100644 --- a/app/common/repositories/store/order/StoreOrderCreateRepository.php +++ b/app/common/repositories/store/order/StoreOrderCreateRepository.php @@ -26,6 +26,7 @@ use app\validate\api\OrderVirtualFieldValidate; use app\validate\api\UserAddressValidate; use crmeb\jobs\SendSmsJob; use crmeb\services\SwooleTaskService; +use crmeb\utils\Curl; use think\exception\ValidateException; use think\facade\Db; use think\facade\Queue; @@ -107,16 +108,17 @@ class StoreOrderCreateRepository extends StoreOrderRepository if ($cart['product']['extend']) { $order_extend = json_decode($cart['product']['extend'], true); } + $allowDelivery = true; if ($address) { - if ($cart['source'] == 0) { - // $userAddressCode = ($address['province_code'] ?? '') . ',' . ($address['city_code'] ?? '') . ',' . ($address['district_code'] ?? '') . ',' . ($address['street_code'] ?? '') . ',' . ($address['village_code'] ?? '') . ',' . ($address['brigade_id'] ?? 0); - // $getUrl = env('LOGISTICS_HOST_URL') . '/api/hasCourier?user_address_code=' . $userAddressCode; - // $client = new \GuzzleHttp\Client(); - // $response = $client->request('GET', $getUrl); - // $courierData = json_decode($response->getBody(), true); - // if (empty($courierData['code']) || $courierData['code'] != 1) { - // throw new ValidateException('该收货区域未设置快递员'); - // } + if ($cart['source'] == 0 || $cart['source'] == 103) { + $userAddressCode = ($address['province_code'] ?? '') . ',' . ($address['city_code'] ?? '') . ',' . ($address['district_code'] ?? '') . ',' . ($address['street_code'] ?? '') . ',' . ($address['village_code'] ?? '') . ',' . ($address['brigade_id'] ?? 0); + $getUrl = env('LOGISTICS_HOST_URL') . '/api/hasCourier?user_address_code=' . $userAddressCode; + $curl = new Curl(); + $response = $curl->get($getUrl); + $courierData = json_decode($response, true); + if (empty($courierData['data']['user_id'])) { + $allowDelivery = false; + } } } } @@ -664,7 +666,8 @@ class StoreOrderCreateRepository extends StoreOrderRepository 'key', 'platformConsumption', 'consumption_money', - 'consumption_id' + 'consumption_id', + 'allowDelivery' ) + ['allow_address' => !$allow_no_address, 'order_delivery_status' => $orderDeliveryStatus]; }