request->param(); $page = $params['page'] ?? 1; $limit = $params['limit'] ?? 10; $name = $params['name'] ?? ''; $categoryId = $params['category_id'] ?? ''; $status = $params['status'] ?? ''; $searchParams = [ 'page' => $page, 'limit' => $limit ]; if ($name) { $searchParams['name'] = $name; } if ($categoryId) { $searchParams['category_id'] = $categoryId; } if ($status) { $searchParams['status'] = $status; } $supplierService = new SupplierService(); $result = $supplierService->getFactoryList($searchParams); $this->success('获取成功', $result); } /** * 获取工厂/供应商选项列表 * * @ApiTitle (获取工厂/供应商选项列表) * @ApiSummary (获取工厂/供应商选项列表,用于下拉选择) * @ApiMethod (POST) * @ApiRoute (/api/inspection/supplier/getFactoryOptions) * @ApiReturnParams (name="code", type="integer", required=true, sample="1") * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功") * @ApiReturnParams (name="data", type="object", description="返回数据") * @ApiReturn ({ 'code':'1', 'msg':'返回成功', 'data': { '1': '供应商名称1', '2': '供应商名称2' } }) */ public function getFactoryOptions() { $supplierService = new SupplierService(); $options = $supplierService->getFactoryOptions(); $this->success('获取成功', $options); } /** * 搜索工厂/供应商 * * @ApiTitle (搜索工厂/供应商) * @ApiSummary (根据关键词搜索工厂/供应商) * @ApiMethod (POST) * @ApiRoute (/api/inspection/supplier/searchFactory) * @ApiParams (name="keyword", type="string", required=true, description="搜索关键词") * @ApiParams (name="limit", type="integer", required=false, description="限制数量,默认10") * @ApiReturnParams (name="code", type="integer", required=true, sample="1") * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功") * @ApiReturnParams (name="data", type="array", description="返回数据") * @ApiReturn ({ 'code':'1', 'msg':'返回成功', 'data': [] }) */ public function searchFactory() { $params = $this->request->param(); $keyword = $params['keyword'] ?? ''; $limit = $params['limit'] ?? 10; if (empty($keyword)) { $this->error('请输入搜索关键词'); } $supplierService = new SupplierService(); $result = $supplierService->searchFactory($keyword, $limit); $this->success('搜索成功', $result); } /** * 获取工厂/供应商详情 * * @ApiTitle (获取工厂/供应商详情) * @ApiSummary (根据ID获取工厂/供应商详情) * @ApiMethod (POST) * @ApiRoute (/api/inspection/supplier/getFactoryDetail) * @ApiParams (name="id", type="integer", required=true, description="供应商ID") * @ApiReturnParams (name="code", type="integer", required=true, sample="1") * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功") * @ApiReturnParams (name="data", type="object", description="返回数据") * @ApiReturn ({ 'code':'1', 'msg':'返回成功', 'data': {} }) */ public function getFactoryDetail() { $params = $this->request->param(); $id = $params['id'] ?? 0; if (empty($id)) { $this->error('请提供供应商ID'); } $supplierService = new SupplierService(); $result = $supplierService->getFactoryById($id); if (!$result) { $this->error('供应商不存在'); } $this->success('获取成功', $result); } /** * 获取启用状态的工厂/供应商列表 * * @ApiTitle (获取启用状态的工厂/供应商列表) * @ApiSummary (获取启用状态的工厂/供应商列表,带缓存) * @ApiMethod (POST) * @ApiRoute (/api/inspection/supplier/getActiveFactoryList) * @ApiReturnParams (name="code", type="integer", required=true, sample="1") * @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功") * @ApiReturnParams (name="data", type="array", description="返回数据") * @ApiReturn ({ 'code':'1', 'msg':'返回成功', 'data': [] }) */ public function getActiveFactoryList() { $supplierService = new SupplierService(); $result = $supplierService->getActiveFactoryListWithCache(); $this->success('获取成功', $result); } }