客户资料启用智能助手
This commit is contained in:
@@ -113,7 +113,7 @@ class UpdateNGVData:
|
||||
pass
|
||||
|
||||
#
|
||||
data = {'api_key': Config.SaaS_Tasks_APP_ID, 'entry_id': Config.NGV_TASKS_ENTRY_ID, "data_list": all_data}
|
||||
data = {'api_key': Config.SaaS_Tasks_APP_ID, 'entry_id': Config.NGV_TASKS_ENTRY_ID, "data_list": all_data,"is_start_trigger":"true"}
|
||||
|
||||
result = api_instance.entry_data_batch_create(data)
|
||||
logger.info(f"数据已推送:{result}")
|
||||
|
||||
@@ -66,6 +66,7 @@ import os
|
||||
import sys
|
||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||
import time
|
||||
import numpy as np
|
||||
|
||||
# 添加父目录到Python路径,以便导入项目模块
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
@@ -616,6 +617,17 @@ class UpdateAllNGVDataDaily:
|
||||
org_code = idx
|
||||
data_dict[self.ORG_CODE_WIDGET_ID] = {"value": org_code}
|
||||
|
||||
# 新增:仅创建内容非全空的记录
|
||||
# 检查除了门店编码外,其他字段是否全为空
|
||||
all_empty = True
|
||||
for k, v in data_dict.items():
|
||||
if k != self.ORG_CODE_WIDGET_ID and v.get('value') not in (None, '', float('nan')):
|
||||
all_empty = False
|
||||
break
|
||||
if all_empty:
|
||||
logger.info(f" - 跳过内容全空的新建记录 org_code: {idx}")
|
||||
continue
|
||||
|
||||
create_data_list.append({
|
||||
'org_code': idx,
|
||||
'data_dict': data_dict,
|
||||
@@ -782,7 +794,9 @@ class UpdateAllNGVDataDaily:
|
||||
create_data = {
|
||||
'api_key': Config.SaaS_Tasks_APP_ID,
|
||||
'entry_id': Config.NGV_TASKS_ENTRY_ID,
|
||||
'data': item['data_dict']
|
||||
'data': item['data_dict'],
|
||||
'is_start_trigger':'true',
|
||||
|
||||
}
|
||||
api_instance.data_batch_create(data=create_data, max_retries=20)
|
||||
success_count += 1
|
||||
|
||||
@@ -48,6 +48,7 @@ class EmailProcessor:
|
||||
"指标类型": "_widget_1742091963880",
|
||||
"指标值": "_widget_1742091963882",
|
||||
"指标子类型": "_widget_1742091963881",
|
||||
"门店过期时间":"_widget_1761875317680"
|
||||
}
|
||||
|
||||
def connect_email_by_pop3(self):
|
||||
@@ -288,10 +289,12 @@ class EmailProcessor:
|
||||
email_df['门店ID'] = email_df['门店ID'].astype(str)
|
||||
email_df['指标归属日期'] = pd.to_datetime(email_df['指标归属日期'], format="%Y/%m/%d").dt.strftime("%Y-%m-%d")
|
||||
email_df["门店创建时间"] = pd.to_datetime(email_df['门店创建时间'], format="%Y-%m-%d %H:%M:%S")
|
||||
email_df["门店过期时间"] = pd.to_datetime(email_df['门店过期时间'], format="%Y-%m-%d %H:%M:%S")
|
||||
new_email_df = email_df.copy() # 拷贝传参
|
||||
for index, row in email_df.iterrows():
|
||||
email_df.loc[index, '指标归属日期'] = common_module.time_to_UTC(row['指标归属日期'])
|
||||
email_df.loc[index, '门店创建时间'] = common_module.time_to_UTC(row['门店创建时间'])
|
||||
email_df.loc[index, '门店过期时间'] = common_module.time_to_UTC(row['门店过期时间'])
|
||||
|
||||
email_data = [self.row_to_dict(row, self.field_mapping) for index, row in email_df.iterrows()]
|
||||
new_email_data = {'api_key': "673457d6837e60a418e0e56b",
|
||||
@@ -361,7 +364,7 @@ class EmailProcessor:
|
||||
return
|
||||
|
||||
logger.info("邮件获取完成,开始处理数据")
|
||||
email_df = processor.update_email()
|
||||
email_df = processor.update_email() # 发送到简道云
|
||||
processor.up_to_BI(email_df) # 发送到BI
|
||||
common_module.send_task_status(task_start_time, "海外邮件推送")
|
||||
logger.info("海外邮件推送任务完成")
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
import mysql.connector
|
||||
from mysql.connector import Error
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from yd_api import YDAPI
|
||||
from api import API
|
||||
import pandas as pd
|
||||
from tqdm import tqdm
|
||||
import time
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime
|
||||
from config import Config
|
||||
from back_ground_module import CommonModule
|
||||
import logging
|
||||
from log_config import configure_task_logger, configure_error_task_logger
|
||||
import mysql.connector
|
||||
from mysql.connector import Error
|
||||
|
||||
Reference in New Issue
Block a user