OrderIssueRejectedBillController.php 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\OrderIssue;
  4. use App\Services\OrderIssueRejectedBillService;
  5. use App\Services\RejectedBillSyncOrderService;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Gate;
  8. class OrderIssueRejectedBillController extends Controller
  9. {
  10. private $service;
  11. private $rejectedBillSyncOrderService;
  12. public function __construct(OrderIssueRejectedBillService $service,
  13. RejectedBillSyncOrderService $rejectedBillSyncOrderService)
  14. {
  15. $this->service = $service;
  16. $this->rejectedBillSyncOrderService = $rejectedBillSyncOrderService;
  17. }
  18. public function joinRejectedBillApi(Request $request)
  19. {
  20. if (!Gate::allows('订单管理-问题件-编辑')) return ['success' => false, 'error' => '没有对应权限'];
  21. if (!$request->has('logistic_number_return')) return ['success' => false, 'error' => '参数为空'];
  22. /** @var OrderIssue $orderIssue */
  23. $orderIssue = OrderIssue::query()->find($request['id']);
  24. if (!$orderIssue) return ['success' => false, 'error' => '参数为空'];
  25. $result = $this->service->joinRejectedBill($orderIssue, $request['logistic_number_return']);
  26. if (is_null($result)) return ['success' => false, 'error' => '已有对应的关联关系'];
  27. if (!$result) return ['success' => false, 'error' => '创建关联关系时出现异常'];
  28. return ['success' => true, 'data' => ['orderIssueRejectedBill' => $result, 'orderIssue' => $orderIssue]];
  29. }
  30. public function unJoinRejectedBillApi(Request $request)
  31. {
  32. if (!Gate::allows('订单管理-问题件-编辑')) return ['success' => false, 'error' => '没有对应权限'];
  33. if (!$request->has('logistic_number_return') || !$request->has('id')) return ['success' => false, 'error' => '参数为空'];
  34. /** @var OrderIssue $orderIssue */
  35. $orderIssue = OrderIssue::query()->where('id', $request->id)->first();
  36. if (!$orderIssue) return ['success' => false, 'message' => '没有找到对应的记录'];
  37. $result = $this->service->unJoinRejectedBill($orderIssue, $request['logistic_number_return']);
  38. if (is_null($result)) return ['success' => false, 'message' => '没有相对应的连接关系!请刷新页面后重试'];
  39. return ['success' => true, 'orderIssue' => $orderIssue];
  40. }
  41. public function reviseJoinRejectedBillApi(Request $request)
  42. {
  43. if (!Gate::allows('订单管理-问题件-编辑')) return ['success' => false, 'error' => '没有对应权限'];
  44. if (!$request->has('logistic_number_return_update'))
  45. return ['success' => false, 'error' => '退回单号为空'];
  46. /** @var OrderIssue $orderIssue */
  47. $orderIssue = OrderIssue::query()->where('id', $request->id)->first();
  48. if (!$orderIssue) return ['success' => false, 'error' => '没有找到对应的记录'];
  49. $result = $this->service->unJoinRejectedBill($orderIssue, $request['logistic_number_return'], $request['logistic_number_return_update']);
  50. if (is_null($result)) return ['success' => false, 'error' => '需更新的对应关系不存在!请刷新页面后重试'];
  51. if (!$result) return ['success' => false, 'error' => '更新关联关系时出现异常'];
  52. return ['success' => true, 'data' => ['orderIssueRejectedBill' => $result, 'orderIssue' => $orderIssue]];
  53. }
  54. }