energy.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from flask_restful import Resource, reqparse
  2. from app.main.service.energy_service import (
  3. get_hourly_wh_by_day, get_total_wh_by_day)
  4. from app.main.common.decorators import standardize_api_response
  5. class TotalEnergyByDayApi(Resource):
  6. @standardize_api_response
  7. def get(self):
  8. parser = reqparse.RequestParser(bundle_errors=True)
  9. parser.add_argument(
  10. 'serial_number', help='Numero serie del medidor', required=True)
  11. parser.add_argument('log_number', help='Número de Log', required=True)
  12. parser.add_argument(
  13. 'start_date', help='Fecha de inicio la consulta', required=True)
  14. parser.add_argument('end_date', help='Fecha de fin de la consulta')
  15. args = parser.parse_args()
  16. if not args:
  17. return {'no-data': ''}
  18. serial_number = args['serial_number']
  19. log_number = args['log_number']
  20. start_date = args['start_date']
  21. end_date = args['end_date']
  22. return get_total_wh_by_day(
  23. serial_number, log_number, start_date, end_date)
  24. class HourlyEnergyApi(Resource):
  25. @standardize_api_response
  26. def get(self):
  27. parser = reqparse.RequestParser(bundle_errors=True)
  28. parser.add_argument(
  29. 'serial_number', help='Numero serie del medidor', required=True)
  30. parser.add_argument('log_number', help='Número de Log', required=True)
  31. parser.add_argument(
  32. 'start_date', help='Fecha de inicio la consulta', required=True)
  33. parser.add_argument('end_date', help='Fecha de fin de la consulta')
  34. args = parser.parse_args()
  35. if not args:
  36. return {'no-data': ''}
  37. serial_number = args['serial_number']
  38. log_number = args['log_number']
  39. start_date = args['start_date']
  40. end_date = args['end_date']
  41. return get_hourly_wh_by_day(
  42. serial_number, log_number, start_date, end_date)