PitcherPanelHandler.py 8.0 KB

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