取消daily插入查重处理
This commit is contained in:
@@ -38,7 +38,7 @@ class DailyDataService(BaseService[DailyData]):
|
||||
批量创建记录,支持两种输入格式:
|
||||
- List[DailyData]:模型实例列表
|
||||
- List[dict]:字典列表(自动转换为实例)
|
||||
通过 (account_id, NYID) 联合判断是否已存在,存在则忽略
|
||||
通过 (account_id, NYID) 联合判断是否已存在,存在则忽略 --(暂时取消查重)
|
||||
"""
|
||||
try:
|
||||
data_list = self._ensure_instances(data)
|
||||
@@ -56,23 +56,26 @@ class DailyDataService(BaseService[DailyData]):
|
||||
logger.warning("批量创建失败:所有记录缺少 account_id 或 NYID")
|
||||
return []
|
||||
|
||||
existing_pairs: Set[Tuple[int, int]] = {
|
||||
(item.account_id, item.NYID)
|
||||
for item in db.query(DailyData.account_id, DailyData.NYID)
|
||||
.filter(DailyData.account_id.in_([p[0] for p in target_pairs]),
|
||||
DailyData.NYID.in_([p[1] for p in target_pairs]))
|
||||
.all()
|
||||
}
|
||||
|
||||
# 取消查重处理
|
||||
# existing_pairs: Set[Tuple[int, int]] = {
|
||||
# (item.account_id, item.NYID)
|
||||
# for item in db.query(DailyData.account_id, DailyData.NYID)
|
||||
# .filter(DailyData.account_id.in_([p[0] for p in target_pairs]),
|
||||
# DailyData.NYID.in_([p[1] for p in target_pairs]))
|
||||
# .all()
|
||||
# }
|
||||
|
||||
to_create = [
|
||||
item for item in data_list
|
||||
if (item.account_id, item.NYID) not in existing_pairs
|
||||
# if (item.account_id, item.NYID) not in existing_pairs
|
||||
]
|
||||
|
||||
ignored_count = len(data_list) - len(to_create)
|
||||
if ignored_count > 0:
|
||||
logger.info(f"批量创建时忽略{ignored_count}条已存在记录(account_id和NYID已存在)")
|
||||
# ignored_count = len(data_list) - len(to_create)
|
||||
# if ignored_count > 0:
|
||||
# logger.info(f"批量创建时忽略{ignored_count}条已存在记录(account_id和NYID已存在)")
|
||||
|
||||
logger.info(f"批量创建 {to_create}")
|
||||
if not to_create:
|
||||
return []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user