WorkOrderProcessLogController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Services\WorkOrderProcessLogService;
  4. use App\WorkOrderProcessLog;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Auth;
  7. use Illuminate\Support\Facades\Gate;
  8. class WorkOrderProcessLogController extends Controller
  9. {
  10. public function logisticStoreApi(Request $request, WorkOrderProcessLogService $service): array
  11. {
  12. if (Gate::denies('订单管理-工单处理-承运商编辑')) return ['success' => false, 'message' => '没有对应的编辑权限'];
  13. if ($service->hasLogisticProcessLog($request->input('work_order_id'))) {
  14. return ['success' => false, 'message' => '对应处理日志已存在'];
  15. }
  16. try {
  17. $log = $service->createLogisticProcessLog($request->all());
  18. $log->workOrder()->update(['work_order_status'=>'3']);
  19. return ['success' => true, 'data' => $log];
  20. } catch (\Exception $e) {
  21. return ['success' => false, 'message' => '添加处理信息失败'];
  22. }
  23. }
  24. public function storeApi(Request $request, WorkOrderProcessLogService $service): array
  25. {
  26. if (Gate::denies('订单管理-工单处理-宝时编辑')) return ['success' => false, 'message' => '没有对应的编辑权限'];
  27. if ($service->hasBaoShiProcessLog($request->input('work_order_id'))) {
  28. return ['success' => false, 'message' => '对应处理日志已存在'];
  29. }
  30. $log = $service->createBaoShiProcessLog($request->all());
  31. return ['success' => true, 'data' => $log];
  32. }
  33. public function updateApi(Request $request): array
  34. {
  35. $log = WorkOrderProcessLog::query()
  36. ->where('id', $request->input('id'))->first();
  37. $params = $request->all();
  38. $params['creator_id'] = Auth::user()['id'];
  39. $log->update($params);
  40. return ['success' => true, 'data' => $log];
  41. }
  42. }