Jelajahi Sumber

233多应用的广告计划创建改为一个游戏对应一个广告计划,不再按天进行滚动生成新的计划

liyuyi@c-top.com.cn 4 tahun lalu
induk
melakukan
e23f005849
2 mengubah file dengan 32 tambahan dan 32 penghapusan
  1. 31 31
      ai_time_task_creative_handler.py
  2. 1 1
      utils/CommonFunction.py

+ 31 - 31
ai_time_task_creative_handler.py

@@ -54,20 +54,16 @@ class AiHistoricalMissingMaterial(tornado.web.RequestHandler):
                     if app_id_info['code'] != 0:
                         continue
 
-                    # 2、依据 appVersion 的值,来判断当天是否已经有对应的计划,如果有则获取 campaign_id,没有则设置 campaign_name
+                    # 2、依据 appVersion 的值,来判断是否已经有对应的计划,如果有则获取 campaign_id,没有则设置 campaign_name
                     app_version = app_id_info['data'].get('appVersion', 'error')
                     track_url = app_id_info['data'].get('trackUrl', 'error')
 
-                    start_time = (datetime.date.today()).strftime('%Y-%m-%d %H:%M:%S')
-                    end_time = (datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S')
                     sql = """ select campaign_id, campaign_name from ctop_kuaishou_campaign 
                               where account_id = %s
-                              and put_create_time >= '%s'
-                              and put_create_time <= '%s'
-                                        """ % (account_id, start_time, end_time)
+                                        """ % account_id
                     campaign_df = pd.read_sql(sql, engine)
                     for row in campaign_df.itertuples():
-                        if ('遗漏素材' in getattr(row, 'campaign_name')) and (app_version in getattr(row, 'campaign_name')):
+                        if (app_version + '-优选广告位-' + '遗漏素材') == getattr(row, 'campaign_name'):
                             campaign_id = getattr(row, 'campaign_id')
                             break
 
@@ -179,20 +175,15 @@ class AiAutoCreative(tornado.web.RequestHandler):
                     if app_id_info['code'] != 0:
                         continue
 
-                    # 2、依据 appVersion 的值,来判断当天是否已经有对应的计划,如果有则获取 campaign_id,没有则设置 campaign_name
+                    # 2、依据 appVersion 的值,来判断是否已经有对应的计划,如果有则获取 campaign_id,没有则设置 campaign_name
                     app_version = app_id_info['data'].get('appVersion', 'error')
                     track_url = app_id_info['data'].get('trackUrl', 'error')
 
-                    start_time = (datetime.date.today()).strftime('%Y-%m-%d %H:%M:%S')
-                    end_time = (datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S')
                     sql = """ select campaign_id, campaign_name from ctop_kuaishou_campaign 
-                                          where account_id = %s
-                                          and put_create_time >= '%s'
-                                          and put_create_time <= '%s'
-                                                    """ % (account_id, start_time, end_time)
+                                          where account_id = %s """ % account_id
                     campaign_df = pd.read_sql(sql, engine)
                     for row in campaign_df.itertuples():
-                        if ('素材自动上新' in getattr(row, 'campaign_name')) and (app_version in getattr(row, 'campaign_name')):
+                        if (app_version + '-优选广告位-' + '素材自动上新') == getattr(row, 'campaign_name'):
                             campaign_id = getattr(row, 'campaign_id')
                             break
 
@@ -309,20 +300,15 @@ class AiHighQualityMaterial(tornado.web.RequestHandler):
                     if app_id_info['code'] != 0:
                         continue
 
-                    # 2、依据 appVersion 的值,来判断当天是否已经有对应的计划,如果有则获取 campaign_id,没有则设置 campaign_name
+                    # 2、依据 appVersion 的值,来判断是否已经有对应的计划,如果有则获取 campaign_id,没有则设置 campaign_name
                     app_version = app_id_info['data'].get('appVersion', 'error')
                     track_url = app_id_info['data'].get('trackUrl', 'error')
 
-                    start_time = (datetime.date.today()).strftime('%Y-%m-%d %H:%M:%S')
-                    end_time = (datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S')
                     sql = """ select campaign_id, campaign_name from ctop_kuaishou_campaign 
-                              where account_id = %s
-                              and put_create_time >= '%s'
-                              and put_create_time <= '%s'
-                              """ % (account_id, start_time, end_time)
+                              where account_id = %s """ % account_id
                     campaign_df = pd.read_sql(sql, engine)
                     for row in campaign_df.itertuples():
-                        if ('高质量素材' in getattr(row, 'campaign_name')) and (app_version in getattr(row, 'campaign_name')):
+                        if (app_version + '-优选广告位-' + '高质量素材') == getattr(row, 'campaign_name'):
                             campaign_id = getattr(row, 'campaign_id')
                             break
 
@@ -485,17 +471,11 @@ class AiCheckAndUpTOFullCreative(tornado.web.RequestHandler):
                         app_version = app_id_info['data'].get('appVersion', 'error')
                         track_url = app_id_info['data'].get('trackUrl', 'error')
 
-                        start_time = (datetime.date.today()).strftime('%Y-%m-%d %H:%M:%S')
-                        end_time = (datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S')
                         sql = """ select campaign_id, campaign_name from ctop_kuaishou_campaign 
-                                                      where account_id = %s
-                                                      and put_create_time >= '%s'
-                                                      and put_create_time <= '%s'
-                                                      """ % (account_id, start_time, end_time)
+                                                      where account_id = %s""" % account_id
                         campaign_df = pd.read_sql(sql, engine)
                         for row in campaign_df.itertuples():
-                            if ('高质量素材' in getattr(row, 'campaign_name')) and (
-                                    app_version in getattr(row, 'campaign_name')):
+                            if (app_version + '-优选广告位-' + '高质量素材') == getattr(row, 'campaign_name'):
                                 campaign_id = getattr(row, 'campaign_id')
                                 break
 
@@ -618,6 +598,7 @@ class AiProgramCreativeHighQualityMaterial(tornado.web.RequestHandler):
                 random.shuffle(app_id_array)
                 app_id_cnt = 0
                 for app_id in app_id_array:
+                    campaign_id = None
                     # 1、获取该 app_id 的应该详情
                     app_id_info = get_app_detail(account_id=account_id,
                                                  url=get_app_detail_url,
@@ -625,6 +606,15 @@ class AiProgramCreativeHighQualityMaterial(tornado.web.RequestHandler):
                     if app_id_info['code'] != 0:
                         continue
 
+                    # 2、依据 appVersion 的值,来判断是否已经有对应的计划,如果有则获取 campaign_id,没有则设置 campaign_name
+                    sql = """ select campaign_id, campaign_name from ctop_kuaishou_campaign 
+                                              where account_id = %s """ % account_id
+                    campaign_df = pd.read_sql(sql, engine)
+                    for row in campaign_df.itertuples():
+                        if (app_version + '-优选广告位-' + '程序化高质量素材') == getattr(row, 'campaign_name'):
+                            campaign_id = getattr(row, 'campaign_id')
+                            break
+
                     app_version = app_id_info['data'].get('appVersion', 'error')
                     track_url = app_id_info['data'].get('trackUrl', 'error')
 
@@ -722,6 +712,7 @@ class AiProgramCreativeNewMaterial(tornado.web.RequestHandler):
                 random.shuffle(app_id_array)
                 app_id_cnt = 0
                 for app_id in app_id_array:
+                    campaign_id = None
                     # 1、获取该 app_id 的应该详情
                     app_id_info = get_app_detail(account_id=account_id,
                                                  url=get_app_detail_url,
@@ -729,6 +720,15 @@ class AiProgramCreativeNewMaterial(tornado.web.RequestHandler):
                     if app_id_info['code'] != 0:
                         continue
 
+                    # 2、依据 appVersion 的值,来判断是否已经有对应的计划,如果有则获取 campaign_id,没有则设置 campaign_name
+                    sql = """ select campaign_id, campaign_name from ctop_kuaishou_campaign 
+                                                              where account_id = %s """ % account_id
+                    campaign_df = pd.read_sql(sql, engine)
+                    for row in campaign_df.itertuples():
+                        if (app_version + '-优选广告位-' + '程序化上新素材') == getattr(row, 'campaign_name'):
+                            campaign_id = getattr(row, 'campaign_id')
+                            break
+
                     app_version = app_id_info['data'].get('appVersion', 'error')
                     track_url = app_id_info['data'].get('trackUrl', 'error')
 

+ 1 - 1
utils/CommonFunction.py

@@ -237,7 +237,7 @@ 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 name_replace else (campaign_name + str(datetime.datetime.now()))},
+             if name_replace else campaign_name},
         'group_info':
             {'group_name': (group_name.replace('自定义', name_replace) + str(datetime.datetime.now()))
                 if name_replace else (group_name + str(datetime.datetime.now())),