diff --git a/back_ground_module/update_NGV_data.py b/back_ground_module/update_NGV_data.py index cb621e6..495d418 100644 --- a/back_ground_module/update_NGV_data.py +++ b/back_ground_module/update_NGV_data.py @@ -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}") diff --git a/back_ground_module/update_all_NGV_data_daily.py b/back_ground_module/update_all_NGV_data_daily.py index efca0d6..10136cc 100644 --- a/back_ground_module/update_all_NGV_data_daily.py +++ b/back_ground_module/update_all_NGV_data_daily.py @@ -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 diff --git a/back_ground_module/update_email_to_store_daily_use.py b/back_ground_module/update_email_to_store_daily_use.py index be7cd20..4182000 100644 --- a/back_ground_module/update_email_to_store_daily_use.py +++ b/back_ground_module/update_email_to_store_daily_use.py @@ -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("海外邮件推送任务完成") diff --git a/back_ground_module/update_molecule_reporting_adjustment_to_bi.py b/back_ground_module/update_molecule_reporting_adjustment_to_bi.py index 8894a92..cc7a0ac 100644 --- a/back_ground_module/update_molecule_reporting_adjustment_to_bi.py +++ b/back_ground_module/update_molecule_reporting_adjustment_to_bi.py @@ -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 diff --git a/test/BI.ipynb b/test/BI.ipynb index 0b60fad..948a73b 100644 --- a/test/BI.ipynb +++ b/test/BI.ipynb @@ -257,8 +257,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-27T06:50:20.870562Z", - "start_time": "2025-10-27T06:50:20.631342Z" + "end_time": "2025-10-31T01:47:00.303760Z", + "start_time": "2025-10-31T01:46:58.373023Z" } }, "cell_type": "code", @@ -274,10 +274,10 @@ " } # 衡时数据库链接配置-mysql\n", "# table_name = \"new_dealer_service_order_to_bi\" # 替换为你的实际表名\n", "\n", - "table_name = \"non_standard_performance_to_BI\"\n", - "column_name = \"业绩分类\"\n", - "new_column_type = \"VARCHAR(255)\" # 目标数据类型\n", - "# new_column_type = \"DATETIME\" # 目标数据类型\n", + "table_name = \"thailand_store_data_email\"\n", + "column_name = \"门店过期时间\"\n", + "# new_column_type = \"VARCHAR(255)\" # 目标数据类型\n", + "new_column_type = \"DATETIME\" # 目标数据类型\n", "\n", "try:\n", " # 连接数据库\n", @@ -336,12 +336,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "✅ 成功添加字段: `业绩分类`\n", + "✅ 成功添加字段: `门店过期时间`\n", "数据库连接已关闭\n" ] } ], - "execution_count": 5 + "execution_count": 1 }, { "metadata": {},