|
@@ -18,23 +18,25 @@ class AppKuaishouMaterialProjectRelation:
|
|
|
def handler(self):
|
|
|
try:
|
|
|
sql = """select account_id from media_api.kuaishou_video_list
|
|
|
- where stat_date>=date_format(date_sub(now(),interval 7 day),'%Y-%m-%d')
|
|
|
+ where stat_date>=date_format(date_sub(now(),interval 3 day),'%Y-%m-%d')
|
|
|
group by account_id"""
|
|
|
account_list = TidbConn.quary(self.conn, sql)
|
|
|
for account_id in account_list:
|
|
|
try:
|
|
|
sql = """
|
|
|
- replace into application.kuaishou_project_material_relation
|
|
|
-select project_id, signature
|
|
|
-from (select account_id, signature
|
|
|
+replace into application.kuaishou_project_material_relation
|
|
|
+select project_id, signature, date_format(stat_date,'%Y%m%d') as create_time from(
|
|
|
+select project_id, signature,stat_date,row_number() over (partition by signature order by stat_date desc) as rn
|
|
|
+from (select account_id, signature,stat_date
|
|
|
from media_api.kuaishou_video_list where account_id ={account_id}
|
|
|
- and stat_date>=date_format(date_sub(now(),interval 7 day),'%Y-%m-%d')
|
|
|
+ and stat_date>=date_format(date_sub(now(),interval 3 day),'%Y-%m-%d')
|
|
|
and signature is not null
|
|
|
- group by account_id, signature) a
|
|
|
+ group by stat_date, signature) a
|
|
|
left join
|
|
|
(select account_id, project_id from `jeecg-boot`.ctop_user_allocation where media_id = 2) b
|
|
|
on a.account_id = b.account_id
|
|
|
-group by project_id, signature
|
|
|
+group by project_id, signature)t
|
|
|
+where rn <=1
|
|
|
""".format(account_id=account_id[0])
|
|
|
print(sql)
|
|
|
TidbConn.upsert(conn=self.conn, sql_buff=sql)
|