InsLiability.py 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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.InsOption import InsOption
  6. from alipay.aop.api.domain.InsSumInsured import InsSumInsured
  7. class InsLiability(object):
  8. def __init__(self):
  9. self._coverage = None
  10. self._disabled = None
  11. self._iop = None
  12. self._iop_premium = None
  13. self._liability_desc = None
  14. self._liability_name = None
  15. self._liability_no = None
  16. self._liability_premium = None
  17. self._liability_rates = None
  18. self._options = None
  19. self._premium = None
  20. self._sum_insured = None
  21. @property
  22. def coverage(self):
  23. return self._coverage
  24. @coverage.setter
  25. def coverage(self, value):
  26. self._coverage = value
  27. @property
  28. def disabled(self):
  29. return self._disabled
  30. @disabled.setter
  31. def disabled(self, value):
  32. self._disabled = value
  33. @property
  34. def iop(self):
  35. return self._iop
  36. @iop.setter
  37. def iop(self, value):
  38. self._iop = value
  39. @property
  40. def iop_premium(self):
  41. return self._iop_premium
  42. @iop_premium.setter
  43. def iop_premium(self, value):
  44. self._iop_premium = value
  45. @property
  46. def liability_desc(self):
  47. return self._liability_desc
  48. @liability_desc.setter
  49. def liability_desc(self, value):
  50. self._liability_desc = value
  51. @property
  52. def liability_name(self):
  53. return self._liability_name
  54. @liability_name.setter
  55. def liability_name(self, value):
  56. self._liability_name = value
  57. @property
  58. def liability_no(self):
  59. return self._liability_no
  60. @liability_no.setter
  61. def liability_no(self, value):
  62. self._liability_no = value
  63. @property
  64. def liability_premium(self):
  65. return self._liability_premium
  66. @liability_premium.setter
  67. def liability_premium(self, value):
  68. self._liability_premium = value
  69. @property
  70. def liability_rates(self):
  71. return self._liability_rates
  72. @liability_rates.setter
  73. def liability_rates(self, value):
  74. self._liability_rates = value
  75. @property
  76. def options(self):
  77. return self._options
  78. @options.setter
  79. def options(self, value):
  80. if isinstance(value, list):
  81. self._options = list()
  82. for i in value:
  83. if isinstance(i, InsOption):
  84. self._options.append(i)
  85. else:
  86. self._options.append(InsOption.from_alipay_dict(i))
  87. @property
  88. def premium(self):
  89. return self._premium
  90. @premium.setter
  91. def premium(self, value):
  92. self._premium = value
  93. @property
  94. def sum_insured(self):
  95. return self._sum_insured
  96. @sum_insured.setter
  97. def sum_insured(self, value):
  98. if isinstance(value, InsSumInsured):
  99. self._sum_insured = value
  100. else:
  101. self._sum_insured = InsSumInsured.from_alipay_dict(value)
  102. def to_alipay_dict(self):
  103. params = dict()
  104. if self.coverage:
  105. if hasattr(self.coverage, 'to_alipay_dict'):
  106. params['coverage'] = self.coverage.to_alipay_dict()
  107. else:
  108. params['coverage'] = self.coverage
  109. if self.disabled:
  110. if hasattr(self.disabled, 'to_alipay_dict'):
  111. params['disabled'] = self.disabled.to_alipay_dict()
  112. else:
  113. params['disabled'] = self.disabled
  114. if self.iop:
  115. if hasattr(self.iop, 'to_alipay_dict'):
  116. params['iop'] = self.iop.to_alipay_dict()
  117. else:
  118. params['iop'] = self.iop
  119. if self.iop_premium:
  120. if hasattr(self.iop_premium, 'to_alipay_dict'):
  121. params['iop_premium'] = self.iop_premium.to_alipay_dict()
  122. else:
  123. params['iop_premium'] = self.iop_premium
  124. if self.liability_desc:
  125. if hasattr(self.liability_desc, 'to_alipay_dict'):
  126. params['liability_desc'] = self.liability_desc.to_alipay_dict()
  127. else:
  128. params['liability_desc'] = self.liability_desc
  129. if self.liability_name:
  130. if hasattr(self.liability_name, 'to_alipay_dict'):
  131. params['liability_name'] = self.liability_name.to_alipay_dict()
  132. else:
  133. params['liability_name'] = self.liability_name
  134. if self.liability_no:
  135. if hasattr(self.liability_no, 'to_alipay_dict'):
  136. params['liability_no'] = self.liability_no.to_alipay_dict()
  137. else:
  138. params['liability_no'] = self.liability_no
  139. if self.liability_premium:
  140. if hasattr(self.liability_premium, 'to_alipay_dict'):
  141. params['liability_premium'] = self.liability_premium.to_alipay_dict()
  142. else:
  143. params['liability_premium'] = self.liability_premium
  144. if self.liability_rates:
  145. if hasattr(self.liability_rates, 'to_alipay_dict'):
  146. params['liability_rates'] = self.liability_rates.to_alipay_dict()
  147. else:
  148. params['liability_rates'] = self.liability_rates
  149. if self.options:
  150. if isinstance(self.options, list):
  151. for i in range(0, len(self.options)):
  152. element = self.options[i]
  153. if hasattr(element, 'to_alipay_dict'):
  154. self.options[i] = element.to_alipay_dict()
  155. if hasattr(self.options, 'to_alipay_dict'):
  156. params['options'] = self.options.to_alipay_dict()
  157. else:
  158. params['options'] = self.options
  159. if self.premium:
  160. if hasattr(self.premium, 'to_alipay_dict'):
  161. params['premium'] = self.premium.to_alipay_dict()
  162. else:
  163. params['premium'] = self.premium
  164. if self.sum_insured:
  165. if hasattr(self.sum_insured, 'to_alipay_dict'):
  166. params['sum_insured'] = self.sum_insured.to_alipay_dict()
  167. else:
  168. params['sum_insured'] = self.sum_insured
  169. return params
  170. @staticmethod
  171. def from_alipay_dict(d):
  172. if not d:
  173. return None
  174. o = InsLiability()
  175. if 'coverage' in d:
  176. o.coverage = d['coverage']
  177. if 'disabled' in d:
  178. o.disabled = d['disabled']
  179. if 'iop' in d:
  180. o.iop = d['iop']
  181. if 'iop_premium' in d:
  182. o.iop_premium = d['iop_premium']
  183. if 'liability_desc' in d:
  184. o.liability_desc = d['liability_desc']
  185. if 'liability_name' in d:
  186. o.liability_name = d['liability_name']
  187. if 'liability_no' in d:
  188. o.liability_no = d['liability_no']
  189. if 'liability_premium' in d:
  190. o.liability_premium = d['liability_premium']
  191. if 'liability_rates' in d:
  192. o.liability_rates = d['liability_rates']
  193. if 'options' in d:
  194. o.options = d['options']
  195. if 'premium' in d:
  196. o.premium = d['premium']
  197. if 'sum_insured' in d:
  198. o.sum_insured = d['sum_insured']
  199. return o