| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace App\Http\Controllers;
- use App\Order;
- use App\OrderIssueRejectedBill;
- use App\Services\OrderRejectedBillRelationService;
- use App\WorkOrder;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Gate;
- class WorkOrderRelationRejectedBillController extends Controller
- {
- private $orderRejectedBillRelationService;
- public function __construct(OrderRejectedBillRelationService $orderRejectedBillRelationService)
- {
- $this->orderRejectedBillRelationService = $orderRejectedBillRelationService;
- }
- public function storeApi(Request $request): array
- {
- if (Gate::denies('订单管理-工单处理-宝时编辑') && Gate::denies('订单管理-工单处理-承运商编辑') && Gate::denies('订单管理-工单处理-商家编辑')) {
- return ['success' => false, 'message' => '没有对应权限'];
- } else if (!$request->has('order_id', 'logistic_number_return')) {
- return ['success' => false, 'message' => '参数异常'];
- }
- $order = Order::query()->with('issue')->where('id', $request->input('order_id'))->first();
- if (!$order) ['success' => false, 'message' => '参数异常'];
- $query = OrderIssueRejectedBill::query()->where('order_id', $request->input('order_id'))->where('logistic_number_return', $request->input('logistic_number_return'));
- $relation = $query->first();
- if (!$relation) {
- OrderIssueRejectedBill::query()->create(
- ['order_id' => $order->id, 'order_issue_id' => $order->issue->id ?? null, 'logistic_number_return' => $request->input('logistic_number_return')]
- );
- } else if ($order->issue ?? false) {
- $query->update(['order_issue_id' => $order->issue->id]);
- }
- $this->orderRejectedBillRelationService->orderSyncRejectedBill($order);
- $data = WorkOrder::query()->defaultWith()->where('order_id', $request->input('order_id'))->first();
- return ['success' => true, 'data' => $data];
- }
- public function destroyApi(Request $request): array
- {
- if (Gate::denies('订单管理-工单处理-宝时编辑') && Gate::denies('订单管理-工单处理-承运商编辑') && Gate::denies('订单管理-工单处理-商家编辑')) {
- return ['success' => false, 'message' => '没有对应权限'];
- } else if (!$request->has('order_id', 'logistic_number_return')) {
- return ['success' => false, 'message' => '参数异常'];
- }
- $order = Order::query()->with('issue')->where('id', $request->input('order_id'))->first();
- if (!$order) ['success' => false, 'message' => '参数异常'];
- $query = OrderIssueRejectedBill::query()->where('order_id', $request->input('order_id'))->where('logistic_number_return', $request->input('logistic_number_return'));
- $relation = $query->first();
- if (!$relation) {
- return ['success' => false, 'message' => '参数异常'];
- }
- $query->delete();
- $this->orderRejectedBillRelationService->orderSyncRejectedBill($order);
- $data = WorkOrder::query()->defaultWith()->where('order_id', $request->input('order_id'))->first();
- return ['success' => true, 'data' => $data];
- }
- public function resetRelationApi(Request $request): array
- {
- if (Gate::denies('订单管理-工单处理-宝时编辑') && Gate::denies('订单管理-工单处理-承运商编辑') && Gate::denies('订单管理-工单处理-商家编辑')) {
- return ['success' => false, 'message' => '没有对应权限'];
- } else if ($request->has('order_id', 'logistic_number_return', 'update_logistic_number_return')) {
- return ['success' => false, 'message' => '参数异常'];
- }
- $order = Order::query()->with('issue')->where('id', $request->input('order_id'))->first();
- if (!$order) ['success' => false, 'message' => '参数异常'];
- $query = OrderIssueRejectedBill::query()->where('order_id', $order->id)->where('logistic_number_return', $request->input('logistic_number_return'));
- $relation = $query->first();
- if (!$relation) {
- return ['success' => false, 'message' => '参数异常,刷新页面重试'];
- }
- $query->update(['logistic_number_return' => $request->input('update_logistic_number_return')]);
- $this->orderRejectedBillRelationService->orderSyncRejectedBill($order);
- $data = WorkOrder::query()->defaultWith()->where('order_id', $request->input('order_id'))->first();
- return ['success' => true, 'data' => $data];
- }
- }
|