CloudbusRoute.py 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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 CloudbusRoute(object):
  8. def __init__(self):
  9. self._action = None
  10. self._direction = None
  11. self._line_id = None
  12. self._line_lon_lat = None
  13. self._line_name = None
  14. self._operation_time = None
  15. self._price = None
  16. self._stops = None
  17. @property
  18. def action(self):
  19. return self._action
  20. @action.setter
  21. def action(self, value):
  22. self._action = value
  23. @property
  24. def direction(self):
  25. return self._direction
  26. @direction.setter
  27. def direction(self, value):
  28. self._direction = value
  29. @property
  30. def line_id(self):
  31. return self._line_id
  32. @line_id.setter
  33. def line_id(self, value):
  34. self._line_id = value
  35. @property
  36. def line_lon_lat(self):
  37. return self._line_lon_lat
  38. @line_lon_lat.setter
  39. def line_lon_lat(self, value):
  40. if isinstance(value, list):
  41. self._line_lon_lat = list()
  42. for i in value:
  43. if isinstance(i, CloudbusLocation):
  44. self._line_lon_lat.append(i)
  45. else:
  46. self._line_lon_lat.append(CloudbusLocation.from_alipay_dict(i))
  47. @property
  48. def line_name(self):
  49. return self._line_name
  50. @line_name.setter
  51. def line_name(self, value):
  52. self._line_name = value
  53. @property
  54. def operation_time(self):
  55. return self._operation_time
  56. @operation_time.setter
  57. def operation_time(self, value):
  58. if isinstance(value, list):
  59. self._operation_time = list()
  60. for i in value:
  61. self._operation_time.append(i)
  62. @property
  63. def price(self):
  64. return self._price
  65. @price.setter
  66. def price(self, value):
  67. self._price = value
  68. @property
  69. def stops(self):
  70. return self._stops
  71. @stops.setter
  72. def stops(self, value):
  73. if isinstance(value, list):
  74. self._stops = list()
  75. for i in value:
  76. if isinstance(i, CloudbusStop):
  77. self._stops.append(i)
  78. else:
  79. self._stops.append(CloudbusStop.from_alipay_dict(i))
  80. def to_alipay_dict(self):
  81. params = dict()
  82. if self.action:
  83. if hasattr(self.action, 'to_alipay_dict'):
  84. params['action'] = self.action.to_alipay_dict()
  85. else:
  86. params['action'] = self.action
  87. if self.direction:
  88. if hasattr(self.direction, 'to_alipay_dict'):
  89. params['direction'] = self.direction.to_alipay_dict()
  90. else:
  91. params['direction'] = self.direction
  92. if self.line_id:
  93. if hasattr(self.line_id, 'to_alipay_dict'):
  94. params['line_id'] = self.line_id.to_alipay_dict()
  95. else:
  96. params['line_id'] = self.line_id
  97. if self.line_lon_lat:
  98. if isinstance(self.line_lon_lat, list):
  99. for i in range(0, len(self.line_lon_lat)):
  100. element = self.line_lon_lat[i]
  101. if hasattr(element, 'to_alipay_dict'):
  102. self.line_lon_lat[i] = element.to_alipay_dict()
  103. if hasattr(self.line_lon_lat, 'to_alipay_dict'):
  104. params['line_lon_lat'] = self.line_lon_lat.to_alipay_dict()
  105. else:
  106. params['line_lon_lat'] = self.line_lon_lat
  107. if self.line_name:
  108. if hasattr(self.line_name, 'to_alipay_dict'):
  109. params['line_name'] = self.line_name.to_alipay_dict()
  110. else:
  111. params['line_name'] = self.line_name
  112. if self.operation_time:
  113. if isinstance(self.operation_time, list):
  114. for i in range(0, len(self.operation_time)):
  115. element = self.operation_time[i]
  116. if hasattr(element, 'to_alipay_dict'):
  117. self.operation_time[i] = element.to_alipay_dict()
  118. if hasattr(self.operation_time, 'to_alipay_dict'):
  119. params['operation_time'] = self.operation_time.to_alipay_dict()
  120. else:
  121. params['operation_time'] = self.operation_time
  122. if self.price:
  123. if hasattr(self.price, 'to_alipay_dict'):
  124. params['price'] = self.price.to_alipay_dict()
  125. else:
  126. params['price'] = self.price
  127. if self.stops:
  128. if isinstance(self.stops, list):
  129. for i in range(0, len(self.stops)):
  130. element = self.stops[i]
  131. if hasattr(element, 'to_alipay_dict'):
  132. self.stops[i] = element.to_alipay_dict()
  133. if hasattr(self.stops, 'to_alipay_dict'):
  134. params['stops'] = self.stops.to_alipay_dict()
  135. else:
  136. params['stops'] = self.stops
  137. return params
  138. @staticmethod
  139. def from_alipay_dict(d):
  140. if not d:
  141. return None
  142. o = CloudbusRoute()
  143. if 'action' in d:
  144. o.action = d['action']
  145. if 'direction' in d:
  146. o.direction = d['direction']
  147. if 'line_id' in d:
  148. o.line_id = d['line_id']
  149. if 'line_lon_lat' in d:
  150. o.line_lon_lat = d['line_lon_lat']
  151. if 'line_name' in d:
  152. o.line_name = d['line_name']
  153. if 'operation_time' in d:
  154. o.operation_time = d['operation_time']
  155. if 'price' in d:
  156. o.price = d['price']
  157. if 'stops' in d:
  158. o.stops = d['stops']
  159. return o