PublicAnalysisHandler.py 5.4 KB

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