diff --git a/app/tasks/daily_tasks.py b/app/tasks/daily_tasks.py index bbb0a14..7482664 100644 --- a/app/tasks/daily_tasks.py +++ b/app/tasks/daily_tasks.py @@ -247,6 +247,14 @@ async def daily_partner_settlement(): settlement_history = [] for stat in yesterday_stats: + community = db.query(CommunityDB).filter( + CommunityDB.id == stat.community_id, + CommunityDB.community_profit_sharing != None + ).first() + + if not community: + logger.info(f"小区 {stat.community_name} 没有分成比例,跳过结算") + continue # 检查是否已存在该日期的结算记录 existing_settlement = db.query(SettlementHistoryDB).filter( @@ -270,10 +278,6 @@ async def daily_partner_settlement(): total_original_amount += stat.total_original_amount total_final_amount += stat.total_final_amount - community = db.query(CommunityDB).filter( - CommunityDB.id == stat.community_id - ).first() - # 找到所有的运营商 community_sets = db.query(CommunitySet).filter( CommunitySet.community_set_mappings.any( @@ -377,7 +381,7 @@ async def daily_partner_settlement(): settle_details=settle_details ) settlement_history.append(settlement) - + db.add_all(settlement_history) db.commit() diff --git a/jobs.sqlite b/jobs.sqlite index 41011d6..c9039fb 100644 Binary files a/jobs.sqlite and b/jobs.sqlite differ