PublicAnalysisHandler.py 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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.thisday)
  16. end=arg.get("end",self.thisday)
  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. data,total=book_rank(start,end,book,stage,type,page,page_size,order_by,order)
  25. self.write_json(data=data,total=total)
  26. class BookTrend(BaseHandler):
  27. def post(self):
  28. if not self._au:
  29. self.write_fail(msg='auth error')
  30. else:
  31. arg = self.get_args()
  32. print(arg)
  33. start=arg.get("start",self.get_n_days(-29))
  34. end=arg.get("end",)
  35. date_range=arg.get("date_range")
  36. book=arg.get("book")
  37. type=arg.get("type")
  38. platform=arg.get("platform")
  39. page = arg.get("page",1)
  40. page_size = arg.get("page_size",30)
  41. order_by = arg.get("order_by", 'dt')
  42. order = arg.get("order", 'desc')
  43. if date_range:
  44. end=self.get_n_days(0)
  45. start=self.get_n_days(-int(date_range)+1)
  46. data,total,total_data=book_trend(start,end,book,type,platform,page,page_size,order_by,order)
  47. self.write_json(data=data,total=total,total_data=total_data)
  48. class BookOverview(BaseHandler):
  49. def post(self):
  50. if not self._au:
  51. self.write_fail(msg='auth error')
  52. else:
  53. arg = self.get_args()
  54. print(arg)
  55. start = arg.get("start")
  56. end = arg.get("end",)
  57. book = arg.get("book")
  58. type = arg.get("type")
  59. page = arg.get("page")
  60. date_range = arg.get("date_range")
  61. page_size = arg.get("page_size")
  62. order_by = arg.get("order_by", 'cost')
  63. order = arg.get("order", 'desc')
  64. if date_range:
  65. end = self.get_n_days(0)
  66. start = self.get_n_days(-int(date_range)+1)
  67. data, total = book_overview(start, end, book, type, page, page_size, order_by, order)
  68. if arg.get("download"):
  69. self.write_download('BookOver_'+str(int(time.time())), data)
  70. self.write_json(data=data, total=total)
  71. class PitcherOverview(BaseHandler):
  72. def post(self):
  73. if not self._au:
  74. self.write_fail(msg='auth error')
  75. else:
  76. arg = self.get_args()
  77. print(arg)
  78. user_id = arg.get('user_id')
  79. if user_id:
  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. data, total = pitcher_overview(user_id,start, end, pitcher, page, page_size, order_by, order)
  88. if arg.get("download"):
  89. self.write_download('BookOver_'+str(int(time.time())), data)
  90. self.write_json(data=data, total=total)
  91. else:
  92. self.write_fail(msg='user_id not found')
  93. class BossPanelSummary(BaseHandler):
  94. def post(self):
  95. if not self._au:
  96. self.write_fail(msg='auth error')
  97. else:
  98. arg = self.get_args()
  99. print(arg)
  100. user_id = arg.get("user_id")
  101. start = arg.get("start",self.get_n_days(-30))
  102. end = arg.get("end")
  103. page = arg.get("page")
  104. page_size = arg.get("page_size")
  105. order_by = arg.get("order_by",'dt')
  106. order = arg.get("order",'desc')
  107. pitcher = arg.get("pitcher")
  108. type = arg.get("type")
  109. stage = arg.get("stage")
  110. channel = arg.get("channel")
  111. download = arg.get("download")
  112. data, total = boss_panel_summary(user_id,start, end,channel, pitcher, type,
  113. stage, page, page_size, order_by, order)
  114. if download:
  115. self.write_download(str(int(time.time())), data)
  116. self.write_json(data=data, total=total)
  117. class ImageRank(BaseHandler):
  118. def post(self):
  119. if not self._au:
  120. self.write_fail(msg='auth error')
  121. else:
  122. arg = self.get_args()
  123. start = arg.get("start")
  124. end = arg.get("end")
  125. page = arg.get("page",1)
  126. page_size = arg.get("page_size",10)
  127. order_by = arg.get("order_by",'cost')
  128. order = arg.get("order",'desc')
  129. type = arg.get("type")
  130. book = arg.get('book')
  131. data, total = image_rank(start, end, type,book, page, page_size, order_by, order)
  132. self.write_json(data=data, total=total)
  133. """素材排行榜"""
  134. class AdvertisementRank(BaseHandler):
  135. def post(self):
  136. if not self._au:
  137. self.write_fial(msg='auth error')
  138. else:
  139. du = DateUtils()
  140. arg = self.get_args()
  141. user_id = arg.get('user_id')
  142. start = arg.get("start",du.getNow())
  143. end = arg.get("end")
  144. page = arg.get("page",1)
  145. page_size = arg.get("page_size")
  146. order_by = arg.get("order_by", 'cost')
  147. order = arg.get("order", 'desc')
  148. type =arg.get("type")
  149. book =arg.get("book")
  150. channel =arg.get('channel')
  151. pitcher = arg.get('pitcher')
  152. has_order = arg.get("has_order")
  153. data, total,total_data = advertisement_rank(user_id,start, end, type,page,page_size,order,order_by,book,channel,pitcher,has_order)
  154. self.write_json(data=data, total=total,total_data=total_data)