ck 4 gadi atpakaļ
vecāks
revīzija
6f1666f5e4

+ 1 - 0
data_manage/pitcher_panel.py

@@ -5,6 +5,7 @@ from model.CommonUtils import *
 from model import UserAuthUtils
 du = DateUtils()
 from config.common_config import *
+from data_manage.operate import get_pitcher
 
 log = logger()
 

+ 10 - 3
data_manage/public_analysis.py

@@ -2,6 +2,8 @@ from model.DateUtils import DateUtils
 from model.DataBaseUtils import *
 from model.log import logger
 from model.CommonUtils import *
+from data_manage.operate import get_pitcher,get_user_name_by_id
+
 du = DateUtils()
 log = logger()
 
@@ -305,7 +307,9 @@ concat(sum(m5-m4),',',sum(m5-m4)/sum(if(dt>=SUBDATE(CURRENT_DATE,INTERVAL 148 da
 
 
 
-def pitcher_overview(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)]))}"
     op1 = f" and pitcher='{pitcher}' " if pitcher else ''
     op2 = f" and dt>='{start}' " if start else ''
     op3 = f" and dt<='{end}' " if end else ''
@@ -340,7 +344,7 @@ def pitcher_overview(start, end, pitcher, page, page_size, order_by, order):
     sum(ba1) td_amount,
     sum(ba2) yd_amount,
     sum(ba3) byd_amount,sum(d7) d7 ,sum(d30) d30  
-    from dw_pitcher_trend where cost>0 and pitcher!='' {op1} {op2} {op3} group by pitcher {op4}
+    from dw_pitcher_trend where cost>0 and pitcher!='' {op} {op1} {op2} {op3} group by pitcher {op4}
     """
 
     sum_sql=f"""select '总计' as pitcher,
@@ -459,4 +463,7 @@ def advertisement_rank(start,end,type,page,page_size,order,order_by,book):
                       round(sum(order_amount)/sum(cost),4) ROI
                       from ({sql}) a 
       """
-    return getLimitSumData(db,sql,sum_sql, page, page_size)
+    return getLimitSumData(db,sql,sum_sql, page, page_size)
+
+if __name__ == '__main__':
+    print(get_pitcher({"user_id":78}))

+ 17 - 19
handlers/PitcherPanelHandler.py

@@ -39,16 +39,14 @@ class PitcherPanelDaily(BaseHandler):
         else:
             args=self.get_args()
             print(args)
-            pitcher = args.get("pitcher")
-            start = args.get("start")
+            user_id = args.get('user_id')
+            pitcher = args.get("pitcher",get_user_name_by_id(user_id))
+            start = args.get("start",self.get_n_days(-7))
             end = args.get("end")
             page = args.get("page")
             page_size = args.get("page_size")
             order_by = args.get("order_by", 'date')
             order = args.get("order", 'desc')
-            if 'date_range' in list(args.keys()):
-                end = self.get_n_days(0)
-                start = self.get_n_days(-int(args['date_range'])+1)
 
             data,total,total_data = get_pitcher_panel_daily(pitcher, start, end, page, page_size, order_by, order)
             self.write_json(data=data,total=total,total_data=total_data)
@@ -177,20 +175,20 @@ class PitcherTrend(BaseHandler):
         else:
             arg = self.get_args()
             print(arg)
-            pitcher=arg.get('pitcher')
-            start=arg.get("start",self.get_n_days(-29))
-            end=arg.get("end")
-            date_range=arg.get("date_range")
-            page = arg.get("page")
-            page_size = arg.get("page_size")
-            order_by = arg.get("order_by", 'dt')
-            order = arg.get("order", 'desc')
-            if date_range:
-                end=du.get_n_days(0)
-                start=du.get_n_days(-int(date_range)+1)
-
-            data,total,total_data=get_pitcher_trend(pitcher,start,end,page,page_size,order_by,order)
-            self.write_json(data=data,total=total,total_data=total_data)
+            user_id = arg.get('user_id')
+            if user_id:
+                pitcher=arg.get('pitcher',get_user_name_by_id(user_id))
+                start=arg.get("start",self.thisday)
+                end=arg.get("end")
+                page = arg.get("page")
+                page_size = arg.get("page_size")
+                order_by = arg.get("order_by", 'dt')
+                order = arg.get("order", 'desc')
+
+                data,total,total_data=get_pitcher_trend(pitcher,start,end,page,page_size,order_by,order)
+                self.write_json(data=data,total=total,total_data=total_data)
+            else:
+                self.write_fail(msg='user_id not found')
 
 
 

+ 17 - 16
handlers/PublicAnalysisHandler.py

@@ -3,6 +3,7 @@ from model.log import logger
 from data_manage.public_analysis import *
 import time
 from model.DateUtils import DateUtils
+from data_manage.operate import get_user_name_by_id
 log = logger()
 
 
@@ -86,22 +87,22 @@ class PitcherOverview(BaseHandler):
         else:
             arg = self.get_args()
             print(arg)
-            start = arg.get("start")
-            end = arg.get("end")
-            page = arg.get("page")
-            page_size = arg.get("page_size")
-            order_by = arg.get("order_by", 'cost')
-            order = arg.get("order", 'desc')
-            pitcher = arg.get("pitcher")
-            date_range = arg.get("date_range")
-            if date_range:
-                end = self.get_n_days(0)
-                start = self.get_n_days(-int(date_range)+1)
-            data, total = pitcher_overview(start, end, pitcher, page, page_size, order_by, order)
-            if arg.get("download"):
-                self.write_download('BookOver_'+str(int(time.time())), data)
-
-            self.write_json(data=data, total=total)
+            user_id = arg.get('user_id')
+            if user_id:
+                start = arg.get("start")
+                end = arg.get("end")
+                page = arg.get("page")
+                page_size = arg.get("page_size")
+                order_by = arg.get("order_by", 'cost')
+                order = arg.get("order", 'desc')
+                pitcher = arg.get("pitcher")
+
+                data, total = pitcher_overview(user_id,start, end, pitcher, page, page_size, order_by, order)
+                if arg.get("download"):
+                    self.write_download('BookOver_'+str(int(time.time())), data)
+                self.write_json(data=data, total=total)
+            else:
+                self.write_fail(msg='user_id not found')
 
 
 class BossPanelSummary(BaseHandler):