WorkOrderProcessLogController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. return ['success' => true, 'data' => $log];
  19. } catch (\Exception $e) {
  20. return ['success' => false, 'message' => '添加处理信息失败'];
  21. }
  22. }
  23. public function storeApi(Request $request, WorkOrderProcessLogService $service): array
  24. {
  25. if (Gate::denies('订单管理-工单处理-宝时编辑')) return ['success' => false, 'message' => '没有对应的编辑权限'];
  26. if ($service->hasBaoShiProcessLog($request->input('work_order_id'))) {
  27. return ['success' => false, 'message' => '对应处理日志已存在'];
  28. }
  29. $log = $service->createBaoShiProcessLog($request->all());
  30. return ['success' => true, 'data' => $log];
  31. }
  32. public function updateApi(Request $request): array
  33. {
  34. $log = WorkOrderProcessLog::query()
  35. ->where('id', $request->input('id'))->first();
  36. $params = $request->all();
  37. $params['creator_id'] = Auth::user()['id'];
  38. $log->update($params);
  39. return ['success' => true, 'data' => $log];
  40. }
  41. }