PublicAnalysisHandler.py 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. from handlers.HandlerBase import BaseHandler
  2. from model.log import logger
  3. from data_manage.public_analysis import *
  4. import time
  5. from model.DateUtils import DateUtils
  6. log = logger()
  7. class BookRank(BaseHandler):
  8. def post(self):
  9. if not self._au:
  10. self.write_fail(msg='auth error')
  11. else:
  12. arg = self.get_args()
  13. print(arg)
  14. start=arg.get("start",self.get_n_days(0))
  15. end=arg.get("end",self.get_n_days(0))
  16. date_range=arg.get("date_range")
  17. book=arg.get("book")
  18. stage=arg.get("stage")
  19. type=arg.get("type")
  20. page = arg.get("page",1)
  21. page_size = arg.get("page_size",30)
  22. order_by = arg.get("order_by", 'cost')
  23. order = arg.get("order", 'desc')
  24. if date_range:
  25. end=self.get_n_days(0)
  26. start=self.get_n_days(-int(date_range)+1)
  27. data,total=book_rank(start,end,book,stage,type,page,page_size,order_by,order)
  28. self.write_json(data=data,total=total)
  29. class BookTrend(BaseHandler):
  30. def post(self):
  31. if not self._au:
  32. self.write_fail(msg='auth error')
  33. else:
  34. arg = self.get_args()
  35. print(arg)
  36. start=arg.get("start",self.get_n_days(-29))
  37. end=arg.get("end",)
  38. date_range=arg.get("date_range")
  39. book=arg.get("book")
  40. type=arg.get("type")
  41. platform=arg.get("platform")
  42. page = arg.get("page",1)
  43. page_size = arg.get("page_size",30)
  44. order_by = arg.get("order_by", 'dt')
  45. order = arg.get("order", 'desc')
  46. if date_range:
  47. end=self.get_n_days(0)
  48. start=self.get_n_days(-int(date_range)+1)
  49. data,total,total_data=book_trend(start,end,book,type,platform,page,page_size,order_by,order)
  50. self.write_json(data=data,total=total,total_data=total_data)
  51. class BookOverview(BaseHandler):
  52. def post(self):
  53. if not self._au:
  54. self.write_fail(msg='auth error')
  55. else:
  56. arg = self.get_args()
  57. print(arg)
  58. start = arg.get("start")
  59. end = arg.get("end",)
  60. book = arg.get("book")
  61. type = arg.get("type")
  62. page = arg.get("page")
  63. date_range = arg.get("date_range")
  64. page_size = arg.get("page_size")
  65. order_by = arg.get("order_by", 'cost')
  66. order = arg.get("order", 'desc')
  67. if date_range:
  68. end = self.get_n_days(0)
  69. start = self.get_n_days(-int(date_range)+1)
  70. data, total = book_overview(start, end, book, type, page, page_size, order_by, order)
  71. if arg.get("download"):
  72. self.write_download('BookOver_'+str(int(time.time())), data)
  73. self.write_json(data=data, total=total)
  74. class PitcherOverview(BaseHandler):
  75. def post(self):
  76. if not self._au:
  77. self.write_fail(msg='auth error')
  78. else:
  79. arg = self.get_args()
  80. print(arg)
  81. start = arg.get("start")
  82. end = arg.get("end")
  83. page = arg.get("page")
  84. page_size = arg.get("page_size")
  85. order_by = arg.get("order_by", 'cost')
  86. order = arg.get("order", 'desc')
  87. pitcher = arg.get("pitcher")
  88. date_range = arg.get("date_range")
  89. if date_range:
  90. end = self.get_n_days(0)
  91. start = self.get_n_days(-int(date_range)+1)
  92. data, total = pitcher_overview(start, end, pitcher, page, page_size, order_by, order)
  93. if arg.get("download"):
  94. self.write_download('BookOver_'+str(int(time.time())), data)
  95. self.write_json(data=data, total=total)
  96. class BossPanelSummary(BaseHandler):
  97. def post(self):
  98. if not self._au:
  99. self.write_fail(msg='auth error')
  100. else:
  101. arg = self.get_args()
  102. print(arg)
  103. start = arg.get("start")
  104. end = arg.get("end")
  105. page = arg.get("page")
  106. page_size = arg.get("page_size")
  107. order_by = arg.get("order_by",'dt')
  108. order = arg.get("order",'desc')
  109. pitcher = arg.get("pitcher")
  110. date_range = arg.get("date_range")
  111. type = arg.get("type")
  112. stage = arg.get("stage")
  113. download = arg.get("download")
  114. if date_range:
  115. end = self.get_n_days(0)
  116. start = self.get_n_days(-int(date_range) + 1)
  117. data, total = boss_panel_summary(start, end, pitcher, type,
  118. stage, page, page_size, order_by, order)
  119. if download:
  120. self.write_download(str(int(time.time())), data)
  121. self.write_json(data=data, total=total)
  122. class ImageRank(BaseHandler):
  123. def post(self):
  124. if not self._au:
  125. self.write_fail(msg='auth error')
  126. else:
  127. arg = self.get_args()
  128. start = arg.get("start")
  129. end = arg.get("end")
  130. page = arg.get("page",1)
  131. page_size = arg.get("page_size",10)
  132. order_by = arg.get("order_by",'cost')
  133. order = arg.get("order",'desc')
  134. type = arg.get("type")
  135. book = arg.get('book')
  136. data, total = image_rank(start, end, type,book, page, page_size, order_by, order)
  137. self.write_json(data=data, total=total)
  138. """广告排行榜"""
  139. class AdvertisementRank(BaseHandler):
  140. def post(self):
  141. if not self._au:
  142. self.write_fial(msg='auth error')
  143. else:
  144. du = DateUtils()
  145. arg = self.get_args()
  146. start = arg.get("start",du.getNow())
  147. end = arg.get("end")
  148. ad_id = arg.get("ad_id")
  149. page = arg.get("page",1)
  150. page_size = arg.get("page_size")
  151. order_by = arg.get("order_by", 'cost')
  152. order = arg.get("order", 'desc')
  153. channel = arg.get("channel")
  154. pitcher = arg.get("pitcher")
  155. stage = arg.get("stage")
  156. site =arg.get("site")
  157. type =arg.get("type")
  158. book =arg.get("book")
  159. data, total,total_data = advertisement_rank(start, end, ad_id, channel, pitcher, stage,site,type,page,page_size,order,order_by,book)
  160. self.write_json(data=data, total=total,total_data=total_data)