ck 4 anos atrás
pai
commit
098230413f
3 arquivos alterados com 112 adições e 6 exclusões
  1. 49 3
      data_manage/pitcher_panel.py
  2. 58 1
      handlers/PitcherPanelHandler.py
  3. 5 2
      urls.py

+ 49 - 3
data_manage/pitcher_panel.py

@@ -37,9 +37,6 @@ def get_pitcher_panel_channel(pitcher,channel,start,end,page,page_size,order_by,
     return get_dict_list(key, data)
 
 
-
-
-
 def get_pitcher_panel_daily(pitcher, start, end, page, page_size, order_by, order):
     sql=f"""
         select formatDateTime(dt,'%Y-%m-%d') date ,pitcher,
@@ -63,6 +60,7 @@ def get_pitcher_panel_daily(pitcher, start, end, page, page_size, order_by, orde
     key=['date','pitcher','cost','first_order_amount','first_roi','order_amount','today_roi','total_cost','total_amount','total_profit','total_roi']
     return get_dict_list(key,data)
 
+
 def get_pitcher_panel_overview(pitcher):
 
     sql=f"""select  pitcher,cost,amount,roi, 
@@ -88,3 +86,51 @@ def get_pitcher_panel_overview(pitcher):
     key=['pitcher','cost','amount','roi','channel_count','on_channel_count','off_channel_count','this_month_cost','this_month_amount','this_month_roi',
          'last_month_cost','last_month_amount','last_month_roi','last_month_far_amount','follow_user']
     return get_dict_list(key,data)
+
+
+def get_channel_overview():
+    a ={'date':'2020-12-30',
+         'channel':'宝珠书屋',
+        'view_count':2,
+        'click_count':2,
+        'click_rate':0.23,
+        'follow_user':2,
+        'follow_rate':0.23,
+        'follow_per_cost':2.12,
+        'order_rate':0.12,
+        'order_per_cost':3.21,
+        'cost':343.12,
+        'first_order_count':23,
+        'first_order_user':23,
+        'first_order_amount':122.23,
+        'order_count':21,
+        'order_user':12,
+        'order_amount':234.12,
+        'old_order_amount':234.12,
+        'first_amount_per_user':232,
+        'amount_per_follow':123.12,
+        'first_cost_per_user':234.12,
+        'new_user_order_rate':0.22,
+        'reg_user_amount':212.1,
+        'total_cost':2342.11,
+        'total_amount':123.11,
+        'day_roi':0.87,
+        'all_roi':23.12,
+        'avg_new_order_rate':2
+
+
+
+
+         }
+
+
+def get_channel_again_order_trend():
+    pass
+
+
+def get_channel_active():
+    pass
+
+
+def get_channel_order_trend():
+    pass

+ 58 - 1
handlers/PitcherPanelHandler.py

@@ -47,4 +47,61 @@ class PitcherPanelOverview(BaseHandler):
         args=self.get_args()
         pitcher = args.get("pitcher", '')
         data = get_pitcher_panel_overview(pitcher)
-        self.write_json(data)
+        self.write_json(data)
+
+
+class ChannelOverview(BaseHandler):
+    def post(self):
+        arg=self.get_args()
+        print(arg)
+        channel=arg.get("channel",'')
+        start=arg.get("start",'')
+        end=arg.get("start",'')
+        date_range=arg.get("date_range",'')
+        if isinstance(date_range,int):
+            end = du.get_n_days(-1)
+            start = du.get_n_days(-date_range)
+        data =get_channel_overview(channel,start,end)
+        self.write_json(data)
+
+
+class ChannelAgainOrderTrend(BaseHandler):
+    def post(self):
+        arg = self.get_args()
+        print(arg)
+        channel = arg.get("channel", '')
+        date =arg.get("date",'')
+        data=get_channel_again_order_trend(channel,date)
+        self.write_json(data)
+
+
+
+class ChannelActive(BaseHandler):
+    def post(self):
+        arg = self.get_args()
+        print(arg)
+        channel = arg.get("channel", '')
+        start = arg.get("start", '')
+        end = arg.get("start", '')
+        date_range = arg.get("date_range", '')
+        if isinstance(date_range, int):
+            end = du.get_n_days(-1)
+            start = du.get_n_days(-date_range)
+        data=get_channel_active(channel,start,end)
+        self.write_json(data)
+
+
+
+class ChannelOrderTrend(BaseHandler):
+    def post(self):
+        arg = self.get_args()
+        print(arg)
+        channel = arg.get("channel", '')
+        start = arg.get("start", '')
+        end = arg.get("start", '')
+        date_range = arg.get("date_range", '')
+        if isinstance(date_range, int):
+            end = du.get_n_days(-1)
+            start = du.get_n_days(-date_range)
+        data=get_channel_order_trend(channel,start,end)
+        self.write_json(data)

+ 5 - 2
urls.py

@@ -6,6 +6,9 @@ urls = [
     (r'/data/pitcher_panel/channel', PitcherPanelChannel),
     (r'/data/pitcher_panel/daily', PitcherPanelDaily),
     (r'/data/pitcher_panel/overview', PitcherPanelOverview),
-    (r'/api/get_yangguang_data',YgApiHandler)
-
+    (r'/api/get_yangguang_data',YgApiHandler),
+    (r'/data/channel_stat/overview',ChannelOverview),
+    (r'/data/channel_stat/again_order_trend',ChannelAgainOrderTrend),
+    (r'/data/channel_stat/active',ChannelActive),
+    (r'/data/channel_stat/order_trend',ChannelOrderTrend),
 ]