PitcherPanelHandler.py 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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. log = logger()
  8. class PitcherPanelChannel(BaseHandler):
  9. def post(self):
  10. args = self.get_args()
  11. print(args)
  12. pitcher = args.get("pitcher")
  13. channel = args.get("channel")
  14. start = args.get("start", self.get_n_days(0))
  15. end = args.get("end", self.get_n_days(0))
  16. page = args.get("page")
  17. page_size = args.get("page_size")
  18. order_by=args.get("order_by",'cost')
  19. order=args.get("order", 'desc')
  20. data_range=args.get('date_range')
  21. if data_range:
  22. end = self.get_n_days(0)
  23. start = self.get_n_days(-int(args['date_range'])+1)
  24. data,total=get_pitcher_panel_channel(pitcher, channel, start, end, page, page_size, order_by, order)
  25. self.write_json(data=data,total=total)
  26. class PitcherPanelDaily(BaseHandler):
  27. def post(self):
  28. args=self.get_args()
  29. print(args)
  30. pitcher = args.get("pitcher")
  31. start = args.get("start")
  32. end = args.get("end")
  33. page = args.get("page")
  34. page_size = args.get("page_size")
  35. order_by = args.get("order_by", 'date')
  36. order = args.get("order", 'desc')
  37. if 'date_range' in list(args.keys()):
  38. end = self.get_n_days(0)
  39. start = self.get_n_days(-int(args['date_range'])+1)
  40. data,total,total_data = get_pitcher_panel_daily(pitcher, start, end, page, page_size, order_by, order)
  41. self.write_json(data=data,total=total,total_data=total_data)
  42. class PitcherPanelOverview(BaseHandler):
  43. def post(self):
  44. args=self.get_args()
  45. pitcher = args.get("pitcher")
  46. data = get_pitcher_panel_overview(pitcher)
  47. self.write_json(data)
  48. class ChannelOverview(BaseHandler):
  49. def post(self):
  50. args=self.get_args()
  51. print(args)
  52. channel=args.get("channel")
  53. pitcher=args.get("pitcher")
  54. start=args.get("start")
  55. end=args.get("end")
  56. stage=args.get("stage")
  57. page = args.get("page", 1)
  58. page_size = args.get("page_size", 10)
  59. order_by = args.get("order_by", 'date')
  60. order = args.get("order", 'desc')
  61. if 'date_range' in list(args.keys()):
  62. end = self.get_n_days(0)
  63. start = self.get_n_days(-int(args['date_range'])+1)
  64. data,total,total_data =get_channel_overview(channel,pitcher,stage,start,end,page,page_size,order_by,order)
  65. self.write_json(data=data,total=total,total_data=total_data)
  66. class ChannelAgainOrderTrend(BaseHandler):
  67. def post(self):
  68. args = self.get_args()
  69. print(args)
  70. pitcher=args.get("pitcher",'')
  71. channel = args.get("channel", '')
  72. date = args.get("date",self.get_n_days(-8))
  73. data=get_channel_again_order_trend(channel,date,pitcher)
  74. self.write_json(data)
  75. class ChannelActive(BaseHandler):
  76. def post(self):
  77. args = self.get_args()
  78. print(args)
  79. pitcher=args.get("pitcher")
  80. channel = args.get("channel")
  81. start = args.get("start",self.get_n_days(-29))
  82. end = args.get("end")
  83. page = args.get("page", 1)
  84. page_size = args.get("page_size", 10)
  85. order_by = args.get("order_by", 'date')
  86. order = args.get("order", 'desc')
  87. if 'date_range' in list(args.keys()):
  88. end = self.get_n_days(0)
  89. start = self.get_n_days(-int(args['date_range'])+1)
  90. data,total=get_channel_active(channel,pitcher,start,end,page,page_size,order_by,order)
  91. self.write_json(data=data,total=total)
  92. class ChannelOrderTrend(BaseHandler):
  93. def post(self):
  94. arg = self.get_args()
  95. print(arg)
  96. pitcher=arg.get("pitcher")
  97. channel = arg.get("channel")
  98. start = arg.get("start",self.get_n_days(-29))
  99. end = arg.get("end")
  100. page = arg.get("page", 1)
  101. page_size = arg.get("page_size", 10)
  102. order_by = arg.get("order_by", 'date')
  103. order = arg.get("order", 'desc')
  104. if 'date_range' in list(arg.keys()):
  105. end = self.get_n_days(0)
  106. start = self.get_n_days(-int(arg['date_range'])+1)
  107. data,total,total_data=get_channel_order_trend(channel,pitcher,start,end,page,page_size,order_by,order)
  108. self.write_json(data=data,total=total,total_data=total_data)
  109. class ChannelSummary(BaseHandler):
  110. def post(self):
  111. arg = self.get_args()
  112. print(arg)
  113. channel = arg.get('channel')
  114. pitcher = arg.get('pitcher')
  115. page = arg.get("page")
  116. page_size = arg.get("page_size")
  117. location = arg.get('location')
  118. order_by = arg.get("order_by", 'total_cost')
  119. order = arg.get("order", 'desc')
  120. state = arg.get("state")
  121. start = arg.get("start")
  122. end = arg.get("end")
  123. data, total, total_data = get_channel_summary(channel,pitcher,page,page_size,order_by,order,state,location,start,end)
  124. if arg.get("download"):
  125. self.write_download("channel_"+str(int(time.time())), data)
  126. else:
  127. self.write_json(data=data, total=total, total_data=total_data)
  128. class PitcherTrend(BaseHandler):
  129. def post(self):
  130. arg = self.get_args()
  131. print(arg)
  132. pitcher=arg.get('pitcher')
  133. start=arg.get("start",self.get_n_days(-29))
  134. end=arg.get("end")
  135. date_range=arg.get("date_range")
  136. page = arg.get("page")
  137. page_size = arg.get("page_size")
  138. order_by = arg.get("order_by", 'dt')
  139. order = arg.get("order", 'desc')
  140. if date_range:
  141. end=du.get_n_days(0)
  142. start=du.get_n_days(-int(date_range)+1)
  143. data,total,total_data=get_pitcher_trend(pitcher,start,end,page,page_size,order_by,order)
  144. self.write_json(data=data,total=total,total_data=total_data)