PitcherPanelHandler.py 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. from handlers.HandlerBase import BaseHandler
  2. from data_manage.pitcher_panel import *
  3. import time
  4. from data_manage.operate import get_user_name_by_id
  5. log = logger()
  6. class PitcherPanelChannel(BaseHandler):
  7. def post(self):
  8. if not self._au:
  9. self.write_fail(msg='auth error')
  10. else:
  11. args = self.get_args()
  12. print(args)
  13. pitcher = args.get("pitcher")
  14. channel = args.get("channel")
  15. start = args.get("start", self.get_n_days(0))
  16. end = args.get("end", self.get_n_days(0))
  17. page = args.get("page")
  18. page_size = args.get("page_size")
  19. order_by = args.get("order_by", 'cost')
  20. order = args.get("order", 'desc')
  21. data_range = args.get('date_range')
  22. if data_range:
  23. end = self.get_n_days(0)
  24. start = self.get_n_days(-int(args['date_range']) + 1)
  25. data, total = get_pitcher_panel_channel(pitcher, channel, start, end, page, page_size, order_by, order)
  26. self.write_json(data=data, total=total)
  27. class PitcherPanelDaily(BaseHandler):
  28. def post(self):
  29. if not self._au:
  30. self.write_fail(msg='auth error')
  31. else:
  32. args = self.get_args()
  33. print(args)
  34. user_id = args.get('user_id')
  35. pitcher = args.get("pitcher", get_user_name_by_id(user_id))
  36. start = args.get("start", self.get_n_days(-7))
  37. end = args.get("end")
  38. page = args.get("page")
  39. page_size = args.get("page_size")
  40. order_by = args.get("order_by", 'date')
  41. order = args.get("order", 'desc')
  42. data, total, total_data = get_pitcher_panel_daily(pitcher, start, end, page, page_size, order_by, order)
  43. self.write_json(data=data, total=total, total_data=total_data)
  44. class PitcherPanelOverview(BaseHandler):
  45. def post(self):
  46. if not self._au:
  47. self.write_fail(msg='auth error')
  48. else:
  49. args = self.get_args()
  50. user_id = args.get("user_id")
  51. pitcher = args.get("pitcher", get_user_name_by_id(user_id))
  52. data = get_pitcher_panel_overview(pitcher)
  53. self.write_json(data)
  54. class ChannelOverview(BaseHandler):
  55. def post(self):
  56. if not self._au:
  57. self.write_fail(msg='auth error')
  58. else:
  59. args = self.get_args()
  60. user_id = args.get('user_id')
  61. channel = args.get("channel")
  62. pitcher = args.get("pitcher")
  63. start = args.get("start", self.thisday)
  64. end = args.get("end")
  65. stage = args.get("stage")
  66. page = args.get("page")
  67. book = args.get('book')
  68. type = args.get('type')
  69. agent_id= args.get('agent_id')
  70. page_size = args.get("page_size")
  71. order_by = args.get("order_by", 'date')
  72. order = args.get("order", 'desc')
  73. data, total, total_data = get_channel_overview(user_id, channel, pitcher, type, stage, book, agent_id, start, end, page,
  74. page_size, order_by, order)
  75. if args.get("download"):
  76. self.write_download(str(int(time.time())), data)
  77. else:
  78. self.write_json(data=data, total=total, total_data=total_data)
  79. class AgentList(BaseHandler):
  80. def post(self):
  81. if not self._au:
  82. self.write_fail(msg='auth error')
  83. else:
  84. args = self.get_args()
  85. data = get_agent_list(args.get("pitcher"))
  86. self.write_json(data=data)
  87. class ChannelAgainOrderTrend(BaseHandler):
  88. def post(self):
  89. if not self._au:
  90. self.write_fail(msg='auth error')
  91. else:
  92. args = self.get_args()
  93. print(args)
  94. channel = args.get("channel")
  95. date = args.get("date", self.get_n_days(-8))
  96. if channel:
  97. data = get_channel_again_order_trend(channel, date)
  98. self.write_json(data)
  99. else:
  100. self.write_json([])
  101. class ChannelActive(BaseHandler):
  102. def post(self):
  103. if not self._au:
  104. self.write_fail(msg='auth error')
  105. else:
  106. args = self.get_args()
  107. print(args)
  108. user_id = args.get('user_id')
  109. pitcher = args.get("pitcher")
  110. channel = args.get("channel")
  111. start = args.get("start", self.thisday)
  112. end = args.get("end")
  113. page = args.get("page", 1)
  114. page_size = args.get("page_size", 10)
  115. order_by = args.get("order_by", 'date')
  116. order = args.get("order", 'desc')
  117. data, total = get_channel_active(user_id, channel, pitcher, start, end, page, page_size, order_by, order)
  118. self.write_json(data=data, total=total)
  119. class ChannelOrderTrend(BaseHandler):
  120. def post(self):
  121. if not self._au:
  122. self.write_fail(msg='auth error')
  123. else:
  124. arg = self.get_args()
  125. user_id = arg.get('user_id')
  126. pitcher = arg.get("pitcher")
  127. agent_id = arg.get("agent_id")
  128. channel = arg.get("channel")
  129. game = arg.get("book")
  130. agent_type = arg.get("type")
  131. start = arg.get("start", self.get_n_days(-30)) if channel else arg.get("start", self.thisday)
  132. end = arg.get("end")
  133. page = arg.get("page")
  134. page_size = arg.get("page_size")
  135. order_by = arg.get("order_by", 'date')
  136. order = arg.get("order", 'desc')
  137. data, total, total_data = get_channel_order_trend(user_id, channel, game,agent_type, pitcher, agent_id, start, end, page, page_size,
  138. order_by, order)
  139. if arg.get("download"):
  140. self.write_download("channelTrend_" + str(int(time.time())), data)
  141. else:
  142. self.write_json(data=data, total=total, total_data=total_data)
  143. class ChannelOrderTrendNoBody(BaseHandler):
  144. def post(self):
  145. if not self._au:
  146. self.write_fail(msg='auth error')
  147. else:
  148. arg = self.get_args()
  149. user_id = arg.get('user_id')
  150. pitcher = arg.get("pitcher")
  151. game = arg.get("game")
  152. start = arg.get("start", self.get_n_days(-30)) if game else arg.get("start", self.thisday)
  153. end = arg.get("end")
  154. page = arg.get("page")
  155. page_size = arg.get("page_size")
  156. order_by = arg.get("order_by", 'date')
  157. order = arg.get("order", 'desc')
  158. print(start,end)
  159. data, total, total_data = get_channel_order_trend_nobody(user_id, game, pitcher, start, end, page,
  160. page_size,
  161. order_by, order)
  162. if arg.get("download"):
  163. self.write_download("channelTrend_" + str(int(time.time())), data)
  164. else:
  165. self.write_json(data=data, total=total, total_data=total_data)
  166. class ChannelSummary(BaseHandler):
  167. def post(self):
  168. if not self._au:
  169. self.write_fail(msg='auth error')
  170. else:
  171. arg = self.get_args()
  172. print(arg)
  173. user_id = arg.get('user_id')
  174. channel = arg.get('channel')
  175. pitcher = arg.get('pitcher')
  176. page = arg.get("page")
  177. page_size = arg.get("page_size")
  178. location = arg.get('location')
  179. order_by = arg.get("order_by", 'total_cost')
  180. order = arg.get("order", 'desc')
  181. state = arg.get("state")
  182. start = arg.get("start")
  183. end = arg.get("end")
  184. data, total, total_data = get_channel_summary(user_id, channel, pitcher, page, page_size, order_by, order,
  185. state, location, start, end)
  186. if arg.get("download"):
  187. self.write_download("channel_" + str(int(time.time())), data)
  188. else:
  189. self.write_json(data=data, total=total, total_data=total_data)
  190. class ChannelPitcherSummary(BaseHandler):
  191. def post(self):
  192. if not self._au:
  193. self.write_fail(msg='auth error')
  194. else:
  195. arg = self.get_args()
  196. print(arg)
  197. user_id = arg.get('user_id')
  198. channel = arg.get('channel')
  199. pitcher = arg.get('pitcher')
  200. page = arg.get("page")
  201. page_size = arg.get("page_size")
  202. location = arg.get('location')
  203. order_by = arg.get("order_by", 'total_cost')
  204. order = arg.get("order", 'desc')
  205. state = arg.get("state")
  206. start = arg.get("start")
  207. end = arg.get("end")
  208. data, total, total_data = get_pitcher_channel_summary(user_id, channel, pitcher, page, page_size, order_by,
  209. order, state, location, start, end)
  210. if arg.get("download"):
  211. self.write_download("channel_" + str(int(time.time())), data)
  212. else:
  213. self.write_json(data=data, total=total, total_data=total_data)
  214. class PitcherTrend(BaseHandler):
  215. def post(self):
  216. if not self._au:
  217. self.write_fail(msg='auth error')
  218. else:
  219. arg = self.get_args()
  220. print(arg)
  221. user_id = arg.get('user_id')
  222. if user_id:
  223. pitcher = arg.get('pitcher', get_user_name_by_id(user_id))
  224. start = arg.get("start", self.thisday)
  225. end = arg.get("end")
  226. page = arg.get("page")
  227. page_size = arg.get("page_size")
  228. order_by = arg.get("order_by", 'dt')
  229. order = arg.get("order", 'desc')
  230. data, total, total_data = get_pitcher_trend(pitcher, start, end, page, page_size, order_by, order)
  231. self.write_json(data=data, total=total, total_data=total_data)
  232. else:
  233. self.write_fail(msg='user_id not found')