| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace App\Services;
- use App\OracleDocOrderDeliveryInfo;
- use App\OracleDOCOrderHeader;
- use App\Services\Interfaces\DeliveryInterface;
- class PDDDeliveryService implements DeliveryInterface
- {
- function getDeliveryInfo($orderCodes, $logisticNumbers): ?array
- {
- $orderCodes = OracleDOCOrderHeader::query()->whereIn('orderNo', $orderCodes)->where('consigneeId', 'PDD')->get()->map(function ($item) {
- return $item->orderno;
- });
- $infos = OracleDocOrderDeliveryInfo::query()->selectRaw('trackingNo')->whereIn('orderNo', $orderCodes)->get()->map(function ($item) {
- return $item->trackingno;
- })->toArray();
- $trackingNos = array_unique(array_merge($logisticNumbers, $infos));
- if (!$trackingNos)return [];
- return OracleDocOrderDeliveryInfo::query()->with('docOrderHeader')->whereIn('trackingNo', $trackingNos)->get()->map(function ($item) {
- return [
- 'type' => 'PDD',
- 'component_type' => 'PDD',
- 'owner_code' => $item->docOrderHeader->custemid ?? '',
- 'logistic_code' => $item->docOrderHeader->userdefine1 ?? '',
- 'data' => $item->userdefine1,
- 'logistic_number' => $item['trackingno'],
- 'delivery' => $this->getDelivery($item),
- 'base64' => $this->getBase64($item),
- ];
- })->toArray();
- }
- public function getDelivery($item)
- {
- return null;
- }
- public function getBase64($item)
- {
- return null;
- }
- function processing($params)
- {
- // TODO: Implement processing() method.
- }
- }
|