PrintPartImageController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\PrintPartImage;
  4. use App\Services\PrintPartImageService;
  5. use App\UploadFile;
  6. use Illuminate\Http\Request;
  7. class PrintPartImageController extends Controller
  8. {
  9. public function index(Request $request)
  10. {
  11. $printPartImages = PrintPartImage::query()->with('file')->paginate($request['paginate'] ?? 50);
  12. return view('maintenance.expressPrinting.image.index', compact('printPartImages'));
  13. }
  14. public function saveFileApi(Request $request, PrintPartImageService $service): array
  15. {
  16. $file = $request->file('file');
  17. /** @var PrintPartImage $printPartImage */
  18. $printPartImage = PrintPartImage::query()->with('file')->where('name', $request['name'])->first();
  19. if (!$printPartImage) $printPartImage = PrintPartImage::query()->firstOrCreate(['name' => $request['name']]);
  20. if ($printPartImage['file']) return ['success' => false, 'message' => '该需求已有描述图片'];
  21. return $service->saveFile($printPartImage, $file);
  22. }
  23. public function updateFileApi(Request $request, PrintPartImageService $service): array
  24. {
  25. $file = $request->file('file');
  26. /** @var PrintPartImage $printPartImage */
  27. $printPartImage = PrintPartImage::query()->with('file')->where('name', $request['name'])->first();
  28. return $service->updateFile($printPartImage, $file);
  29. }
  30. public function destroyApi($id, PrintPartImageService $service): array
  31. {
  32. $item = PrintPartImage::query()->with('file')->find($id);
  33. UploadFile::query()->where(['table_name' => (new PrintPartImage())->getTable(), 'table_id' => $item['id']])->delete();
  34. $item->delete();
  35. return ['success' => true];
  36. }
  37. }