123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- 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", '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_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)
|