InsProdCoverage.py 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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.InsLiability import InsLiability
  6. from alipay.aop.api.domain.InsSumInsured import InsSumInsured
  7. class InsProdCoverage(object):
  8. def __init__(self):
  9. self._coverage_desc = None
  10. self._coverage_name = None
  11. self._coverage_no = None
  12. self._is_fixed_period = None
  13. self._liabilities = None
  14. self._periods = None
  15. self._sum_insured = None
  16. @property
  17. def coverage_desc(self):
  18. return self._coverage_desc
  19. @coverage_desc.setter
  20. def coverage_desc(self, value):
  21. self._coverage_desc = value
  22. @property
  23. def coverage_name(self):
  24. return self._coverage_name
  25. @coverage_name.setter
  26. def coverage_name(self, value):
  27. self._coverage_name = value
  28. @property
  29. def coverage_no(self):
  30. return self._coverage_no
  31. @coverage_no.setter
  32. def coverage_no(self, value):
  33. self._coverage_no = value
  34. @property
  35. def is_fixed_period(self):
  36. return self._is_fixed_period
  37. @is_fixed_period.setter
  38. def is_fixed_period(self, value):
  39. self._is_fixed_period = value
  40. @property
  41. def liabilities(self):
  42. return self._liabilities
  43. @liabilities.setter
  44. def liabilities(self, value):
  45. if isinstance(value, list):
  46. self._liabilities = list()
  47. for i in value:
  48. if isinstance(i, InsLiability):
  49. self._liabilities.append(i)
  50. else:
  51. self._liabilities.append(InsLiability.from_alipay_dict(i))
  52. @property
  53. def periods(self):
  54. return self._periods
  55. @periods.setter
  56. def periods(self, value):
  57. if isinstance(value, list):
  58. self._periods = list()
  59. for i in value:
  60. self._periods.append(i)
  61. @property
  62. def sum_insured(self):
  63. return self._sum_insured
  64. @sum_insured.setter
  65. def sum_insured(self, value):
  66. if isinstance(value, InsSumInsured):
  67. self._sum_insured = value
  68. else:
  69. self._sum_insured = InsSumInsured.from_alipay_dict(value)
  70. def to_alipay_dict(self):
  71. params = dict()
  72. if self.coverage_desc:
  73. if hasattr(self.coverage_desc, 'to_alipay_dict'):
  74. params['coverage_desc'] = self.coverage_desc.to_alipay_dict()
  75. else:
  76. params['coverage_desc'] = self.coverage_desc
  77. if self.coverage_name:
  78. if hasattr(self.coverage_name, 'to_alipay_dict'):
  79. params['coverage_name'] = self.coverage_name.to_alipay_dict()
  80. else:
  81. params['coverage_name'] = self.coverage_name
  82. if self.coverage_no:
  83. if hasattr(self.coverage_no, 'to_alipay_dict'):
  84. params['coverage_no'] = self.coverage_no.to_alipay_dict()
  85. else:
  86. params['coverage_no'] = self.coverage_no
  87. if self.is_fixed_period:
  88. if hasattr(self.is_fixed_period, 'to_alipay_dict'):
  89. params['is_fixed_period'] = self.is_fixed_period.to_alipay_dict()
  90. else:
  91. params['is_fixed_period'] = self.is_fixed_period
  92. if self.liabilities:
  93. if isinstance(self.liabilities, list):
  94. for i in range(0, len(self.liabilities)):
  95. element = self.liabilities[i]
  96. if hasattr(element, 'to_alipay_dict'):
  97. self.liabilities[i] = element.to_alipay_dict()
  98. if hasattr(self.liabilities, 'to_alipay_dict'):
  99. params['liabilities'] = self.liabilities.to_alipay_dict()
  100. else:
  101. params['liabilities'] = self.liabilities
  102. if self.periods:
  103. if isinstance(self.periods, list):
  104. for i in range(0, len(self.periods)):
  105. element = self.periods[i]
  106. if hasattr(element, 'to_alipay_dict'):
  107. self.periods[i] = element.to_alipay_dict()
  108. if hasattr(self.periods, 'to_alipay_dict'):
  109. params['periods'] = self.periods.to_alipay_dict()
  110. else:
  111. params['periods'] = self.periods
  112. if self.sum_insured:
  113. if hasattr(self.sum_insured, 'to_alipay_dict'):
  114. params['sum_insured'] = self.sum_insured.to_alipay_dict()
  115. else:
  116. params['sum_insured'] = self.sum_insured
  117. return params
  118. @staticmethod
  119. def from_alipay_dict(d):
  120. if not d:
  121. return None
  122. o = InsProdCoverage()
  123. if 'coverage_desc' in d:
  124. o.coverage_desc = d['coverage_desc']
  125. if 'coverage_name' in d:
  126. o.coverage_name = d['coverage_name']
  127. if 'coverage_no' in d:
  128. o.coverage_no = d['coverage_no']
  129. if 'is_fixed_period' in d:
  130. o.is_fixed_period = d['is_fixed_period']
  131. if 'liabilities' in d:
  132. o.liabilities = d['liabilities']
  133. if 'periods' in d:
  134. o.periods = d['periods']
  135. if 'sum_insured' in d:
  136. o.sum_insured = d['sum_insured']
  137. return o