fix: 修复评分加分逻辑问题,确保补分到5真正达到至少5分 (Task #1660)

This commit is contained in:
youpaishidifu
2026-09-01 11:41:44 +08:00
parent b23b243695
commit eccc1a4247
+8 -6
View File
@@ -10527,9 +10527,10 @@ class MessageMonitor:
# - 选择消息时分数必须>0才能处理
# - DB有记录的消息:不加分(避免重复处理)
if freshness_score >= 5:
# ≥5分(5分钟内):直接放行,加上5分
score += 5.0
logger.info(f"[{platform}] 时间戳新鲜度≥5直接放行(+5): {item[:50]}")
# ≥5分(5分钟内):直接放行,确保最终分数至少为5
old_score = score
score = max(score + 5.0, 5.0)
logger.info(f"[{platform}] 时间戳新鲜度≥5直接放行(+5): {old_score:.1f}→{score:.1f}: {item[:50]}")
elif freshness_score < 0:
# 负分(超过1小时):扣10分
score += freshness_score # 加上负分 = 扣分
@@ -10540,9 +10541,10 @@ class MessageMonitor:
# DB有记录:不加分
logger.info(f"[{platform}] 时间戳新鲜度<5且DB有记录,不加分: {item[:50]}")
else:
# DB无记录:补分到5
score += 5.0
logger.info(f"[{platform}] 时间戳新鲜度<5且DB无记录,补分到5: {item[:50]}")
# DB无记录:补分到5(确保最终分数至少为5,不因负基础分而被丢弃)
old_score = score
score = max(score + 5.0, 5.0)
logger.info(f"[{platform}] 时间戳新鲜度<5且DB无记录,补分到5: {old_score:.1f}→{score:.1f}: {item[:50]}")
# ⭐ 检查分数是否>0:分数<=0的消息不应被处理
if score <= 0: