Jelajahi Sumber

FIX:订单修改

cxyu 3 tahun lalu
induk
melakukan
9fd751e761
3 mengubah file dengan 47 tambahan dan 41 penghapusan
  1. 1 1
      data_manage/pitcher_panel.py
  2. 3 2
      data_manage/public_analysis.py
  3. 43 38
      handlers/OrderHandler.py

+ 1 - 1
data_manage/pitcher_panel.py

@@ -15,7 +15,7 @@ log = logger()
 # def get_channel_belong_pitcher(channel):
 #
 #     sql = f"select pitcher,channel from dw_daily_channel_cost where dt='{du.get_n_days(-1)}' and pitcher!='' and channel!=''"
-#     data=ck.execute(sql)
+#     data=ck.execute(('sql'))
 #     di={}
 #     for i in data:
 #         di[i[1]]=i[0]

+ 3 - 2
data_manage/public_analysis.py

@@ -517,8 +517,9 @@ def boss_panel_summary(user_id, start, end, channel, pitcher, type, stage, page,
     op7 = f" order by {order_by} {order}" if order_by and order else 'order by dt desc'
 
     dm = MysqlUtils().dm
-
-    sql = f"""select sum(order_amount) order_amount,sum(cost) cost,round(sum(reg_order_amount)/sum(cost),4) roi,dt from dw_channel                                                                                                                                                                                                                                                                                                                                             
+    sql = f"""select sum(order_amount) order_amount,sum(cost) cost,
+    round(sum(reg_order_amount)/sum(cost),4) roi,
+    dt from dw_channel                                                                                                                                                                                                                                                                                                                                             
     where 1=1 {op} {op1} {op2} {op3} {op4} {op5} {op6}
     GROUP BY dt HAVING order_amount+cost>0 {op7} """
     # print(sql)

+ 43 - 38
handlers/OrderHandler.py

@@ -75,52 +75,57 @@ class OrderInfoNobody(BaseHandler):
             page_size = args.get("page_size")
 
             db = MysqlUtils()
+            op = ''
+            is_over = False
             if user_id in super_auth():
                 op = ''
+
             else:
                 if len(UserAuthUtils.get_auth_game_name(user_id)) == 0:
                     self.write_json(None)
+                    is_over = True
                 else:
                     game_name_list = UserAuthUtils.get_auth_game_name(user_id)
                     game_name_list = [_[0] for _ in game_name_list if _[0]]
                     game_str = "'" + "','".join(game_name_list) + "'"
                     op = f" and name in ({game_str}) "
-
-            op1 = f''' and dt >= '{start}' and dt <= '{end}'  '''
-            op2 = f''' and name = '{game}' '''
-
-            sql = f'''
-                   select DATE_FORMAT(dt,"%Y-%m-%d") dt,name game,
-                        sum(if(agent='自然流量',sum_amount,0)) as 'nobody_order',
-                        sum(if(agent='买量流量',sum_amount,0)) as 'body_order',
-                        sum(if(agent='当日总量',sum_amount,0)) as 'all_order'
-                        from 
-                        (select sum(amount) sum_amount,date(FROM_UNIXTIME(a.create_time)) dt,
-                        b.name ,if(a.agent_id=0,'自然流量','买量流量') as agent 
-                        from db_mp.h_pay a 
-                        left join db_mp.h_game b on a.app_id = b.id
-                        where a.status = 2 {op}
-                        group by  date(FROM_UNIXTIME(a.create_time)) ,b.name,
-                        if(a.agent_id=0,'自然流量','买量流量')
-                        union 
-                        select sum(amount) sum_amount,date(FROM_UNIXTIME(a.create_time)) dt, 
-                        b.name ,'当日总量' as agent
-                        from db_mp.h_pay a 
-                        left join db_mp.h_game b on a.app_id = b.id
-                        where a.status = 2 {op}
-                        group by b.name ,date(FROM_UNIXTIME(a.create_time))) a
-                        where 1=1 {op1} {op2}
-                        group by dt,name
-                        order by dt desc
-                    '''
-            print(sql)
-            sumsql='''select 1;
-            '''
-            data, total, total_data = getLimitSumData(db.dm, sql, sumsql, page, page_size)
-
-            if args.get("download"):
-                self.write_download(str(int(time.time())), data)
-            self.write_json(data=data)
+            if not is_over:
+
+                op1 = f''' and dt >= '{start}' and dt <= '{end}'  '''
+                op2 = f''' and name = '{game}' '''
+
+                sql = f'''
+                       select DATE_FORMAT(dt,"%Y-%m-%d") dt,name game,
+                            sum(if(agent='自然流量',sum_amount,0)) as 'nobody_order',
+                            sum(if(agent='买量流量',sum_amount,0)) as 'body_order',
+                            sum(if(agent='当日总量',sum_amount,0)) as 'all_order'
+                            from 
+                            (select sum(amount) sum_amount,date(FROM_UNIXTIME(a.create_time)) dt,
+                            b.name ,if(a.agent_id=0,'自然流量','买量流量') as agent 
+                            from db_mp.h_pay a 
+                            left join db_mp.h_game b on a.app_id = b.id
+                            where a.status = 2 {op}
+                            group by  date(FROM_UNIXTIME(a.create_time)) ,b.name,
+                            if(a.agent_id=0,'自然流量','买量流量')
+                            union 
+                            select sum(amount) sum_amount,date(FROM_UNIXTIME(a.create_time)) dt, 
+                            b.name ,'当日总量' as agent
+                            from db_mp.h_pay a 
+                            left join db_mp.h_game b on a.app_id = b.id
+                            where a.status = 2 {op}
+                            group by b.name ,date(FROM_UNIXTIME(a.create_time))) a
+                            where 1=1 {op1} {op2}
+                            group by dt,name
+                            order by dt desc
+                        '''
+                print(sql)
+                sumsql='''select 1;
+                '''
+                data, total, total_data = getLimitSumData(db.dm, sql, sumsql, page, page_size)
+
+                if args.get("download"):
+                    self.write_download(str(int(time.time())), data)
+                self.write_json(data=data)
 
 
 class OrderInfo(BaseHandler):
@@ -259,7 +264,7 @@ class OrderInfo(BaseHandler):
                         if(a.create_time is not null ,CONVERT(from_unixtime(a.create_time),char(20)),null) order_time,
                         if(d.create_time is not null,CONVERT(from_unixtime(d.create_time),char(20)),null) user_create_time,
                         d.id as user_id,e.name as game ,a.amount ,a.real_amount ,g.server_name ,
-                        CONVERT (g.role_name USING utf8) as role_name,a.payway ,a.status status ,a.mem_id
+                        CONVERT (g.role_name USING utf8) as role_name,a.payway ,a.status status ,a.mg_mem_id
                         from db_mp.h_pay a
                         left join
                         (select b.agent_id as agent_id,b.advertiser_conf_id  from 
@@ -288,7 +293,7 @@ class OrderInfo(BaseHandler):
         print(sql)
         sumsql = f""" select '' as id,'' as order_id ,'' as pitcher,'' as agent_name, '' as channel, 
 		            '' as order_time,'' as user_create_time,'' as user_id,
-			        '' as game,sum(amount) as amount ,'' as real_amount ,'' as server_name,
+			        '' as game,sum(amount) as amount ,sum(real_amount) as real_amount ,'' as server_name,
                     '' as mem_id , '' as role_name,'' as payway ,'' as status 
                     from ({sql}) a
                 """