zt p commited on
Commit
69d9e91
·
1 Parent(s): 8cd4549

Clarify concentrated ticket alert copy

Browse files
pages/🎟️ 售票时间集中监控.py CHANGED
@@ -655,21 +655,26 @@ class TicketSnapshotMonitor:
655
  self._increment_stat_locked("notify_fails")
656
  self.log(f"弱监控告警未发送:{format_session_label(session)},点数 {len(events)}。")
657
 
658
- def _build_alert_message(self, session: dict, events: List[dict], config: dict) -> str:
659
- latest_event = events[-1] if events else {}
660
  start_dt = parse_datetime_text(session.get("start_dt"))
661
  start_text = start_dt.strftime("%m月%d日 %H:%M") if start_dt else str(session.get("start_time") or "--")
 
 
 
 
 
 
 
 
 
662
  return "\n".join(
663
  [
664
  "发现疑似集中购票",
665
  "",
666
  f"{session.get('hall_display') or clean_hall_name(session.get('hall_name'))} {start_text}",
667
  f"《{session.get('movie_name') or '未知影片'}》",
668
- f"当前已售:{int(session.get('sold') or 0)} 人",
669
  f"集中购票点数:{len(events)}",
670
- f"最近命中:{latest_event.get('snapshot_at', '--')},+{latest_event.get('delta', 0)} 人",
671
- "",
672
- f"规则:相邻快照 {int(config.get('increase_threshold') or 4)} 人及以上增长记 1 点,开场前 {int(config.get('notify_lead_minutes') or 20)} 分钟推送。",
673
  ]
674
  )
675
 
 
655
  self._increment_stat_locked("notify_fails")
656
  self.log(f"弱监控告警未发送:{format_session_label(session)},点数 {len(events)}。")
657
 
658
+ def _build_alert_message(self, session: dict, events: List[dict], _config: dict) -> str:
 
659
  start_dt = parse_datetime_text(session.get("start_dt"))
660
  start_text = start_dt.strftime("%m月%d日 %H:%M") if start_dt else str(session.get("start_time") or "--")
661
+ point_deltas = []
662
+ for event in events:
663
+ delta = safe_int(event.get("delta"), default=-1)
664
+ if delta < 0:
665
+ from_sold = safe_int(event.get("from_sold")) or 0
666
+ to_sold = safe_int(event.get("to_sold")) or 0
667
+ delta = max(0, to_sold - from_sold)
668
+ point_deltas.append(str(delta))
669
+ point_delta_text = " / ".join(point_deltas) if point_deltas else "--"
670
  return "\n".join(
671
  [
672
  "发现疑似集中购票",
673
  "",
674
  f"{session.get('hall_display') or clean_hall_name(session.get('hall_name'))} {start_text}",
675
  f"《{session.get('movie_name') or '未知影片'}》",
 
676
  f"集中购票点数:{len(events)}",
677
+ f"点数数量:{point_delta_text}",
 
 
678
  ]
679
  )
680