Bläddra i källkod

Merge branch 'dev'

ck 4 år sedan
förälder
incheckning
f1a76b619d

+ 2 - 1
ServerWrapper.py

@@ -25,7 +25,8 @@ class HttpServerWrapper(tornado.web.Application):
         self.port = port
         handlers = urls
         r = requests.get("http://jsonip.com").json()['ip']
-        auth =True if r == '47.111.161.141' else False
+
+        auth = True if r == '47.111.161.141' and sys.argv[1] == '8008' else False
         settings = {
             "port" : sys.argv[1],
             "auth": auth,

+ 74 - 0
data_manage/operate.py

@@ -0,0 +1,74 @@
+from model.DateUtils import DateUtils
+from model.DataBaseUtils import *
+from model.log import logger
+from model.CommonUtils import *
+du = DateUtils()
+
+
+def user_channel(arg):
+    db = MysqlUtils()
+    # 返回所有公众号
+    sql = "select id,nick_name from t_mp_account where del_flag=0"
+    return db.zx.getData_json(sql)
+
+
+def user_channel_group(arg):
+    db = MysqlUtils()
+    user_id = arg.get('user_id')
+    if user_id:
+        # 该用户拥有的公众号组
+        sql = f"""SELECT id,name from channel_group where id in  
+               (select channel_group_id from user_channel_group_auth where user_id={user_id})"""
+        return db.quchen_text.getData_json(sql)
+
+
+    else:
+        # 返回所有公众号组
+        sql = "select id,name from channel_group"
+        return db.quchen_text.getData_json(sql)
+
+
+def user(arg):
+    db = MysqlUtils()
+    # 返回所有用户
+    sql = "SELECT user_id,nick_name from t_sys_user where del_flag=0 and status=0"
+    return db.zx.getData_json(sql)
+
+
+
+def group_add(arg):
+    db = MysqlUtils()
+    name = arg.get("name")
+    ids = arg.get("channel_ids")
+    if name and ids:
+
+        sql = "insert into channel_group (name,channel_ids)  values (%s,%s)"
+        db.quchen_text.execute(sql,(name,ids))
+
+
+def group_del(arg):
+    db = MysqlUtils()
+    id = arg.get("id")
+
+    if id:
+        sql = f"delete from  channel_group where id={id}"
+        db.quchen_text.execute(sql)
+
+
+
+def group_auth_add(arg):
+    db = MysqlUtils()
+    user_id = arg.get("user_id")
+    group_id = arg.get("group_id")
+    if user_id and group_id:
+        sql = "insert into user_channel_group_auth (user_id,channel_group_id)  values (%s,%s)"
+        db.quchen_text.execute(sql, (user_id, group_id))
+
+def group_auth_del(arg):
+    db = MysqlUtils()
+    user_id = arg.get("user_id")
+    group_id = arg.get("group_id")
+    if user_id and group_id:
+        sql = f"delete from  user_channel_group_auth where user_id={user_id} and channel_group_id={group_id}"
+        # print(sql)
+        db.quchen_text.execute(sql)

+ 3 - 2
data_manage/public_analysis.py

@@ -413,7 +413,7 @@ def image_rank(start, end, type,book, page, page_size, order_by, order):
 
 
 """广告排行榜"""
-def advertisement_rank(start,end,ad_id,channel,pitcher,stage,site,type,page,page_size,order,order_by):
+def advertisement_rank(start,end,ad_id,channel,pitcher,stage,site,type,page,page_size,order,order_by,book):
     op1=f" and ad_id='{ad_id}' " if ad_id else ''
     op2=f" and dt>='{start}' " if start else ''
     op3=f" and dt<='{end}' " if end else ''
@@ -423,6 +423,7 @@ def advertisement_rank(start,end,ad_id,channel,pitcher,stage,site,type,page,page
     op7=f" and site='{site}'" if site else ''
     op8=f" and type='{type}'" if type else ''
     op9=f" order by {order_by} {order}" if order_by and order else ''
+    op10=f" and book='{book}'" if book else ''
     db =MysqlUtils().dm
 
     sql=f"""select 
@@ -444,7 +445,7 @@ def advertisement_rank(start,end,ad_id,channel,pitcher,stage,site,type,page,page
     image_id,
     preview_url
     from dw_ad_day
-    where 1=1 {op1} {op2} {op3} {op4} {op5} {op6} {op7} {op8} {op9}  
+    where 1=1 {op1} {op2} {op3} {op4} {op5} {op6} {op7} {op8} {op10} {op9}  
     """
     sum_sql = f"""select '总计' as pitcher,
                       sum(cost) cost,

+ 47 - 0
handlers/OperateHandler.py

@@ -0,0 +1,47 @@
+from handlers.HandlerBase import BaseHandler
+from model.DataBaseUtils import MysqlUtils
+import json
+import requests
+from data_manage.operate import *
+from model.DataBaseUtils import MysqlUtils
+db = MysqlUtils()
+
+
+class ChannelGroupHandler(BaseHandler):
+    APP_MAP = {
+        "user_channel": user_channel,
+        "user_channel_group": user_channel_group,
+        "user": user,
+        "group_add": group_add,
+        "group_del": group_del,
+        "group_auth_add": group_auth_add,
+        "group_auth_del": group_auth_del
+    }
+
+
+    def post(self):
+
+        arg = self.get_args()
+        print(arg)
+        try:
+            data = self.run(arg)
+
+            self.write_json(data=data)
+        except Exception as e:
+            print(e)
+            self.write_fail()
+
+    def run(self, arg):
+
+        app = self.request.full_url().split('/')[-1]
+        return self.run_function(self.APP_MAP[app], arg)
+
+    def run_function(self, func, arg):
+        return func(arg)
+
+
+
+
+
+
+

+ 2 - 1
handlers/PublicAnalysisHandler.py

@@ -172,5 +172,6 @@ class AdvertisementRank(BaseHandler):
             stage = arg.get("stage")
             site =arg.get("site")
             type =arg.get("type")
-            data, total,total_data = advertisement_rank(start, end, ad_id, channel, pitcher, stage,site,type,page,page_size,order,order_by)
+            book =arg.get("book")
+            data, total,total_data = advertisement_rank(start, end, ad_id, channel, pitcher, stage,site,type,page,page_size,order,order_by,book)
             self.write_json(data=data, total=total,total_data=total_data)

+ 2 - 2
model/DataBaseOperation.py

@@ -67,9 +67,9 @@ class MysqlOperation:
 
 
 
-    def execute(self, sql):
+    def execute(self, sql,args=None):
         start = time.time()
-        self.cursor.execute(sql)
+        self.cursor.execute(query=sql,args=args)
         self.conn.commit()
         if MYSQL_DEBUG:
 

+ 9 - 2
urls.py

@@ -3,6 +3,7 @@ from handlers.ApiHandler import YgApiHandler
 from handlers.GitHookHandler import *
 from handlers.PublicAnalysisHandler import *
 from handlers.TaskHandler import *
+from handlers import OperateHandler
 
 
 urls = [
@@ -42,6 +43,12 @@ urls = [
     (r'/api/git_hook/data_center', DataCenerHook),
     (r'/api/git_hook/qc_web', QcWebHook),
 
-    #广告排行榜
-    (r'/data/advertisement/ad_rank',AdvertisementRank), #广告点击数
+    # 广告排行榜
+    (r'/data/advertisement/ad_rank',AdvertisementRank),  # 广告点击数
+
+    # CRUD
+    (r'/operate/channel_group.*', OperateHandler.ChannelGroupHandler),  # 公众号分组设置
+
+
+
 ]