客户资料更新取消新建
This commit is contained in:
Generated
+14
@@ -3,6 +3,13 @@
|
||||
<component name="CsvFileAttributes">
|
||||
<option name="attributeMap">
|
||||
<map>
|
||||
<entry key="\back_ground_module\1762841002.961643_ngv_data_yesterday.csv">
|
||||
<value>
|
||||
<Attribute>
|
||||
<option name="separator" value="," />
|
||||
</Attribute>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="\back_ground_module\CRM.csv">
|
||||
<value>
|
||||
<Attribute>
|
||||
@@ -17,6 +24,13 @@
|
||||
</Attribute>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="\back_ground_module\create_data.csv">
|
||||
<value>
|
||||
<Attribute>
|
||||
<option name="separator" value="," />
|
||||
</Attribute>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="\db\task_queue.csv">
|
||||
<value>
|
||||
<Attribute>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -69,7 +69,7 @@ class UpdateNGVData:
|
||||
filtered_df = new_df[new_df['org_type'] == '一般']
|
||||
filtered_df = filtered_df.copy()
|
||||
# 默认未删除
|
||||
filtered_df['源ngv是否已删除'] = '未删除'
|
||||
filtered_df['源NGV是否已删除'] = '未删除'
|
||||
|
||||
# 日期字段转换为日期格式
|
||||
time_columns = ['date_fmt', 'saas_create_time', 'expiry_time', 'install_create_time', "last_end_date",
|
||||
|
||||
@@ -1,65 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
NGV数据每日更新 - 优化版本
|
||||
优化点:
|
||||
1. 保留批量标记未删除再标记已删除的逻辑
|
||||
2. 重构代码结构,提高可读性和可维护性
|
||||
3. 解决无id时创建记录没有门店编码的问题
|
||||
4. 优化人员字段匹配效率(使用字典映射)
|
||||
5. 移除无效的并发代码
|
||||
6. 支持本地缓存功能,方便开发调试
|
||||
|
||||
【本地缓存使用说明】
|
||||
调试时可以使用本地缓存功能,避免每次都重新获取数据:
|
||||
|
||||
1. 首次运行(生成缓存):
|
||||
- 保持 USE_LOCAL_CACHE = False
|
||||
- 运行脚本,会自动将数据保存到 output/cache/ 目录
|
||||
|
||||
2. 调试批量修改(使用缓存):
|
||||
- 修改代码:USE_LOCAL_CACHE = True
|
||||
- 重新运行,将从本地缓存读取数据,跳过API调用
|
||||
- 可以快速测试批量修改逻辑
|
||||
|
||||
3. 正式运行(禁用缓存):
|
||||
- 修改代码:USE_LOCAL_CACHE = False
|
||||
- 获取最新数据并执行更新
|
||||
|
||||
缓存文件位置:output/cache/
|
||||
- jdy_ngv_data.csv: 简道云NGV数据
|
||||
- staff_data.csv: 员工数据
|
||||
- ngv_data_today.csv: NGV昨天数据
|
||||
- ngv_data_yesterday.csv: NGV前天数据
|
||||
|
||||
【删除状态重置说明】
|
||||
首次运行时需要重置所有数据的删除状态:
|
||||
|
||||
1. 首次运行:
|
||||
- 设置 RESET_ALL_DELETED_STATUS = True
|
||||
- 运行脚本,会批量标记所有简道云数据为"未删除"
|
||||
- 然后批量标记不存在的门店为"已删除"
|
||||
|
||||
2. 日常运行:
|
||||
- 设置 RESET_ALL_DELETED_STATUS = False
|
||||
- 只处理新增的已删除门店(批量标记)
|
||||
|
||||
【并发更新说明】
|
||||
通过多线程并发提升更新速度:
|
||||
|
||||
1. 并发模式(推荐,速度快):
|
||||
- 设置 USE_CONCURRENT_UPDATE = True
|
||||
- 设置 CONCURRENT_WORKERS = 10(并发线程数)
|
||||
- 预期速度:10条/秒或更快(取决于网络和API性能)
|
||||
|
||||
2. 串行模式(调试用):
|
||||
- 设置 USE_CONCURRENT_UPDATE = False
|
||||
- 逐条更新,速度慢(约3条/秒)
|
||||
- 便于定位问题
|
||||
|
||||
3. 速度调优:
|
||||
- 提高 CONCURRENT_WORKERS 可以提速(建议5-20)
|
||||
- 过高可能导致API限流,需要根据实际情况调整
|
||||
"""
|
||||
import pandas as pd
|
||||
import datetime
|
||||
import os
|
||||
@@ -106,7 +46,7 @@ USE_CONCURRENT_UPDATE = True # True=并发更新(快),False=串行更新
|
||||
# 并发线程数(同时执行的更新任务数)
|
||||
# 建议值:5-20,过大可能被API限流,过小影响速度
|
||||
# 如果API限流严重,可以降低到3-5
|
||||
CONCURRENT_WORKERS = 8
|
||||
CONCURRENT_WORKERS = 6
|
||||
|
||||
# 【4. 批量创建配置】
|
||||
# 是否使用批量创建(批量创建速度快)
|
||||
@@ -659,10 +599,6 @@ class UpdateAllNGVDataDaily:
|
||||
'row_data': row # 保存原始数据用于输出
|
||||
})
|
||||
else:
|
||||
# 创建操作:必须包含门店编码字段
|
||||
if self.ORG_CODE_WIDGET_ID not in data_dict:
|
||||
org_code = idx
|
||||
data_dict[self.ORG_CODE_WIDGET_ID] = {"value": org_code}
|
||||
|
||||
# 新增:仅创建内容非全空的记录
|
||||
# 检查除了门店编码外,其他字段是否全为空
|
||||
@@ -697,8 +633,8 @@ class UpdateAllNGVDataDaily:
|
||||
# 执行创建
|
||||
create_count = 0
|
||||
|
||||
# create_df = pd.DataFrame(create_data_list)
|
||||
# create_df.to_csv(f"create_data.csv", index=False)
|
||||
create_df = pd.DataFrame(create_data_list)
|
||||
create_df.to_csv(f"create_data.csv", index=False)
|
||||
# if len(create_data_list) > 0:
|
||||
# if USE_BATCH_CREATE:
|
||||
# create_count = self._batch_create(create_data_list)
|
||||
|
||||
Reference in New Issue
Block a user