saas1.6日志更新
This commit is contained in:
@@ -1,18 +1,27 @@
|
||||
from datetime import date, timedelta, datetime
|
||||
import holidays
|
||||
from datetime import timedelta, datetime
|
||||
from config import Config
|
||||
import pandas as pd
|
||||
import pymysql # 使用 pymysql 替代 mysql.connector
|
||||
from back_ground_module import CommonModule
|
||||
from log_config import configure_task_logger, configure_error_task_logger
|
||||
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()
|
||||
# 保存为CSV文件
|
||||
output_dir = "output" # 设置输出目录
|
||||
# 创建输出目录(如果不存在)
|
||||
import os
|
||||
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
common_module = CommonModule()
|
||||
api_instance = API()
|
||||
|
||||
|
||||
class JCBEfficientCarPickup:
|
||||
"""接车宝日常回访"""
|
||||
|
||||
def __init__(self):
|
||||
# 使用 pymysql 连接数据库
|
||||
self.field_mapping = {}
|
||||
@@ -30,6 +39,7 @@ class JCBEfficientCarPickup:
|
||||
|
||||
def today_customer_service_list(self):
|
||||
# 获取今日接车宝派发客服顺序
|
||||
global is_customer_service_data_id
|
||||
today_customer_service_list = []
|
||||
all_customer_service_list = []
|
||||
today_customer_service_start_list = []
|
||||
@@ -98,6 +108,7 @@ class JCBEfficientCarPickup:
|
||||
"data_list": new_sign_abnormal_data}
|
||||
|
||||
result = api_instance.entry_data_batch_create(data)
|
||||
logger.info(f"数据发送成功:{result}")
|
||||
|
||||
data1 = {"api_key": Config.EFFICIENT_CAR_PICKUP_APP_ID,
|
||||
"entry_id": Config.EFFICIENT_CAR_PICKUP_CUSTOMER_SERVICE_ID,
|
||||
@@ -119,108 +130,111 @@ class JCBEfficientCarPickup:
|
||||
{"_widget_1740042824216": {"value": "是"}, }}
|
||||
|
||||
api_instance.entry_data_update(data1)
|
||||
api_instance.entry_data_update(data2)
|
||||
result2 = api_instance.entry_data_update(data2)
|
||||
logger.info(f"明日派发人员信息已修改:{result2}")
|
||||
|
||||
def main(self):
|
||||
task_start_time =datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
task_start_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
try:
|
||||
logger.info(f"接车宝日常回访开始执行")
|
||||
data_JCB = common_module.get_jcb_details()
|
||||
logger.info(f"数据加载完成")
|
||||
|
||||
data_JCB = common_module.get_jcb_details()
|
||||
print(data_JCB)
|
||||
# data_JCB.to_csv(os.path.join(output_dir, 'JCB_all_data.csv'), index=False)
|
||||
self.fields()
|
||||
|
||||
# 保存为CSV文件
|
||||
output_dir = "output" # 设置输出目录
|
||||
# 新签异常待办回访。
|
||||
# 当前日期
|
||||
current_date = datetime.now()
|
||||
current_date = current_date + timedelta(days=0)
|
||||
current_date_str = current_date.strftime("%Y-%m-%d")
|
||||
|
||||
# 创建输出目录(如果不存在)
|
||||
import os
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
seven_days_ago = current_date - timedelta(days=7)
|
||||
seven_days_ago = seven_days_ago.date()
|
||||
# print(three_days_ago)
|
||||
new_sign_abnormal = []
|
||||
|
||||
# data_JCB.to_csv(os.path.join(output_dir, 'JCB_all_data.csv'), index=False)
|
||||
self.fields()
|
||||
for index, row in data_JCB.iterrows():
|
||||
new_row = row.copy()
|
||||
# 先转成字符串,再解析回 date 对象
|
||||
new_row['开户日'] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
if new_row['开户日'] == seven_days_ago and row['当月开单天数'] == 0:
|
||||
# print(row['账号'], row['开户日'], row['当月开单天数'])
|
||||
row["日期"] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
row['日期'] = row["日期"].strftime("%Y-%m-%d")
|
||||
new_sign_abnormal.append(row)
|
||||
|
||||
# 新签异常待办回访。
|
||||
# 当前日期
|
||||
current_date = datetime.now()
|
||||
current_date = current_date + timedelta(days=0)
|
||||
current_date_str = current_date.strftime("%Y-%m-%d")
|
||||
new_sign_abnormal = pd.DataFrame(new_sign_abnormal)
|
||||
new_sign_abnormal["表单类型"] = "新签异常待办"
|
||||
new_sign_abnormal["派发日期"] = current_date_str
|
||||
|
||||
seven_days_ago = current_date - timedelta(days=7)
|
||||
seven_days_ago = seven_days_ago.date()
|
||||
# print(three_days_ago)
|
||||
new_sign_abnormal = []
|
||||
self.send_request(new_sign_abnormal) # 发送请求
|
||||
logger.info(f"新签异常待办回访完成")
|
||||
|
||||
for index, row in data_JCB.iterrows():
|
||||
new_row = row.copy()
|
||||
# 先转成字符串,再解析回 date 对象
|
||||
new_row['开户日'] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
if new_row['开户日'] == seven_days_ago and row['当月开单天数'] == 0:
|
||||
# print(row['账号'], row['开户日'], row['当月开单天数'])
|
||||
row["日期"] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
row['日期'] = row["日期"].strftime("%Y-%m-%d")
|
||||
new_sign_abnormal.append(row)
|
||||
# 优质客户转商机
|
||||
# current_date = datetime.now()
|
||||
thirty_days_ago = current_date - timedelta(days=30)
|
||||
sixty_days_ago = current_date - timedelta(days=60)
|
||||
thirty_days_ago = thirty_days_ago.date()
|
||||
sixty_days_ago = sixty_days_ago.date()
|
||||
customer_to_opportunity = []
|
||||
for index, row in data_JCB.iterrows():
|
||||
new_row = row.copy()
|
||||
# 先转成字符串,再解析回 date 对象
|
||||
new_row['到期日'] = datetime.strptime(str(row['到期日']), "%Y-%m-%d").date()
|
||||
if new_row['到期日'] == thirty_days_ago and row['近一周开单量'] >= 3 and row[
|
||||
'G状态:近30天开单大于等于10天'] == 1:
|
||||
print(row['账号'], row['到期日'], row['当月开单天数'], row['当月G天数'])
|
||||
row["日期"] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
row['日期'] = row["日期"].strftime("%Y-%m-%d")
|
||||
customer_to_opportunity.append(row)
|
||||
# 推送给客服
|
||||
pass
|
||||
if new_row['到期日'] == sixty_days_ago and row['近一周开单量'] >= 3 and row[
|
||||
'G状态:近30天开单大于等于10天'] == 1:
|
||||
print(row['账号'], row['到期日'], row['当月开单天数'], row['当月G天数'])
|
||||
row["日期"] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
row['日期'] = row["日期"].strftime("%Y-%m-%d")
|
||||
customer_to_opportunity.append(row)
|
||||
# 推送给客服
|
||||
pass
|
||||
|
||||
new_sign_abnormal = pd.DataFrame(new_sign_abnormal)
|
||||
new_sign_abnormal["表单类型"] = "新签异常待办"
|
||||
new_sign_abnormal["派发日期"] = current_date_str
|
||||
customer_to_opportunity = pd.DataFrame(customer_to_opportunity)
|
||||
customer_to_opportunity["表单类型"] = "续约优质客户转商机"
|
||||
customer_to_opportunity["派发日期"] = current_date_str
|
||||
|
||||
self.send_request(new_sign_abnormal) # 发送请求
|
||||
self.send_request(customer_to_opportunity)
|
||||
logger.info(f"优质客户转商机完成")
|
||||
|
||||
# 优质客户转商机
|
||||
# current_date = datetime.now()
|
||||
thirty_days_ago = current_date - timedelta(days=30)
|
||||
sixty_days_ago = current_date - timedelta(days=60)
|
||||
thirty_days_ago = thirty_days_ago.date()
|
||||
sixty_days_ago = sixty_days_ago.date()
|
||||
customer_to_opportunity = []
|
||||
for index, row in data_JCB.iterrows():
|
||||
new_row = row.copy()
|
||||
# 先转成字符串,再解析回 date 对象
|
||||
new_row['到期日'] = datetime.strptime(str(row['到期日']), "%Y-%m-%d").date()
|
||||
if new_row['到期日'] == thirty_days_ago and row['近一周开单量'] >= 3 and row[
|
||||
'G状态:近30天开单大于等于10天'] == 1:
|
||||
print(row['账号'], row['到期日'], row['当月开单天数'], row['当月G天数'])
|
||||
row["日期"] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
row['日期'] = row["日期"].strftime("%Y-%m-%d")
|
||||
customer_to_opportunity.append(row)
|
||||
# 推送给客服
|
||||
pass
|
||||
if new_row['到期日'] == sixty_days_ago and row['近一周开单量'] >= 3 and row[
|
||||
'G状态:近30天开单大于等于10天'] == 1:
|
||||
print(row['账号'], row['到期日'], row['当月开单天数'], row['当月G天数'])
|
||||
row["日期"] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
row['日期'] = row["日期"].strftime("%Y-%m-%d")
|
||||
customer_to_opportunity.append(row)
|
||||
# 推送给客服
|
||||
pass
|
||||
# 过期7天客服回访
|
||||
# current_date = datetime.now()
|
||||
seven_days_ago = current_date - timedelta(days=7)
|
||||
seven_days_ago = seven_days_ago.date()
|
||||
outdated_30 = []
|
||||
for index, row in data_JCB.iterrows():
|
||||
new_row = row.copy()
|
||||
new_row['到期日'] = datetime.strptime(str(row['到期日']), "%Y-%m-%d").date()
|
||||
# seven_days_ago = seven_days_ago.date()
|
||||
# print(row['到期日'], seven_days_ago)
|
||||
if new_row['到期日'] == seven_days_ago and row['客户状态'] == "过期":
|
||||
print(row['账号'], row['到期日'], row['当月开单天数'], row['当月G天数'])
|
||||
row["日期"] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
row['日期'] = row["日期"].strftime("%Y-%m-%d")
|
||||
outdated_30.append(row)
|
||||
# 推送给客服
|
||||
pass
|
||||
|
||||
customer_to_opportunity = pd.DataFrame(customer_to_opportunity)
|
||||
customer_to_opportunity["表单类型"] = "续约优质客户转商机"
|
||||
customer_to_opportunity["派发日期"] = current_date_str
|
||||
outdated_30 = pd.DataFrame(outdated_30)
|
||||
outdated_30["表单类型"] = "过期7天回访"
|
||||
outdated_30["派发日期"] = current_date_str
|
||||
self.send_request(outdated_30)
|
||||
logger.info(f"过期7天客服回访完成")
|
||||
|
||||
self.send_request(customer_to_opportunity)
|
||||
|
||||
# 过期7天客服回访
|
||||
# current_date = datetime.now()
|
||||
seven_days_ago = current_date - timedelta(days=7)
|
||||
seven_days_ago = seven_days_ago.date()
|
||||
outdated_30 = []
|
||||
for index, row in data_JCB.iterrows():
|
||||
new_row = row.copy()
|
||||
new_row['到期日'] = datetime.strptime(str(row['到期日']), "%Y-%m-%d").date()
|
||||
# seven_days_ago = seven_days_ago.date()
|
||||
# print(row['到期日'], seven_days_ago)
|
||||
if new_row['到期日'] == seven_days_ago and row['客户状态'] == "过期":
|
||||
print(row['账号'], row['到期日'], row['当月开单天数'], row['当月G天数'])
|
||||
row["日期"] = datetime.strptime(str(row['开户日']), "%Y-%m-%d").date()
|
||||
row['日期'] = row["日期"].strftime("%Y-%m-%d")
|
||||
outdated_30.append(row)
|
||||
# 推送给客服
|
||||
pass
|
||||
|
||||
outdated_30 = pd.DataFrame(outdated_30)
|
||||
outdated_30["表单类型"] = "过期7天回访"
|
||||
outdated_30["派发日期"] = current_date_str
|
||||
self.send_request(outdated_30)
|
||||
common_module.send_task_status(task_start_time, "接车宝日常派发")
|
||||
common_module.send_task_status(task_start_time, "接车宝日常派发")
|
||||
logger.info(f"接车宝日常派发执行完成")
|
||||
except Exception as e:
|
||||
common_module.send_task_error(task_start_time, "接车宝日常派发", str(e))
|
||||
error_task_logger.error(f"接车宝日常派发执行出错:{e}")
|
||||
|
||||
@staticmethod
|
||||
def row_to_dict(row, field_mapping):
|
||||
|
||||
Reference in New Issue
Block a user