fix: 修复评分加分逻辑问题,确保补分到5真正达到至少5分 (Task #1660)
This commit is contained in:
+8
-6
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user