fix issues

This commit is contained in:
2026-07-22 17:50:21 +08:00
parent 84bd6efd2f
commit 5c97060a52
3 changed files with 23 additions and 9 deletions

View File

@@ -97,6 +97,14 @@ function handleAIResult(aiResult, roomId, username, originalText, attachments) {
}
if (aiResult.action === 'purchase') {
// use_recent_image 但缺 purchase_item → 从房间最近一条采购推断
if (aiResult.use_recent_image && (!aiResult.purchase_item || aiResult.purchase_item === 'null')) {
const lastPurchase = db.prepare("SELECT item FROM purchases WHERE room_id = ? AND item IS NOT NULL AND item != '' ORDER BY created_at DESC LIMIT 1").get(roomId);
if (lastPurchase) {
console.log('🛡️ use_recent_image 缺 purchase_item推断为:', lastPurchase.item);
aiResult.purchase_item = lastPurchase.item;
}
}
const item = aiResult.purchase_item;
if (!item || item === 'null' || item === 'undefined' || item.trim().length < 2) {
console.log('🚫 拒绝无效 purchase_item:', JSON.stringify(item));
@@ -143,11 +151,10 @@ function handleAIResult(aiResult, roomId, username, originalText, attachments) {
}
console.log('📦 purchase_item:', aiResult.purchase_item, isNew ? '(强制新建)' : purchase ? '(匹配已有)' : '(未匹配-新建)');
// is_new 为 false匹配失败 → 拒绝新建,提示用户
// is_new 未明确设为 false、且所有回退匹配失败 → 视为新建
if (!isNew && !purchase) {
storeAndBroadcastText(roomId, '小财', `未找到与「${aiResult.purchase_item}」匹配的采购记录,无法更新。请检查物品名称是否正确。`);
addToHistory(roomId, 'assistant', `未找到匹配记录`);
return;
console.log('📦 未匹配到已有记录,转为新建模式');
isNew = true;
}
let replyText = '';