from handlers.HandlerBase import BaseHandler 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() class BookRank(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() print(arg) start = arg.get("start", self.thisday) end = arg.get("end", self.thisday) book = arg.get("book") stage = arg.get("stage") type = arg.get("type") page = arg.get("page", 1) page_size = arg.get("page_size", 30) order_by = arg.get("order_by", 'cost') order = arg.get("order", 'desc') data, total = book_rank(start, end, book, stage, type, page, page_size, order_by, order) self.write_json(data=data, total=total) class BookTrend(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() print(arg) start = arg.get("start", self.get_n_days(-29)) end = arg.get("end", ) date_range = arg.get("date_range") book = arg.get("book") book_type = arg.get("type") platform = arg.get("platform") page = arg.get("page", 1) page_size = arg.get("page_size", 30) order_by = arg.get("order_by", 'dt') order = arg.get("order", 'desc') if date_range: end = self.get_n_days(0) start = self.get_n_days(-int(date_range) + 1) data, total, total_data = book_trend(start, end, book, book_type, platform, page, page_size, order_by, order) self.write_json(data=data, total=total, total_data=total_data) class BookOverview(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() print(arg) start = arg.get("start") end = arg.get("end", ) book = arg.get("book") type = arg.get("type") page = arg.get("page") date_range = arg.get("date_range") page_size = arg.get("page_size") order_by = arg.get("order_by", 'cost') order = arg.get("order", 'desc') if date_range: end = self.get_n_days(0) start = self.get_n_days(-int(date_range) + 1) data, total = book_overview(start, end, book, type, page, page_size, order_by, order) if arg.get("download"): self.write_download(str(int(time.time())), data) self.write_json(data=data, total=total) class PitcherOverview(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: 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(str(int(time.time())), data) self.write_json(data=data, total=total) else: self.write_fail(msg='user_id not found') class BossPanelSummary(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") start = arg.get("start", self.get_n_days(-30)) 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') pitcher = arg.get("pitcher") type = arg.get("type") stage = arg.get("stage") channel = arg.get("channel") download = arg.get("download") data, total = boss_panel_summary(user_id, start, end, channel, pitcher, type, stage, page, page_size, order_by, order) if download: self.write_download(str(int(time.time())), data) self.write_json(data=data, total=total) class ImageRank(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: arg = self.get_args() start = arg.get("start") end = arg.get("end") page = arg.get("page", 1) page_size = arg.get("page_size", 10) order_by = arg.get("order_by", 'cost') order = arg.get("order", 'desc') type = arg.get("type") book = arg.get('book') data, total = image_rank(start, end, type, book, page, page_size, order_by, order) self.write_json(data=data, total=total) """素材排行榜""" class AdvertisementRank(BaseHandler): def post(self): if not self._au: self.write_fial(msg='auth error') else: du = DateUtils() arg = self.get_args() user_id = arg.get('user_id') start = arg.get("start", du.getNow()) end = arg.get("end") page = arg.get("page", 1) page_size = arg.get("page_size") order_by = arg.get("order_by", 'cost') order = arg.get("order", 'desc') type = arg.get("type") book = arg.get("book") channel = arg.get('channel') pitcher = arg.get('pitcher') has_order = arg.get("has_order") is_video = arg.get('is_video') data, total, total_data = advertisement_rank(user_id, start, end, type, page, page_size, order, order_by, book, channel, pitcher, has_order, is_video) self.write_json(data=data, total=total, total_data=total_data)