diff --git a/app/services/trade_parser.py b/app/services/trade_parser.py index 5ac9229..d1bc05b 100644 --- a/app/services/trade_parser.py +++ b/app/services/trade_parser.py @@ -311,7 +311,6 @@ def save_to_db( existing_keys = _load_existing_dedup_keys(db, all_dates) records = [] - new_keys_in_batch = set() # 防止本次导入文件内部重复 skipped_details = [] # 记录被跳过的重复记录详情 # 处理期货记录 @@ -331,7 +330,7 @@ def save_to_db( price = safe_float(row.get('成交价')) dedup_key = _build_dedup_key(trade_date, variety, trade_time, price) - if dedup_key in existing_keys or dedup_key in new_keys_in_batch: + if dedup_key in existing_keys: futures_skipped += 1 skipped_details.append({ 'type': '期货', @@ -346,7 +345,6 @@ def save_to_db( if futures_parsed <= 3: logger.info(f"[去重校验] 期货记录 #{futures_parsed}: raw_date={raw_date!r}, trade_date={trade_date!r}, variety={variety!r}, time={trade_time!r}, price={price!r} => key={dedup_key!r}") - new_keys_in_batch.add(dedup_key) rec = TradeRecord( trade_type='期货', symbol=contract, @@ -383,7 +381,7 @@ def save_to_db( price = safe_float(row.get('权利金单价')) dedup_key = _build_dedup_key(trade_date, variety, trade_time, price) - if dedup_key in existing_keys or dedup_key in new_keys_in_batch: + if dedup_key in existing_keys: options_skipped += 1 skipped_details.append({ 'type': '期权', @@ -394,7 +392,6 @@ def save_to_db( }) continue - new_keys_in_batch.add(dedup_key) # 期权盈亏来自权利金(带正负号:卖为正,买为负) premium = safe_float(row.get('权利金')) rec = TradeRecord( diff --git a/data/futures_analysis.db b/data/futures_analysis.db index 669a23d..0084989 100644 Binary files a/data/futures_analysis.db and b/data/futures_analysis.db differ