from handlers.HandlerBase import BaseHandler from data_manage.pitcher_panel import * import time from data_manage.operate import get_user_name_by_id log = logger() class PitcherPanelChannel(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: args = self.get_args() print(args) pitcher = args.get("pitcher") channel = args.get("channel") start = args.get("start", self.get_n_days(0)) end = args.get("end", self.get_n_days(0)) page = args.get("page") page_size = args.get("page_size") order_by = args.get("order_by", 'cost') order = args.get("order", 'desc') data_range = args.get('date_range') if data_range: end = self.get_n_days(0) start = self.get_n_days(-int(args['date_range']) + 1) data, total = get_pitcher_panel_channel(pitcher, channel, start, end, page, page_size, order_by, order) self.write_json(data=data, total=total) class PitcherPanelDaily(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: args = self.get_args() print(args) 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') 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) class PitcherPanelOverview(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: args = self.get_args() user_id = args.get("user_id") pitcher = args.get("pitcher", get_user_name_by_id(user_id)) data = get_pitcher_panel_overview(pitcher) self.write_json(data) class ChannelOverview(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: args = self.get_args() user_id = args.get('user_id') channel = args.get("channel") pitcher = args.get("pitcher") start = args.get("start", self.thisday) end = args.get("end") stage = args.get("stage") page = args.get("page") book = args.get('book') type = args.get('type') agent_id= args.get('agent_id') page_size = args.get("page_size") order_by = args.get("order_by", 'date') order = args.get("order", 'desc') data, total, total_data = get_channel_overview(user_id, channel, pitcher, type, stage, book, agent_id, start, end, page, page_size, order_by, order) if args.get("download"): self.write_download(str(int(time.time())), data) else: self.write_json(data=data, total=total, total_data=total_data) class AgentList(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: args = self.get_args() data = get_agent_list(args.get("pitcher")) self.write_json(data=data) class ChannelAgainOrderTrend(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: args = self.get_args() print(args) channel = args.get("channel") date = args.get("date", self.get_n_days(-8)) if channel: data = get_channel_again_order_trend(channel, date) self.write_json(data) else: self.write_json([]) class ChannelActive(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: args = self.get_args() print(args) user_id = args.get('user_id') pitcher = args.get("pitcher") channel = args.get("channel") start = args.get("start", self.thisday) end = args.get("end") page = args.get("page", 1) page_size = args.get("page_size", 10) order_by = args.get("order_by", 'date') order = args.get("order", 'desc') data, total = get_channel_active(user_id, channel, pitcher, start, end, page, page_size, order_by, order) self.write_json(data=data, total=total) class ChannelOrderTrend(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() user_id = arg.get('user_id') pitcher = arg.get("pitcher") agent_id = arg.get("agent_id") channel = arg.get("channel") game = arg.get("book") start = arg.get("start", self.get_n_days(-30)) if channel else 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", 'date') order = arg.get("order", 'desc') data, total, total_data = get_channel_order_trend(user_id, channel, game, pitcher, agent_id, start, end, page, page_size, order_by, order) if arg.get("download"): self.write_download("channelTrend_" + str(int(time.time())), data) else: self.write_json(data=data, total=total, total_data=total_data) class ChannelOrderTrendNoBody(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() user_id = arg.get('user_id') pitcher = arg.get("pitcher") game = arg.get("game") start = arg.get("start", self.get_n_days(-30)) if game else 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", 'date') order = arg.get("order", 'desc') print(start,end) data, total, total_data = get_channel_order_trend_nobody(user_id, game, pitcher, start, end, page, page_size, order_by, order) if arg.get("download"): self.write_download("channelTrend_" + str(int(time.time())), data) else: self.write_json(data=data, total=total, total_data=total_data) class ChannelSummary(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() print(arg) user_id = arg.get('user_id') channel = arg.get('channel') pitcher = arg.get('pitcher') page = arg.get("page") page_size = arg.get("page_size") location = arg.get('location') order_by = arg.get("order_by", 'total_cost') order = arg.get("order", 'desc') state = arg.get("state") start = arg.get("start") end = arg.get("end") data, total, total_data = get_channel_summary(user_id, channel, pitcher, page, page_size, order_by, order, state, location, start, end) if arg.get("download"): self.write_download("channel_" + str(int(time.time())), data) else: self.write_json(data=data, total=total, total_data=total_data) class ChannelPitcherSummary(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() print(arg) user_id = arg.get('user_id') channel = arg.get('channel') pitcher = arg.get('pitcher') page = arg.get("page") page_size = arg.get("page_size") location = arg.get('location') order_by = arg.get("order_by", 'total_cost') order = arg.get("order", 'desc') state = arg.get("state") start = arg.get("start") end = arg.get("end") data, total, total_data = get_pitcher_channel_summary(user_id, channel, pitcher, page, page_size, order_by, order, state, location, start, end) if arg.get("download"): self.write_download("channel_" + str(int(time.time())), data) else: self.write_json(data=data, total=total, total_data=total_data) class PitcherTrend(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() print(arg) 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')