| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace App\Http\Controllers;
- use App\OrderIssue;
- use App\OrderIssueRejectedBill;
- use App\Services\OrderIssueRejectedBillService;
- use App\Services\OrderRejectingStatusService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Gate;
- class OrderIssueRejectedBillController extends Controller
- {
- private $service;
- private $rejectedBillSyncOrderService;
- public function __construct(OrderIssueRejectedBillService $service,
- OrderRejectingStatusService $rejectedBillSyncOrderService)
- {
- $this->service = $service;
- $this->rejectedBillSyncOrderService = $rejectedBillSyncOrderService;
- }
- public function joinRejectedBillApi(Request $request): array
- {
- if (!Gate::allows('订单管理-问题件-编辑')) return ['success' => false, 'error' => '没有对应权限'];
- if (!$request->has('logistic_number_return')) return ['success' => false, 'error' => '参数为空'];
- if(!$request['logistic_number_return'] || strlen($request['logistic_number_return']) === 0) return ['success' => false, 'error' => '参数异常'];
- /** @var OrderIssue $orderIssue */
- $orderIssue = OrderIssue::query()->find($request['id']);
- if (!$orderIssue) return ['success' => false, 'error' => '参数为空'];
- $result = $this->service->joinRejectedBill($orderIssue, $request['logistic_number_return']);
- if (is_null($result)) return ['success' => false, 'error' => '已有对应的关联关系'];
- if (!$result) return ['success' => false, 'error' => '创建关联关系时出现异常'];
- return ['success' => true, 'data' => ['orderIssueRejectedBill' => $result, 'orderIssue' => $orderIssue]];
- }
- public function unJoinRejectedBillApi(Request $request): array
- {
- if (!Gate::allows('订单管理-问题件-编辑')) return ['success' => false, 'error' => '没有对应权限'];
- if (!$request->has('logistic_number_return') || !$request->has('id')) return ['success' => false, 'error' => '参数为空'];
- $orderIssue = OrderIssue::query()->where('id', $request->id)->first();
- if (!$orderIssue) return ['success' => false, 'message' => '没有找到对应的记录'];
- $result = $this->service->unJoinRejectedBill($orderIssue, $request['logistic_number_return']);
- if (is_null($result)) return ['success' => false, 'message' => '没有相对应的连接关系!请刷新页面后重试'];
- return ['success' => true, 'orderIssue' => $orderIssue];
- }
- public function reviseJoinRejectedBillApi(Request $request): array
- {
- if (!Gate::allows('订单管理-问题件-编辑')) return ['success' => false, 'error' => '没有对应权限'];
- if (!$request->has('logistic_number_return_update'))
- return ['success' => false, 'error' => '退回单号为空'];
- /** @var OrderIssue $orderIssue */
- $orderIssue = OrderIssue::query()->where('id', $request->id)->first();
- if (!$orderIssue) return ['success' => false, 'error' => '没有找到对应的记录'];
- $result = $this->service->reviseJoinRejectedBill($orderIssue, $request['logistic_number_return'], $request['logistic_number_return_update']);
- if (is_null($result)) return ['success' => false, 'error' => '需更新的对应关系不存在!请刷新页面后重试'];
- if (!$result) return ['success' => false, 'error' => '更新关联关系时出现异常'];
- return ['success' => true, 'data' => ['orderIssueRejectedBill' => $result, 'orderIssue' => $orderIssue]];
- }
- }
|