import { Request, Response } from 'express' import prisma from '../utils/prisma' import { successResponse, errorResponse } from '../utils/response' // 全局搜索 export const globalSearch = async (req: Request, res: Response) => { try { const { keyword } = req.query if (!keyword || String(keyword).trim().length === 0) { return successResponse(res, [], '请输入搜索关键词') } const kw = String(keyword).trim() const equipments = await prisma.equipment.findMany({ where: { OR: [ { equipment_code: { contains: kw } }, { equipment_name: { contains: kw } }, { equipment_model: { contains: kw } } ] }, select: { id: true, equipment_code: true, equipment_name: true, equipment_type: true, status: true, assetType: { select: { name: true } } }, take: 10, orderBy: { updated_at: 'desc' } }) const results = equipments.map(eq => ({ id: eq.id, code: eq.equipment_code, name: eq.equipment_name, type: eq.assetType?.name || eq.equipment_type, status: eq.status, category: 'equipment' })) successResponse(res, results, '搜索成功') } catch (error: any) { errorResponse(res, error.message || '搜索失败') } }