ck 4 år sedan
förälder
incheckning
3936fe7a9f
2 ändrade filer med 30 tillägg och 17 borttagningar
  1. 28 10
      data_manage/public_analysis.py
  2. 2 7
      handlers/PublicAnalysisHandler.py

+ 28 - 10
data_manage/public_analysis.py

@@ -3,7 +3,8 @@ from model.DataBaseUtils import *
 from model.log import logger
 from model.log import logger
 from model.CommonUtils import *
 from model.CommonUtils import *
 from data_manage.operate import get_pitcher,get_user_name_by_id
 from data_manage.operate import get_pitcher,get_user_name_by_id
-
+from config.common_config import super_auth
+from model import UserAuthUtils
 du = DateUtils()
 du = DateUtils()
 log = logger()
 log = logger()
 
 
@@ -308,8 +309,14 @@ concat(sum(m5-m4),',',sum(m5-m4)/sum(if(dt>=SUBDATE(CURRENT_DATE,INTERVAL 148 da
 
 
 
 
 def pitcher_overview(user_id,start, end, pitcher, page, page_size, order_by, order):
 def pitcher_overview(user_id,start, end, pitcher, page, page_size, order_by, order):
-
-    op = f" and pitcher in {str(tuple([i['nick_name'] for i in get_pitcher({'user_id': user_id})]+[get_user_name_by_id(user_id)]))}"
+    if user_id in super_auth:
+        op = ''
+    else:
+        user = tuple([i['nick_name'] for i in get_pitcher({'user_id': user_id})] + [get_user_name_by_id(user_id)])
+        if len(user) == 1:
+            op = f" and pitcher ='{user[0]}'"
+        else:
+            op = f" and pitcher in {str(user)}"
     op1 = f" and pitcher='{pitcher}' " if pitcher else ''
     op1 = f" and pitcher='{pitcher}' " if pitcher else ''
     op2 = f" and dt>='{start}' " if start else ''
     op2 = f" and dt>='{start}' " if start else ''
     op3 = f" and dt<='{end}' " if end else ''
     op3 = f" and dt<='{end}' " if end else ''
@@ -379,7 +386,16 @@ def pitcher_overview(user_id,start, end, pitcher, page, page_size, order_by, ord
 
 
 
 
 
 
-def boss_panel_summary(start,end,pitcher, type, stage, page, page_size, order_by, order):
+def boss_panel_summary(user_id,start,end,pitcher, type, stage, page, page_size, order_by, order):
+
+    if user_id in super_auth:
+        op = ''
+    else:
+        if len(UserAuthUtils.get_auth_channel(user_id)) == 0:
+            return None, None
+        else:
+            op = f" and channel in {str(UserAuthUtils.get_auth_channel(user_id))}"
+
     op1 = f" and pitcher='{pitcher}' " if pitcher else ''
     op1 = f" and pitcher='{pitcher}' " if pitcher else ''
     op2 = f" and dt>='{start}' " if start else ''
     op2 = f" and dt>='{start}' " if start else ''
     op3 = f" and dt<='{end}' " if end else ''
     op3 = f" and dt<='{end}' " if end else ''
@@ -390,7 +406,7 @@ def boss_panel_summary(start,end,pitcher, type, stage, page, page_size, order_by
     dm = MysqlUtils().dm
     dm = MysqlUtils().dm
 
 
     sql=f"""select sum(order_amount) order_amount,sum(cost) cost,dt from dw_channel                                                                                                                                                                                                                                                                                                                                             
     sql=f"""select sum(order_amount) order_amount,sum(cost) cost,dt from dw_channel                                                                                                                                                                                                                                                                                                                                             
-    where 1=1 {op1} {op2} {op3} {op4} {op5}
+    where 1=1 {op} {op1} {op2} {op3} {op4} {op5}
     GROUP BY dt HAVING order_amount+cost>0 {op6} """
     GROUP BY dt HAVING order_amount+cost>0 {op6} """
     # print(sql)
     # print(sql)
 
 
@@ -418,12 +434,14 @@ def image_rank(start, end, type,book, page, page_size, order_by, order):
 
 
 """广告排行榜"""
 """广告排行榜"""
 def advertisement_rank(user_id,start,end,type,page,page_size,order,order_by,book,channel,pitcher):
 def advertisement_rank(user_id,start,end,type,page,page_size,order,order_by,book,channel,pitcher):
-
-    user = tuple([i['nick_name'] for i in get_pitcher({'user_id': user_id})] + [get_user_name_by_id(user_id)])
-    if len(user)==1:
-        op1 = f" and pitcher ='{user[0]}'"
+    if user_id in super_auth:
+        op1 = ''
     else:
     else:
-        op1 = f" and pitcher in {str(user)}"
+        user = tuple([i['nick_name'] for i in get_pitcher({'user_id': user_id})] + [get_user_name_by_id(user_id)])
+        if len(user)==1:
+            op1 = f" and pitcher ='{user[0]}'"
+        else:
+            op1 = f" and pitcher in {str(user)}"
 
 
     op2=f" and dt>='{start}' " if start else ''
     op2=f" and dt>='{start}' " if start else ''
     op3=f" and dt<='{end}' " if end else ''
     op3=f" and dt<='{end}' " if end else ''

+ 2 - 7
handlers/PublicAnalysisHandler.py

@@ -120,16 +120,11 @@ class BossPanelSummary(BaseHandler):
             order_by = arg.get("order_by",'dt')
             order_by = arg.get("order_by",'dt')
             order = arg.get("order",'desc')
             order = arg.get("order",'desc')
             pitcher = arg.get("pitcher")
             pitcher = arg.get("pitcher")
-            date_range = arg.get("date_range")
             type = arg.get("type")
             type = arg.get("type")
             stage = arg.get("stage")
             stage = arg.get("stage")
+            user_id = arg.get("user_id")
             download = arg.get("download")
             download = arg.get("download")
-            if date_range:
-                end = self.get_n_days(0)
-                start = self.get_n_days(-int(date_range) + 1)
-
-
-            data, total = boss_panel_summary(start, end, pitcher, type,
+            data, total = boss_panel_summary(user_id,start, end, pitcher, type,
                                              stage, page, page_size, order_by, order)
                                              stage, page, page_size, order_by, order)
             if download:
             if download:
                 self.write_download(str(int(time.time())), data)
                 self.write_download(str(int(time.time())), data)