续约待办派发

This commit is contained in:
z66
2025-12-16 10:55:26 +08:00
parent 5e4529c11e
commit f67ef89818
2 changed files with 41 additions and 24 deletions
+33
View File
@@ -0,0 +1,33 @@
from datetime import datetime
import os
from config import Config
import pandas as pd
from back_ground_module import CommonModule
from api import API
from log_config import configure_task_logger, configure_error_task_logger
logger = configure_task_logger()
error_task_logger = configure_error_task_logger()
output_dir = "output" # 设置输出目录
os.makedirs(output_dir, exist_ok=True)
common_module = CommonModule()
api_instance = API()
class YdToJDYRenewalToDo:
def __init__(self):
pass
def load_all_data(self):
"""
从各类来源加载数据上加载数据
:return:
"""
def main(self):
pass
if __name__ == '__main__':
yd_to_jd_renewal_to_do = YdToJDYRenewalToDo()
yd_to_jd_renewal_to_do.main()
+8 -24
View File
@@ -1,24 +1,6 @@
# 标准库
import os
import time
import random
import json
import binascii
from datetime import date, timedelta, datetime
from urllib.parse import quote
from pathlib import Path
# 第三方库
import numpy as np
from datetime import datetime
import pandas as pd
import requests
from pyDes import des, CBC, PAD_PKCS5
import mysql.connector
from mysql.connector import Error
import psycopg2
# 自定义模块
from config import Config
from api import API
from back_ground_module import CommonModule
from log_config import configure_task_logger, configure_error_task_logger
@@ -33,6 +15,7 @@ os.makedirs(output_dir, exist_ok=True)
class RenewalToDo:
def __init__(self):
self.province_staff_id_list = None
self.json_list = None
self.data_NGV = None
self.staff_id_list = None
@@ -131,10 +114,10 @@ class RenewalToDo:
payload = {"api_key": "675b900991ad2491c69389ca", "entry_id": "676512ac3e54dc3159460c0a"}
json_dict = api_instance.entry_data_list(payload)
if json_dict and "data" in json_dict:
self.staff_id_list = json_dict.get("data")
self.province_staff_id_list = json_dict.get("data")
else:
print("加载省市区人员关系表失败")
self.staff_id_list = []
self.province_staff_id_list = []
# 数据库获取续约回访数据
self.data_NGV = common_module.get_renewal_details()
@@ -144,6 +127,7 @@ class RenewalToDo:
"""
将 DataFrame 中多个姓名列替换为对应的员工ID。
:param staff_id_list: 简道云获取到员工id
:param df: pandas.DataFrame
:param name_columns: list[str],需要替换的姓名列名列表,例如 ["col1", "col2"]
:return: 修改后的 DataFrame(原列被替换)
@@ -228,7 +212,7 @@ class RenewalToDo:
staff_info = item.get('_widget_1734677164869', {}) # 续约回访客服
username = staff_info.get('username')
return username if username else "数据缺失: 客服用户名为空"
except Exception:
except Exception :
continue # 跳过格式异常的记录
return "数据缺失: 未找到对应的续约回访客服"
@@ -286,7 +270,7 @@ class RenewalToDo:
for NGV_Data in self.NGV_data_list:
# NGV_Data = NGV_Data.get("data")
if row["org_code"] == NGV_Data.get("_widget_1734062123071"): # 门店编码
NGV_data_id = NGV_Data.get("_id") # 数据id
NGV_data_id = NGV_Data.get("_id") # 数据id
# 如果需要从 NGV_data_list 获取省市区信息
if use_ngv_location:
@@ -307,7 +291,7 @@ class RenewalToDo:
logger.warning(f"省: {province_name}, 市: {city_name}, 区: {area_name}")
else:
customer_service = self.get_customer_service_by_location(province_name, city_name, area_name,
self.staff_id_list)
self.province_staff_id_list)
logger.info(f"【派发客服】门店 {row['org_code']} 派发给客服: {customer_service}")
# step4:非NGV字段添加到row中