fix: 修复scheduler.py定时任务投注内容未保存到数据库的问题,确保与prediction.py接口一致

This commit is contained in:
Mars 2025-07-02 17:11:38 +08:00
parent 7979281c09
commit 4f4bf3e1cc

View File

@ -92,6 +92,17 @@ class LotteryScheduler:
'success') else []
results = []
used_numbers = set()
# 确定模型和推荐类型
if weekday in [1, 3, 6]: # 周一、三、六
BetModel = DLTLotteryBetRecord
LotteryModel = DLTLottery
recommend_type = '集成预测-每日推荐'
else: # 周二、四、日
BetModel = SSQLotteryBetRecord
LotteryModel = SSQLottery
recommend_type = '集成预测-每日推荐'
# 先取集成预测推荐
for rec in recs:
if len(results) >= 4:
@ -106,7 +117,31 @@ class LotteryScheduler:
if numbers in used_numbers:
continue
used_numbers.add(numbers)
results.append({'red': red, 'blue': blue})
# 保存到数据库
last = db.query(LotteryModel).order_by(
LotteryModel.open_time.desc()).first()
issue = last.issue if last else ''
bet = BetModel(
batch_id=batch_id,
issue=issue,
numbers=numbers,
recommend_type=rec.get('method', recommend_type)
)
db.add(bet)
db.commit()
db.refresh(bet)
results.append({
'id': bet.id,
'batch_id': batch_id,
'issue': issue,
'numbers': numbers,
'red': red,
'blue': blue,
'recommend_type': rec.get('method', recommend_type)
})
# 补足到4注
from app.services.analysis_service import LotteryAnalysisService
analysis_service = LotteryAnalysisService(db)
@ -122,7 +157,30 @@ class LotteryScheduler:
if numbers in used_numbers:
continue
used_numbers.add(numbers)
results.append({'red': red, 'blue': blue})
# 保存到数据库
last = db.query(LotteryModel).order_by(
LotteryModel.open_time.desc()).first()
issue = last.issue if last else ''
bet = BetModel(
batch_id=batch_id,
issue=issue,
numbers=numbers,
recommend_type='智能选号补足'
)
db.add(bet)
db.commit()
db.refresh(bet)
results.append({
'id': bet.id,
'batch_id': batch_id,
'issue': issue,
'numbers': numbers,
'red': red,
'blue': blue,
'recommend_type': '智能选号补足'
})
# 组装推送内容
msg_lines = [title]
red_str = ' '.join(f"{n:02d}" for n in fixed['red'])