1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
requester.php
См. документацию.
1<?php
2
3namespace Sale\Handlers\Delivery\Additional\RusPost\Reliability;
4
5use Bitrix\Sale\Delivery\Requests;
6use Sale\Handlers\Delivery\Additional;
7
13class Requester
14{
15 private $deliveryRequestsHandler = null;
16
21 public function __construct(Additional\DeliveryRequests\RusPost\Handler $deliveryRequestsHandler)
22 {
23 $this->deliveryRequestsHandler = $deliveryRequestsHandler;
24 }
25
30 public function request(ReliabilityCollection $collection)
31 {
32 return $this->obtainDataFromRequestResult(
33 $this->deliveryRequestsHandler->send(
34 'UNRELIABLE_RECIPIENT',
35 $this->createRequestData($collection)
36 ),
37 $collection
38 );
39 }
40
41 private function obtainDataFromRequestResult(Requests\Result $result, ReliabilityCollection $collection)
42 {
43 if(!$result->isSuccess())
44 {
45 return false;
46 }
47
48 foreach ($result->getData() as $resultItem)
49 {
50 $reliability = Service::UNKNOWN;
51
52 if (isset($resultItem['unreliability']))
53 {
54 if ($resultItem['unreliability'] === 'RELIABLE')
55 {
56 $reliability = Service::RELIABLE;
57 }
58 elseif ($resultItem['unreliability'] === 'FRAUD')
59 {
60 $reliability = Service::FRAUD;
61 }
62 }
63
64 $hash = Service::createHash($resultItem['raw-full-name'], $resultItem['raw-address'], $resultItem['raw-telephone']);
65
67 if($askedItem = $collection->getByPrimary($hash))
68 {
69 $askedItem->setReliability($reliability);
70 }
71 }
72
73 return $collection;
74 }
75
80 private function createRequestData(ReliabilityCollection $collection)
81 {
82 $result = [];
83
85 foreach ($collection as $item)
86 {
87 $result [] = [
88 'raw-address' => $item->getAddress(),
89 'raw-full-name' => $item->getFullName(),
90 'raw-telephone' => $item->getPhone()
91 ];
92 }
93
94 return $result;
95 }
96}
$hash
Определения ajax_redirector.php:8
$result
Определения get_property_values.php:14
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393