续约待办派发
This commit is contained in:
@@ -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
@@ -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中
|
||||
|
||||
Reference in New Issue
Block a user