From 4f4bf3e1cceb2c85bc429143f269e5ab7649abc8 Mon Sep 17 00:00:00 2001 From: Mars Date: Wed, 2 Jul 2025 17:11:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dscheduler.py=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=8A=95=E6=B3=A8=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E6=9C=AA=E4=BF=9D=E5=AD=98=E5=88=B0=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E7=A1=AE=E4=BF=9D=E4=B8=8E?= =?UTF-8?q?prediction.py=E6=8E=A5=E5=8F=A3=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/scheduler.py | 62 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/backend/scheduler.py b/backend/scheduler.py index d775f4d..8661ef1 100644 --- a/backend/scheduler.py +++ b/backend/scheduler.py @@ -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'])