|
@@ -1,9 +1,11 @@
|
|
|
import requests
|
|
|
-from utils.UrlConfig import headers
|
|
|
+from utils.UrlConfig import headers, refresh_video_url
|
|
|
import json
|
|
|
import pandas as pd
|
|
|
import datetime
|
|
|
from utils.DataBaseConfig import *
|
|
|
+from ai_time_task_creative_handler import logger
|
|
|
+import traceback
|
|
|
|
|
|
|
|
|
def get_lower_case_name(name):
|
|
@@ -47,9 +49,16 @@ def get_app_detail(account_id, url, app_id):
|
|
|
}
|
|
|
"""
|
|
|
request_data = {"accountId": account_id, "appId": app_id}
|
|
|
- request = requests.post(url=url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
- request = json.loads(request)
|
|
|
- return request
|
|
|
+ try:
|
|
|
+ request = requests.post(url=url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
+ request_json = json.loads(request)
|
|
|
+ if request_json["code"] != 0:
|
|
|
+ logger.info("account_id=%s, appId=%s, the res of getAppDetail is %s" % (account_id, app_id, request_json['message']))
|
|
|
+ except:
|
|
|
+ logger.error('account_id=%s, appId=%s, the res of getAppDetail is %s, the traceback is %s ' %
|
|
|
+ (account_id, app_id, request, traceback.format_exc()))
|
|
|
+ return {"code": -1}
|
|
|
+ return request_json
|
|
|
|
|
|
|
|
|
def get_history_video_info(account_id, url, start_time, end_time, video_cnt, related_creative_max_cnt, app_version=None):
|
|
@@ -77,26 +86,53 @@ def get_history_video_info(account_id, url, start_time, end_time, video_cnt, rel
|
|
|
"num": video_cnt,
|
|
|
"createCount": related_creative_max_cnt,
|
|
|
"appVersion": app_version}
|
|
|
- request = requests.post(url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
- request = json.loads(request)
|
|
|
- return request
|
|
|
+ try:
|
|
|
+ request = requests.post(url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
+ request_json = json.loads(request)
|
|
|
+ if request_json["code"] != 0:
|
|
|
+ logger.info("account_id=%s, app_version=%s, the res of getHistoryVideoList is %s" %
|
|
|
+ (account_id, app_version, request_json['message']))
|
|
|
+ except Exception:
|
|
|
+ logger.error('account_id=%s, app_version=%s, the res of getHistoryVideoList is %s, the traceback is %s ' %
|
|
|
+ (account_id, app_version, request, traceback.format_exc()))
|
|
|
+ return {"code": -1}
|
|
|
+ return request_json
|
|
|
|
|
|
|
|
|
def get_new_video_info(account_id, url, app_version=None):
|
|
|
"""
|
|
|
url:http://192.168.1.8:8080/jeecg-boot/kuaishou/material/getNewVideoList
|
|
|
请求方式:POST
|
|
|
- remark: 返回 upload_time 在上次调用时间到本次调用时间内的素材(第一次调用返回5分钟前到本次调用时间的素材)
|
|
|
+ remark:
|
|
|
+ 1、返回 upload_time 在上次调用时间到本次调用时间内的素材(第一次调用返回5分钟前到本次调用时间的素材)
|
|
|
+ 2、需要调用刷新快手素材的接口 http://192.168.1.8:8080/jeecg-boot/kuaishou/material/getKuaiShouVideoList
|
|
|
+ (请求方式 POST 入参:accountId 返回结果:成功或失败)
|
|
|
入参:accountId
|
|
|
"""
|
|
|
+ try:
|
|
|
+ request = requests.post(url=refresh_video_url, headers=headers,
|
|
|
+ data=json.JSONEncoder().encode({"accountId": account_id})).text
|
|
|
+ _ = json.loads(request)
|
|
|
+ except Exception:
|
|
|
+ logger.error('account_id=%s, app_version=%s, the res of getKuaiShouVideoList is %s, traceback is %s ' %
|
|
|
+ (account_id, app_version, request, traceback.format_exc()))
|
|
|
+
|
|
|
if not app_version:
|
|
|
request_data = {"accountId": account_id}
|
|
|
else:
|
|
|
request_data = {"accountId": account_id, 'appVersion': app_version}
|
|
|
|
|
|
- request = requests.post(url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
- request = json.loads(request)
|
|
|
- return request
|
|
|
+ try:
|
|
|
+ request = requests.post(url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
+ request_json = json.loads(request)
|
|
|
+ if request_json["code"] != 0:
|
|
|
+ logger.info("account_id=%s, app_version=%s, the res of getNewVideoList is %s" %
|
|
|
+ (account_id, app_version, request_json['message']))
|
|
|
+ except Exception:
|
|
|
+ logger.error('account_id=%s, app_version=%s, the res of getNewVideoList is %s, the traceback is %s ' %
|
|
|
+ (account_id, app_version, request, traceback.format_exc()))
|
|
|
+ return {"code": -1}
|
|
|
+ return request_json
|
|
|
|
|
|
|
|
|
def get_missing_video_info(account_id, cnt, url, start_time, end_time, app_version=None):
|
|
@@ -116,9 +152,17 @@ def get_missing_video_info(account_id, cnt, url, start_time, end_time, app_versi
|
|
|
request_data = {"accountId": account_id, "videoCnt": cnt, "startTime": start_time, "endTime": end_time,
|
|
|
'appVersion': app_version}
|
|
|
|
|
|
- request = requests.post(url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
- request = json.loads(request)
|
|
|
- return request
|
|
|
+ try:
|
|
|
+ request = requests.post(url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
+ request_json = json.loads(request)
|
|
|
+ if request_json["code"] != 0:
|
|
|
+ logger.info("account_id=%s, app_version=%s, the res of getCreateZeroVideoList is %s" %
|
|
|
+ (account_id, app_version, request_json['message']))
|
|
|
+ except Exception:
|
|
|
+ logger.error('account_id=%s, app_version=%s, the res of getCreateZeroVideoList is %s, the traceback is %s ' %
|
|
|
+ (account_id, app_version, request, traceback.format_exc()))
|
|
|
+ return {"code": -1}
|
|
|
+ return request_json
|
|
|
|
|
|
|
|
|
def get_top_video_info(account_id, cnt, start_time, end_time, url, app_version=None):
|
|
@@ -154,16 +198,24 @@ def get_top_video_info(account_id, cnt, start_time, end_time, url, app_version=N
|
|
|
else:
|
|
|
request_data = {"accountId": account_id, "num": cnt, "startTime": start_time, "endTime": end_time,
|
|
|
'appVersion': app_version}
|
|
|
- request = requests.post(url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
- request = json.loads(request)
|
|
|
- return request
|
|
|
+ try:
|
|
|
+ request = requests.post(url, headers=headers, data=json.JSONEncoder().encode(request_data)).text
|
|
|
+ request_json = json.loads(request)
|
|
|
+ if request_json["code"] != 0:
|
|
|
+ logger.info("account_id=%s, app_version=%s, the res of getHistoryTopVideoList is %s" %
|
|
|
+ (account_id, app_version, request_json['message']))
|
|
|
+ except Exception:
|
|
|
+ logger.error('account_id=%s, app_version=%s, the res of getHistoryTopVideoList is %s, the traceback is %s ' %
|
|
|
+ (account_id, app_version, request, traceback.format_exc()))
|
|
|
+ return {"code": -1}
|
|
|
+ return request_json
|
|
|
|
|
|
|
|
|
def get_campaign_and_group_name_rule(account_id):
|
|
|
sql = """select campaign_name, group_name
|
|
|
from ctop_ai_kuaishou_advertiser_strategy
|
|
|
where account_id = %s
|
|
|
- and status = 1
|
|
|
+ order by create_time desc
|
|
|
limit 1
|
|
|
""" % account_id
|
|
|
df = pd.read_sql(sql, engine)
|
|
@@ -185,10 +237,10 @@ def get_request_data(account_id, campaign_id, video_info, campaign_name, group_n
|
|
|
"campaign_info":
|
|
|
{"campaign_id": campaign_id,
|
|
|
"campaign_name": (campaign_name.replace('自定义', name_replace) + str(datetime.datetime.now()))
|
|
|
- if not name_replace else (campaign_name + str(datetime.datetime.now()))},
|
|
|
+ if name_replace else (campaign_name + str(datetime.datetime.now()))},
|
|
|
'group_info':
|
|
|
{'group_name': (group_name.replace('自定义', name_replace) + str(datetime.datetime.now()))
|
|
|
- if not name_replace else (group_name + str(datetime.datetime.now())),
|
|
|
+ if name_replace else (group_name + str(datetime.datetime.now())),
|
|
|
'begin_time': str(datetime.date.today()),
|
|
|
'unit_type': unit_type,
|
|
|
'app_id': app_id},
|