| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- namespace App\Services;
- use App\OrderIssue;
- use App\OrderPackage;
- use App\WorkOrder;
- use Illuminate\Support\Facades\Http;
- class SyncSWMSOrderIssueAndWorkOrderService
- {
- private function getLogisticNumber($orderId)
- {
- return OrderPackage::query()->where("order_id", $orderId)->get()->map(function ($item) {
- return $item->logistic_number;
- });
- }
- public function sendOrderIssue(OrderIssue $orderIssue)
- {
- // TODO 这里遗留待处理
- $url = config('api.java.base') . config('api.java.reject.syncOrderIssue');
- $logisticNumbers = $this->getLogisticNumber($orderIssue->order_id);
- if (sizeof($logisticNumbers) == 0) {
- return;
- }
- $request = [
- 'packageCodes' => $logisticNumbers
- ];
- $this->sendMessage($request, $url, "问题件通知SWMS");
- }
- public function sendWorkOrder(WorkOrder $workOrder)
- {
- // TODO 这里遗留待处理
- $url = config('api.java.base') . config('api.java.reject.syncWorkOrder');
- $logisticNumbers = $this->getLogisticNumber($workOrder->order_id);
- if (sizeof($logisticNumbers) == 0) {
- return;
- }
- $request = [
- 'packageCodes' => $logisticNumbers
- ];
- $this->sendMessage($request, $url, "工单创建通知SWMS");
- }
- public function sendMessage($requestBody, $url, $type)
- {
- app('LogService')->log($type, "通知服务端", json_encode($requestBody));
- $http = Http::post($url, $requestBody);
- if (!$http->successful()) {
- app('LogService')->log($type, "sendPiece", '发送失败:' . $http->body());
- return;
- }
- $result = $http->json();
- if ($result["code"] != 200) {
- app('LogService')->log($type, "sendPiece", '服务端错误:' . $http->body());
- }
- }
- }
|