| 
														
															@@ -15,32 +15,29 @@ du = DateUtils() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 def run(dt): 
														 | 
														
														 | 
														
															 def run(dt): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sql = f""" 
														 | 
														
														 | 
														
															     sql = f""" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            SELECT a.dt,b.type,count(*) as ct,sum(a.cost),sum(view_count),sum(click_count), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            SELECT a.dt,a.type,count(*) as ct,sum(a.cost),sum(view_count),sum(click_count), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sum(follow_count),sum(order_count),sum(order_amount), 
														 | 
														
														 | 
														
															             sum(follow_count),sum(order_count),sum(order_amount), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             title,description,book,platform,stage,e.channel,pitcher,ifnull(image_id,''), 
														 | 
														
														 | 
														
															             title,description,book,platform,stage,e.channel,pitcher,ifnull(image_id,''), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            g.created_time,g.campaign_id  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            g.created_time,a.campaign_id  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             from  
														 | 
														
														 | 
														
															             from  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ad_cost_day a  
														 | 
														
														 | 
														
															             ad_cost_day a  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join ad_info b on a.ad_id=b.ad_id 
														 | 
														
														 | 
														
															             left join ad_info b on a.ad_id=b.ad_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join adcreative_info c on b.adcreative_id=c.adcreative_id 
														 | 
														
														 | 
														
															             left join adcreative_info c on b.adcreative_id=c.adcreative_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            left join channel_by_account_daily e on b.account_id=e.account_id and a.dt=e.dt 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join channel_by_account_daily e on a.account_id=e.account_id and a.dt=e.dt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join channel_info_daily f on e.channel=f.channel and e.dt=f.dt 
														 | 
														
														 | 
														
															             left join channel_info_daily f on e.channel=f.channel and e.dt=f.dt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            left join campaign_info g on b.campaign_id = g.campaign_id  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            where a.dt='{dt}'  and (c.is_video=0 or c.is_video is null) and g.campaign_id is not null 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            group by g.campaign_id  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join campaign_info g on a.campaign_id = g.campaign_id  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            where a.dt='{dt}'  and (c.is_video=0 or c.is_video is null) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            and a.campaign_id is not null 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            group by a.campaign_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															              
														 | 
														
														 | 
														
															              
														 | 
													
												
											
												
													
														| 
														 | 
														
															             """ 
														 | 
														
														 | 
														
															             """ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     # print(sql) 
														 | 
														
														 | 
														
															     # print(sql) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     data = db.quchen_text.get_data_list(sql) 
														 | 
														
														 | 
														
															     data = db.quchen_text.get_data_list(sql) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    # print(data) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     # 图片链接拼接 
														 | 
														
														 | 
														
															     # 图片链接拼接 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     li = [] 
														 | 
														
														 | 
														
															     li = [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     for i in data: 
														 | 
														
														 | 
														
															     for i in data: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        # print(i) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         li.extend(i[16].split(',')) 
														 | 
														
														 | 
														
															         li.extend(i[16].split(',')) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     # TODO:之后如果一天产生的图片过多,可能超过sql的字符限制 
														 | 
														
														 | 
														
															     # TODO:之后如果一天产生的图片过多,可能超过sql的字符限制 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -148,28 +145,28 @@ def run(dt): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     data = data_new 
														 | 
														
														 | 
														
															     data = data_new 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     sql_video = f"""  select foo.*,if(foo2.pitcher,foo2.pitcher,foo.pitcher) as owner from 
														 | 
														
														 | 
														
															     sql_video = f"""  select foo.*,if(foo2.pitcher,foo2.pitcher,foo.pitcher) as owner from 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            (SELECT a.dt,b.type,count(*),sum(a.cost),sum(view_count),sum(click_count),sum(follow_count),sum(order_count),sum(order_amount), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            (SELECT a.dt,a.type,count(*),sum(a.cost),sum(view_count),sum(click_count),sum(follow_count),sum(order_count),sum(order_amount), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             title,description,book,platform,stage,e.channel,pitcher,ifnull(image_id,''),g.preview_url,g.signature,1, 
														 | 
														
														 | 
														
															             title,description,book,platform,stage,e.channel,pitcher,ifnull(image_id,''),g.preview_url,g.signature,1, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             g.width,g.height,g.`size` ,g.`type` as video_type ,g.video_length ,g.byte_rate ,g.video_meta_data,g.download_path 
														 | 
														
														 | 
														
															             g.width,g.height,g.`size` ,g.`type` as video_type ,g.video_length ,g.byte_rate ,g.video_meta_data,g.download_path 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            ,min(h.created_time) as created_time , h.campaign_id  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            ,min(h.created_time) as created_time , a.campaign_id  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             from  
														 | 
														
														 | 
														
															             from  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ad_cost_day a  
														 | 
														
														 | 
														
															             ad_cost_day a  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join ad_info b on a.ad_id=b.ad_id 
														 | 
														
														 | 
														
															             left join ad_info b on a.ad_id=b.ad_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join adcreative_info c on b.adcreative_id=c.adcreative_id 
														 | 
														
														 | 
														
															             left join adcreative_info c on b.adcreative_id=c.adcreative_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            left join channel_by_account_daily e on b.account_id=e.account_id and a.dt=e.dt 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join channel_by_account_daily e on a.account_id=e.account_id and a.dt=e.dt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join channel_info_daily f on e.channel=f.channel and e.dt=f.dt 
														 | 
														
														 | 
														
															             left join channel_info_daily f on e.channel=f.channel and e.dt=f.dt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join video_info g on c.image_id=g.video_id 
														 | 
														
														 | 
														
															             left join video_info g on c.image_id=g.video_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            left join campaign_info h on b.campaign_id = h.campaign_id  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join campaign_info h on a.campaign_id = h.campaign_id  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             where a.dt='{dt}'  and c.is_video=1 and h.campaign_id  is not null 
														 | 
														
														 | 
														
															             where a.dt='{dt}'  and c.is_video=1 and h.campaign_id  is not null 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            group by h.campaign_id) as foo 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            inner join              
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            group by a.campaign_id) as foo 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             (select signature,pitcher from ad_cost_day a  
														 | 
														
														 | 
														
															             (select signature,pitcher from ad_cost_day a  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join ad_info b on a.ad_id=b.ad_id 
														 | 
														
														 | 
														
															             left join ad_info b on a.ad_id=b.ad_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join adcreative_info c on b.adcreative_id=c.adcreative_id 
														 | 
														
														 | 
														
															             left join adcreative_info c on b.adcreative_id=c.adcreative_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            left join channel_by_account_daily e on b.account_id=e.account_id and a.dt=e.dt 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join channel_by_account_daily e on a.account_id=e.account_id and a.dt=e.dt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join channel_info_daily f on e.channel=f.channel and e.dt=f.dt 
														 | 
														
														 | 
														
															             left join channel_info_daily f on e.channel=f.channel and e.dt=f.dt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join video_info g on c.image_id=g.video_id 
														 | 
														
														 | 
														
															             left join video_info g on c.image_id=g.video_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            left join campaign_info h on b.campaign_id = h.campaign_id  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join campaign_info h on a.campaign_id = h.campaign_id  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             where a.dt='{dt}'  and c.is_video=1 and h.campaign_id  is not null 
														 | 
														
														 | 
														
															             where a.dt='{dt}'  and c.is_video=1 and h.campaign_id  is not null 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             and (signature,h.created_time) in  
														 | 
														
														 | 
														
															             and (signature,h.created_time) in  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             (select signature,min(h.created_time) as created_time   
														 | 
														
														 | 
														
															             (select signature,min(h.created_time) as created_time   
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -177,10 +174,10 @@ def run(dt): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ad_cost_day a  
														 | 
														
														 | 
														
															             ad_cost_day a  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join ad_info b on a.ad_id=b.ad_id 
														 | 
														
														 | 
														
															             left join ad_info b on a.ad_id=b.ad_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join adcreative_info c on b.adcreative_id=c.adcreative_id 
														 | 
														
														 | 
														
															             left join adcreative_info c on b.adcreative_id=c.adcreative_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            left join channel_by_account_daily e on b.account_id=e.account_id and a.dt=e.dt 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join channel_by_account_daily e on a.account_id=e.account_id and a.dt=e.dt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join channel_info_daily f on e.channel=f.channel and e.dt=f.dt 
														 | 
														
														 | 
														
															             left join channel_info_daily f on e.channel=f.channel and e.dt=f.dt 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             left join video_info g on c.image_id=g.video_id 
														 | 
														
														 | 
														
															             left join video_info g on c.image_id=g.video_id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            left join campaign_info h on b.campaign_id = h.campaign_id  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            left join campaign_info h on a.campaign_id = h.campaign_id  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             where a.dt='{dt}'  and c.is_video=1 and h.campaign_id  is not null 
														 | 
														
														 | 
														
															             where a.dt='{dt}'  and c.is_video=1 and h.campaign_id  is not null 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             and length (signature)>6 
														 | 
														
														 | 
														
															             and length (signature)>6 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             group by signature) 
														 | 
														
														 | 
														
															             group by signature) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -267,12 +264,11 @@ if __name__ == '__main__': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     # -495 
														 | 
														
														 | 
														
															     # -495 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     # 
														 | 
														
														 | 
														
															     # 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    for i in du.getDateLists(du.get_n_days(-495), du.get_n_days(0)): 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    for i in du.getDateLists(du.get_n_days(-360), du.get_n_days(0)): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         print(i) 
														 | 
														
														 | 
														
															         print(i) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        # exit() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         run(i) 
														 | 
														
														 | 
														
															         run(i) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     # print(du.get_n_days(-20)) 
														 | 
														
														 | 
														
															     # print(du.get_n_days(-20)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     # run(du.get_n_days(0)) 
														 | 
														
														 | 
														
															     # run(du.get_n_days(0)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     # print(du.get_n_days(-30)) 
														 | 
														
														 | 
														
															     # print(du.get_n_days(-30)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    # run(du.get_n_days(-30)) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    run(du.get_n_days(-3)) 
														 |