更新README.md记录周六投注周日中奖检查问题的解决过程

This commit is contained in:
Mars 2025-07-14 15:08:55 +08:00
parent 82a34ff1ab
commit b88ddc92d6

View File

@ -564,7 +564,62 @@ else:
#### 数据一致性
修复后,新的投注记录将使用正确的期号,现有的错误记录需要等待对应期号开奖后才能正确更新中奖状态。
### 周六投注周日中奖检查问题 ⚠️ 新发现
#### 问题描述
用户反馈周六投注的号码在周日没有完整的中奖比对信息,经调查发现定时任务逻辑存在错误。
#### 根本原因
`scheduler.py``check_previous_day_wins_job`函数中存在错误逻辑:
```python
if current_weekday == 6: # 周六
logger.info("周六休息,不推送中奖检查")
return
```
**问题分析**
- 周六投注大乐透,周六晚上开奖
- 周日早上9:30的定时任务应该检查周六的投注中奖情况
- 但错误的判断逻辑导致周日跳过了检查,因为昨天是周六
#### 彩票开奖时间安排
- **双色球**:周二、周四、周日开奖
- **大乐透**:周一、周三、周六开奖
- **推荐安排**:一三六推荐大乐透,二四日推荐双色球,周五休息
#### 解决方案
修正`check_previous_day_wins_job`中的工作日判断逻辑:
1. 移除错误的"周六休息"逻辑
2. 根据**昨天的日期**来判断彩票类型,而不是今天
3. 只有昨天是周五(休息日)才跳过检查
**修复后的逻辑**
```python
yesterday_weekday = yesterday.isoweekday()
if yesterday_weekday in [1, 3, 6]: # 昨天是周一、三、六,投注的是大乐透
lottery_type = 'dlt'
elif yesterday_weekday in [2, 4, 7]: # 昨天是周二、四、日,投注的是双色球
lottery_type = 'ssq'
else: # 昨天是周五,休息日,没有投注
logger.info("昨日是周五休息日,没有投注记录,跳过中奖检查")
return
```
#### 验证结果
修复后测试显示:
- ✅ 7月12日周六4条大乐透投注记录
- ✅ 所有记录都正确更新了中奖信息
- ✅ 开奖号码和中奖状态完全匹配
- ✅ Telegram推送正常工作
#### 影响范围
此修复解决了:
1. 周六投注周日无中奖比对信息的问题
2. 确保所有工作日的投注都能正确进行中奖检查
3. 保持Telegram每日推送的完整性
---
*最后更新2025-07-04*
*问题状态:已修复期号逻辑,等待验证*
*最后更新2025-07-14*
*问题状态:✅ 已完全修复并验证*