| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace App\Http\Controllers;
- use App\PrintPartImage;
- use App\Services\PrintPartImageService;
- use App\UploadFile;
- use Illuminate\Http\Request;
- class PrintPartImageController extends Controller
- {
- public function index(Request $request)
- {
- $printPartImages = PrintPartImage::query()->with('file')->paginate($request['paginate'] ?? 50);
- return view('maintenance.expressPrinting.image.index', compact('printPartImages'));
- }
- /**
- * 保存图片
- * @param Request $request
- * @param PrintPartImageService $service
- * @return array
- */
- public function saveFileApi(Request $request, PrintPartImageService $service): array
- {
- $file = $request->file('file');
- /** @var PrintPartImage $printPartImage */
- $printPartImage = PrintPartImage::query()->with('file')->where('name', $request['name'])->first();
- if (!$printPartImage) $printPartImage = PrintPartImage::query()->firstOrCreate(['name' => $request['name']]);
- if ($printPartImage['file']) return ['success' => false, 'message' => '该需求已有描述图片'];
- return $service->saveFile($printPartImage, $file);
- }
- /**
- * 修改图片
- * @param Request $request
- * @param PrintPartImageService $service
- * @return array
- */
- public function updateFileApi(Request $request, PrintPartImageService $service): array
- {
- $file = $request->file('file');
- /** @var PrintPartImage $printPartImage */
- $printPartImage = PrintPartImage::query()->with('file')->where('name', $request['name'])->first();
- return $service->updateFile($printPartImage, $file);
- }
- /**
- * 删除图片
- * @param $id
- * @param PrintPartImageService $service
- * @return bool[]
- * @throws \Exception
- */
- public function destroyApi($id, PrintPartImageService $service): array
- {
- $item = PrintPartImage::query()->with('file')->find($id);
- UploadFile::query()->where(['table_name' => (new PrintPartImage())->getTable(), 'table_id' => $item['id']])->delete();
- $item->delete();
- return ['success' => true];
- }
- }
|