from handlers.HandlerBase import BaseHandler from data_manage.public_analysis import * import time import json from model.DateUtils import DateUtils 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", '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, 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_fail(msg='auth error') else: du = DateUtils() arg = self.get_args() show_type = arg.get('show_type', 'public') # 展示 public private,默认public----public 会展示大于5000以上的数据,超过5天的数据 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, show_type) self.write_json(data=data, total=total, total_data=total_data) """素材创意""" class AdvertisementIdea(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: du = DateUtils() arg = self.get_args() data_type = arg.get('dataType', 'all') if arg.get('dataType', 'all') is not None else 'all' # 数据是否是个人,个人是private,共有是all channel = arg.get('channel') # 渠道-----朋友圈信息流,抖音,广点通等等,,,,,,选项朋友圈信息流,公众平台流量,先#TODO:先暂时放置 page = arg.get('pageNum', 1) if arg.get('pageNUm', 1) is not None else 1 page_size = arg.get('pageSize', 20) if arg.get('pageSize', 20) is not None else 20 order = 'desc' if arg.get('upOrder') else 'asc' # order_by = arg.get('sortRule') # clicktimes,view_times,consume_amount,click_rate---------数据进行一一对应 start = arg.get('beginDate', du.getNow()) if arg.get('beginDate', du.getNow()) is not None else du.getNow() end = arg.get('endDate') book = arg.get('novels') is_video = arg.get('type') is_singleimg = arg.get('singleImg', True) if arg.get('singleImg', True) is not None else True # 是否是组图-----默认是没有 user_id = arg.get('userId') campaign_ids = arg.get('campaignIds') data = idea_rank(user_id, start, end, page, page_size, order, order_by, book, channel, is_singleimg, is_video, data_type, campaign_ids) self.write_json_tmp_java(data=data) class AdvertisementMedia(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: du = DateUtils() arg = self.get_args() data_type = arg.get('dataType', 'all') if arg.get('dataType', 'all') is not None else 'all' # 数据是否是个人,个人是private,共有是all channel = arg.get('channel') # 渠道-----朋友圈信息流,抖音,广点通等等,,,,,,选项朋友圈信息流,公众平台流量,先#TODO:先暂时放置 page = arg.get('pageNum', 1) if arg.get('pageNUm', 1) is not None else 1 page_size = arg.get('pageSize', 20) if arg.get('pageSize', 20) is not None else 20 order = 'desc' if arg.get('upOrder') else 'asc' # order_by = arg.get('sortRule') # clicktimes,view_times,consume_amount,click_rate---------数据进行一一对应 start = arg.get('beginDate', du.getNow()) if arg.get('beginDate', du.getNow()) is not None else du.getNow() end = arg.get('endDate') book = arg.get('novels') is_video = arg.get('type') is_singleimg = arg.get('singleImg', True) if arg.get('singleImg', True) is not None else True # 是否是组图-----默认是没有 user_id = arg.get('userId') campaign_ids = arg.get('campaignIds') data = media_rank(user_id, start, end, page, page_size, order, order_by, book, channel, is_singleimg, is_video, data_type, campaign_ids) self.write_json_tmp_java(data=data) class AdvertisementContent(BaseHandler): def post(self): if not self._au: self.write_fail(msg='auth error') else: du = DateUtils() arg = self.get_args() data_type = arg.get('dataType', 'all') if arg.get('dataType', 'all') is not None else 'all' # 数据是否是个人,个人是private,共有是all channel = arg.get('channel') # 渠道-----朋友圈信息流,抖音,广点通等等,,,,,,选项朋友圈信息流,公众平台流量,先#TODO:先暂时放置 page = arg.get('pageNum', 1) if arg.get('pageNUm', 1) is not None else 1 page_size = arg.get('pageSize', 20) if arg.get('pageSize', 20) is not None else 20 order = 'desc' if arg.get('upOrder') else 'asc' # order_by = arg.get('sortRule') # clicktimes,view_times,consume_amount,click_rate---------数据进行一一对应 start = arg.get('beginDate', du.getNow()) if arg.get('beginDate', du.getNow()) is not None else du.getNow() end = arg.get('endDate') book = arg.get('novels') user_id = arg.get('userId') content = arg.get('content') type = arg.get('type') campaign_ids = arg.get('campaignIds') data = content_rank(user_id, start, end, page, page_size, order, order_by, book, channel, data_type, content, type, campaign_ids) self.write_json_tmp_java(data=data)