PublicAnalysisHandler.py 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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. from data_manage.operate import get_user_name_by_id
  7. log = logger()
  8. class BookRank(BaseHandler):
  9. def post(self):
  10. if not self._au:
  11. self.write_fail(msg='auth error')
  12. else:
  13. arg = self.get_args()
  14. print(arg)
  15. start=arg.get("start",self.get_n_days(0))
  16. end=arg.get("end",self.get_n_days(0))
  17. date_range=arg.get("date_range")
  18. book=arg.get("book")
  19. stage=arg.get("stage")
  20. type=arg.get("type")
  21. page = arg.get("page",1)
  22. page_size = arg.get("page_size",30)
  23. order_by = arg.get("order_by", 'cost')
  24. order = arg.get("order", 'desc')
  25. if date_range:
  26. end=self.get_n_days(0)
  27. start=self.get_n_days(-int(date_range)+1)
  28. data,total=book_rank(start,end,book,stage,type,page,page_size,order_by,order)
  29. self.write_json(data=data,total=total)
  30. class BookTrend(BaseHandler):
  31. def post(self):
  32. if not self._au:
  33. self.write_fail(msg='auth error')
  34. else:
  35. arg = self.get_args()
  36. print(arg)
  37. start=arg.get("start",self.get_n_days(-29))
  38. end=arg.get("end",)
  39. date_range=arg.get("date_range")
  40. book=arg.get("book")
  41. type=arg.get("type")
  42. platform=arg.get("platform")
  43. page = arg.get("page",1)
  44. page_size = arg.get("page_size",30)
  45. order_by = arg.get("order_by", 'dt')
  46. order = arg.get("order", 'desc')
  47. if date_range:
  48. end=self.get_n_days(0)
  49. start=self.get_n_days(-int(date_range)+1)
  50. data,total,total_data=book_trend(start,end,book,type,platform,page,page_size,order_by,order)
  51. self.write_json(data=data,total=total,total_data=total_data)
  52. class BookOverview(BaseHandler):
  53. def post(self):
  54. if not self._au:
  55. self.write_fail(msg='auth error')
  56. else:
  57. arg = self.get_args()
  58. print(arg)
  59. start = arg.get("start")
  60. end = arg.get("end",)
  61. book = arg.get("book")
  62. type = arg.get("type")
  63. page = arg.get("page")
  64. date_range = arg.get("date_range")
  65. page_size = arg.get("page_size")
  66. order_by = arg.get("order_by", 'cost')
  67. order = arg.get("order", 'desc')
  68. if date_range:
  69. end = self.get_n_days(0)
  70. start = self.get_n_days(-int(date_range)+1)
  71. data, total = book_overview(start, end, book, type, page, page_size, order_by, order)
  72. if arg.get("download"):
  73. self.write_download('BookOver_'+str(int(time.time())), data)
  74. self.write_json(data=data, total=total)
  75. class PitcherOverview(BaseHandler):
  76. def post(self):
  77. if not self._au:
  78. self.write_fail(msg='auth error')
  79. else:
  80. arg = self.get_args()
  81. print(arg)
  82. user_id = arg.get('user_id')
  83. if user_id:
  84. start = arg.get("start")
  85. end = arg.get("end")
  86. page = arg.get("page")
  87. page_size = arg.get("page_size")
  88. order_by = arg.get("order_by", 'cost')
  89. order = arg.get("order", 'desc')
  90. pitcher = arg.get("pitcher")
  91. data, total = pitcher_overview(user_id,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. else:
  96. self.write_fail(msg='user_id not found')
  97. class BossPanelSummary(BaseHandler):
  98. def post(self):
  99. if not self._au:
  100. self.write_fail(msg='auth error')
  101. else:
  102. arg = self.get_args()
  103. print(arg)
  104. user_id = arg.get("user_id")
  105. start = arg.get("start",self.get_n_days(-30))
  106. end = arg.get("end")
  107. page = arg.get("page")
  108. page_size = arg.get("page_size")
  109. order_by = arg.get("order_by",'dt')
  110. order = arg.get("order",'desc')
  111. pitcher = arg.get("pitcher")
  112. type = arg.get("type")
  113. stage = arg.get("stage")
  114. download = arg.get("download")
  115. data, total = boss_panel_summary(user_id,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)
  136. """素材排行榜"""
  137. class AdvertisementRank(BaseHandler):
  138. def post(self):
  139. if not self._au:
  140. self.write_fial(msg='auth error')
  141. else:
  142. du = DateUtils()
  143. arg = self.get_args()
  144. user_id = arg.get('user_id')
  145. start = arg.get("start",du.getNow())
  146. end = arg.get("end")
  147. page = arg.get("page",1)
  148. page_size = arg.get("page_size")
  149. order_by = arg.get("order_by", 'cost')
  150. order = arg.get("order", 'desc')
  151. type =arg.get("type")
  152. book =arg.get("book")
  153. channel =arg.get('channel')
  154. pitcher = arg.get('pitcher')
  155. has_order = arg.get("has_order")
  156. data, total,total_data = advertisement_rank(user_id,start, end, type,page,page_size,order,order_by,book,channel,pitcher,has_order)
  157. self.write_json(data=data, total=total,total_data=total_data)