true, 'keyword_fields' => ['description', 'remark'], ]; public function __construct(HardwareFaultDescriptionService $service, HardwareFaultDescriptionValidate $validate) { $this->service = $service; $this->validate = $validate; } #[OA\Get(path: '/produce/hardware-fault-description', summary: '硬件故障描述列表', tags: ['produce-hardware-fault-description'])] #[Permission(code: 'produce:hardware-fault-description:list', description: '硬件故障描述列表')] #[PageResponse(schema: [], example: [])] public function index(Request $request): \support\Response { return parent::index($request); } #[OA\Post(path: '/produce/hardware-fault-description/import', summary: '导入硬件故障描述', tags: ['produce-hardware-fault-description'])] #[Permission(code: 'produce:hardware-fault-description:import', description: '导入硬件故障描述')] #[SimpleResponse(schema: [], example: [])] public function import(Request $request): \support\Response { try { $file = $request->file('file'); if (!$file) { return Json::fail('请选择Excel文件'); } if ($file->getSize() > 5 * 1024 * 1024) { return Json::fail('Excel文件不能超过5MB'); } $extension = strtolower((string) $file->getUploadExtension()); if (!in_array($extension, ['xlsx', 'xls', 'csv'], true)) { return Json::fail('只支持xlsx、xls或csv格式文件'); } $result = $this->service->importFromExcel($file->getPathname()); return Json::success('导入成功', $result); } catch (\Throwable $e) { return Json::fail($e->getMessage()); } } #[OA\Get(path: '/produce/hardware-fault-description/{id}', summary: '硬件故障描述详情', tags: ['produce-hardware-fault-description'], x: [SchemaConstants::X_PROPERTY_IN => 'id', SchemaConstants::X_SCHEMA_REQUEST => IdRequest::class])] #[Permission(code: 'produce:hardware-fault-description:read', description: '硬件故障描述详情')] #[SimpleResponse(schema: [], example: [])] public function show(Request $request): \support\Response { return parent::show($request); } #[OA\Post(path: '/produce/hardware-fault-description', summary: '创建硬件故障描述', tags: ['produce-hardware-fault-description'])] #[Permission(code: 'produce:hardware-fault-description:create', description: '创建硬件故障描述')] #[SimpleResponse(schema: [], example: [])] public function store(Request $request): \support\Response { return parent::store($request); } #[OA\Put(path: '/produce/hardware-fault-description/{id}', summary: '更新硬件故障描述', tags: ['produce-hardware-fault-description'], x: [SchemaConstants::X_PROPERTY_IN => 'id', SchemaConstants::X_SCHEMA_REQUEST => IdRequest::class])] #[Permission(code: 'produce:hardware-fault-description:update', description: '更新硬件故障描述')] #[SimpleResponse(schema: [], example: [])] public function update(Request $request): \support\Response { return parent::update($request); } #[OA\Delete(path: '/produce/hardware-fault-description/{id}', summary: '删除硬件故障描述', tags: ['produce-hardware-fault-description'], x: [SchemaConstants::X_PROPERTY_IN => 'id', SchemaConstants::X_SCHEMA_REQUEST => IdRequest::class])] #[Permission(code: 'produce:hardware-fault-description:delete', description: '删除硬件故障描述')] #[SimpleResponse(schema: [], example: [])] public function destroy(Request $request): \support\Response { return parent::destroy($request); } #[OA\Delete(path: '/produce/hardware-fault-description', summary: '批量删除硬件故障描述', tags: ['produce-hardware-fault-description'], x: [SchemaConstants::X_SCHEMA_REQUEST => BatchDeleteRequest::class])] #[Permission(code: 'produce:hardware-fault-description:delete', description: '批量删除硬件故障描述')] #[SimpleResponse(schema: [], example: [])] public function batchDelete(Request $request): \support\Response { return parent::destroy($request); } }