|
@@ -68,35 +68,62 @@ class OrderInfoNobody(BaseHandler):
|
|
|
else:
|
|
|
args = self.get_args()
|
|
|
user_id = args.get('user_id')
|
|
|
+ start = args.get("start", self.thisday)
|
|
|
+ end = args.get("end", self.thisday)
|
|
|
+ game = args.get('game')
|
|
|
+ page = args.get("page")
|
|
|
+ page_size = args.get("page_size")
|
|
|
|
|
|
db = MysqlUtils()
|
|
|
if user_id in super_auth():
|
|
|
op = ''
|
|
|
else:
|
|
|
- if len(UserAuthUtils.get_auth_channel(user_id)) == 0:
|
|
|
- return None, None, None
|
|
|
- elif len(UserAuthUtils.get_auth_channel(user_id)) == 1:
|
|
|
- op = f" and b.wx_name = '{UserAuthUtils.get_auth_channel(user_id)[0]}'"
|
|
|
-
|
|
|
+ if len(UserAuthUtils.get_auth_game_name(user_id)) == 0:
|
|
|
+ self.write_json(None)
|
|
|
else:
|
|
|
- op = f" and b.wx_name in {str(UserAuthUtils.get_auth_channel(user_id))}"
|
|
|
+ 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}' '''
|
|
|
+ game_str = "'" + "','".join(game) + "'"
|
|
|
+ op2 = f''' and name in ({game_str}) '''
|
|
|
|
|
|
sql = f'''
|
|
|
- select row_number() over() as id,
|
|
|
- d.user_nicename as agent_name
|
|
|
- from quchen_text.advertiser_vx a
|
|
|
- left join db_mp.mp_mp_conf b on a.name =b.wx_name
|
|
|
- left join db_mp.mp_conf_agent c on b.id = c.advertiser_conf_id
|
|
|
- left join db_mp.h_user d on c.agent_id = d.id
|
|
|
- where d.user_nicename is not null
|
|
|
- {op}
|
|
|
- group by d.user_nicename
|
|
|
+ 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 = db.quchen_text.getData_json(sql)
|
|
|
- data.insert(0, {'id': -1, 'agent_name': '自然流量渠道'})
|
|
|
- data.insert(0, {'id': -2, 'agent_name': '客服渠道'})
|
|
|
+ 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):
|
|
|
|
|
|
def post(self):
|
|
@@ -174,7 +201,7 @@ class OrderInfo(BaseHandler):
|
|
|
game_ids = get_auth_game_info(user_id)
|
|
|
print(game_ids)
|
|
|
op_game = ''
|
|
|
- for game_id,game_name, game_timestamp in game_ids:
|
|
|
+ for game_id, game_name, game_timestamp in game_ids:
|
|
|
op_game = op_game + f'''or (e.id = {game_id} and a.create_time >UNIX_TIMESTAMP('{game_timestamp}') ) '''
|
|
|
op_game = ' and ' + '(' + op_game[2:] + ')' + op_base
|
|
|
# 限制为自己公众号开始时候的数据
|