From badec85bbf6a84c47ea65a06fa2ea743040532a9 Mon Sep 17 00:00:00 2001 From: kicer Date: Wed, 22 Jul 2026 14:07:03 +0800 Subject: [PATCH] fix --- server/server.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/server/server.js b/server/server.js index ca13fb5..a6dc7a1 100644 --- a/server/server.js +++ b/server/server.js @@ -364,8 +364,19 @@ function handleAIResult(aiResult, roomId, username, originalText, attachments) { if (aiResult.action === 'ask') { storeAndBroadcastText(roomId, '小财', aiResult.question); addToHistory(roomId, 'assistant', aiResult.question); return; } if (aiResult.action === 'delete') { const itemName = aiResult.delete_item; - const purchases = db.prepare('SELECT id, item, amount, payment_method, status, applicant, created_at FROM purchases WHERE room_id = ? AND item LIKE ?').all(roomId, `%${itemName}%`); - if (purchases.length === 0) { storeAndBroadcastText(roomId, '小财', `没有找到与“${itemName}”相关的采购记录。`); return; } + let purchases; + if (itemName === '__AMOUNT_ZERO__') { + purchases = db.prepare('SELECT id, item, amount, payment_method, status, applicant, created_at FROM purchases WHERE room_id = ? AND amount = 0').all(roomId); + } else if (itemName === '__NULL_NAME__') { + purchases = db.prepare("SELECT id, item, amount, payment_method, status, applicant, created_at FROM purchases WHERE room_id = ? AND (item IS NULL OR item = '' OR item = 'null' OR item = 'undefined')").all(roomId); + } else { + purchases = db.prepare('SELECT id, item, amount, payment_method, status, applicant, created_at FROM purchases WHERE room_id = ? AND item LIKE ?').all(roomId, `%${itemName}%`); + } + if (purchases.length === 0) { + const label = itemName === '__AMOUNT_ZERO__' ? '金额为0' : (itemName === '__NULL_NAME__' ? '名称为空' : `"${itemName}"`); + storeAndBroadcastText(roomId, '小财', `没有找到与"${label}"相关的采购记录。`); + return; + } let confirmText = `⚠️ 即将删除以下 ${purchases.length} 条采购记录,请回复“确认”继续:\n\n`; purchases.forEach(p => confirmText += `• ${p.item} | ¥${p.amount} | ${p.status} | ${p.applicant} | ${p.created_at}\n`); confirmText += `\n如果不删除,请忽略此消息。`;