CloudbusPredictRItem.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.constant.ParamConstants import *
  5. from alipay.aop.api.domain.CloudbusLocation import CloudbusLocation
  6. from alipay.aop.api.domain.CloudbusStop import CloudbusStop
  7. class CloudbusPredictRItem(object):
  8. def __init__(self):
  9. self._line_lon_lat = None
  10. self._operation_time = None
  11. self._route_volume = None
  12. self._stops = None
  13. @property
  14. def line_lon_lat(self):
  15. return self._line_lon_lat
  16. @line_lon_lat.setter
  17. def line_lon_lat(self, value):
  18. if isinstance(value, list):
  19. self._line_lon_lat = list()
  20. for i in value:
  21. if isinstance(i, CloudbusLocation):
  22. self._line_lon_lat.append(i)
  23. else:
  24. self._line_lon_lat.append(CloudbusLocation.from_alipay_dict(i))
  25. @property
  26. def operation_time(self):
  27. return self._operation_time
  28. @operation_time.setter
  29. def operation_time(self, value):
  30. if isinstance(value, list):
  31. self._operation_time = list()
  32. for i in value:
  33. self._operation_time.append(i)
  34. @property
  35. def route_volume(self):
  36. return self._route_volume
  37. @route_volume.setter
  38. def route_volume(self, value):
  39. self._route_volume = value
  40. @property
  41. def stops(self):
  42. return self._stops
  43. @stops.setter
  44. def stops(self, value):
  45. if isinstance(value, list):
  46. self._stops = list()
  47. for i in value:
  48. if isinstance(i, CloudbusStop):
  49. self._stops.append(i)
  50. else:
  51. self._stops.append(CloudbusStop.from_alipay_dict(i))
  52. def to_alipay_dict(self):
  53. params = dict()
  54. if self.line_lon_lat:
  55. if isinstance(self.line_lon_lat, list):
  56. for i in range(0, len(self.line_lon_lat)):
  57. element = self.line_lon_lat[i]
  58. if hasattr(element, 'to_alipay_dict'):
  59. self.line_lon_lat[i] = element.to_alipay_dict()
  60. if hasattr(self.line_lon_lat, 'to_alipay_dict'):
  61. params['line_lon_lat'] = self.line_lon_lat.to_alipay_dict()
  62. else:
  63. params['line_lon_lat'] = self.line_lon_lat
  64. if self.operation_time:
  65. if isinstance(self.operation_time, list):
  66. for i in range(0, len(self.operation_time)):
  67. element = self.operation_time[i]
  68. if hasattr(element, 'to_alipay_dict'):
  69. self.operation_time[i] = element.to_alipay_dict()
  70. if hasattr(self.operation_time, 'to_alipay_dict'):
  71. params['operation_time'] = self.operation_time.to_alipay_dict()
  72. else:
  73. params['operation_time'] = self.operation_time
  74. if self.route_volume:
  75. if hasattr(self.route_volume, 'to_alipay_dict'):
  76. params['route_volume'] = self.route_volume.to_alipay_dict()
  77. else:
  78. params['route_volume'] = self.route_volume
  79. if self.stops:
  80. if isinstance(self.stops, list):
  81. for i in range(0, len(self.stops)):
  82. element = self.stops[i]
  83. if hasattr(element, 'to_alipay_dict'):
  84. self.stops[i] = element.to_alipay_dict()
  85. if hasattr(self.stops, 'to_alipay_dict'):
  86. params['stops'] = self.stops.to_alipay_dict()
  87. else:
  88. params['stops'] = self.stops
  89. return params
  90. @staticmethod
  91. def from_alipay_dict(d):
  92. if not d:
  93. return None
  94. o = CloudbusPredictRItem()
  95. if 'line_lon_lat' in d:
  96. o.line_lon_lat = d['line_lon_lat']
  97. if 'operation_time' in d:
  98. o.operation_time = d['operation_time']
  99. if 'route_volume' in d:
  100. o.route_volume = d['route_volume']
  101. if 'stops' in d:
  102. o.stops = d['stops']
  103. return o