ck 4 年之前
父节点
当前提交
8bb484029c
共有 4 个文件被更改,包括 83 次插入8 次删除
  1. 12 0
      app/etl/sync_to_ck_daily.py
  2. 5 4
      app/etl/sync_to_ck_hourly.py
  3. 45 0
      app/etl/sync_to_ck_task.py
  4. 21 4
      model/DataBaseOperation.py

+ 12 - 0
app/etl/sync_to_ck_daily.py

@@ -9,15 +9,27 @@ log=logger()
 db = MysqlUtils()
 ck = CkUtils()
 dt = DateUtils()
+
 from sync_to_ck_task import *
 
 
 def run(ymd):
+    # 天
     daily_vx_campaign(ymd)
+    adcreative()
+
+    # 小时
     order(ymd)
     daily_vx(ymd)
     daily_qq(ymd)
 
+    # 全量
+    pitcher_change()
+    book_change()
+    account_change()
+    platform_change()
+
+
 
 if __name__ == '__main__':
     ymd=dt.get_n_days(-1)

+ 5 - 4
app/etl/sync_to_ck_hourly.py

@@ -3,17 +3,18 @@
 from model.DataBaseUtils import MysqlUtils,CkUtils
 from model.DateUtils import DateUtils
 from model.log import logger
+from model.DingTalkUtils import DingTalkUtils
+from sync_to_ck_task import *
 log=logger()
 db = MysqlUtils()
 ck = CkUtils()
 dt = DateUtils()
-import sys
-from model.DingTalkUtils import DingTalkUtils
-from datetime import datetime
-from sync_to_ck_task import *
 
 
 def run():
+    advertiser_vx_qq()
+
+
 
     try:
         order(ymd)

+ 45 - 0
app/etl/sync_to_ck_task.py

@@ -102,6 +102,7 @@ def daily_vx(mydt):
     ck.insertMany(table, col, li1)
 
 
+# 广告计划
 def daily_vx_campaign(ymd):
     table = 'daily_vx_campaign'
     sql = 'select * from ' + table + ' where date="{} 00:00:00" '.format(ymd)
@@ -123,4 +124,48 @@ def daily_vx_campaign(ymd):
     ck.insertMany(table, col, tuple(data1))
 
 
+def advertiser_vx_qq():
+    sql = "select account_id,name,stage,pitcher,platform,book,'vx' as tag from advertiser_vx " \
+          " union " \
+          "select account_id,name,stage,pitcher,platform,book,'qq' as tag from advertiser_qq"
+    data = db.quchen_text.getData(sql)
+    data1 = []
+
+    for i in data:
+        li = list(i)
+        for idx, val in enumerate(li):
+            if val == None:
+                li[idx] = ''
+        data1.append(tuple(li))
+
+    ck.execute("truncate table advertiser_vx_qq")
+    ck.execute("insert into advertiser_vx_qq  (account_id,name,stage,pitcher,platform,book,tag) values " + str(data1)[1:-1])
+
+
+def pitcher_change():
+    sql="select channel,pitcher,ifnull(start_time,'') as start_time," \
+        " ifnull(end_time,'') as end_time  from pitcher_change"
+    data=db.quchen_text.getData(sql)
+    ck.execute("insert into pitcher_change values {}".format(str(data)[1:-1]))
+
+
+def book_change():
+    pass
+
+
+def account_change():
+    pass
+
+
+def platform_change():
+    pass
+
+
+def adcreative():
+    pass
+
+
+
 
+if __name__ == '__main__':
+    pitcher_change()

+ 21 - 4
model/DataBaseOperation.py

@@ -37,11 +37,14 @@ class MysqlOperation:
         self.cursor = self.conn.cursor(pymysql.cursors.DictCursor)
     
     def getData(self, sql, args=None):
+        """
+
+        :param sql:
+        :param args:
+        :return: tuple(tuple)
+        """
+
         start = time.time()
-        # if args:
-        #     log.debug(sql % tuple(args))
-        # else:
-        #     log.debug(sql)
         self.cursor.execute(sql, args=args)
         result = self.cursor.fetchall()
         if MYSQL_DEBUG:
@@ -50,6 +53,20 @@ class MysqlOperation:
             log.info('sql cost: %s' % (time.time() - start))
         return result
 
+    def get_data_list(self,sql,arg=None):
+        """
+        :param sql:
+        :param arg:
+        :return: list[list]
+        """
+        data=self.getData(sql,arg)
+        li=[]
+        for i in data:
+            li.append(list(i))
+        return li
+
+
+
     def execute(self, sql):
         start = time.time()
         self.cursor.execute(sql)