SchemaVO.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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.LoanTerm import LoanTerm
  6. class SchemaVO(object):
  7. def __init__(self):
  8. self._daily_risk_int_rate = None
  9. self._max_apply_amt = None
  10. self._min_apply_amt = None
  11. self._repay_mode_list = None
  12. self._term_list = None
  13. @property
  14. def daily_risk_int_rate(self):
  15. return self._daily_risk_int_rate
  16. @daily_risk_int_rate.setter
  17. def daily_risk_int_rate(self, value):
  18. self._daily_risk_int_rate = value
  19. @property
  20. def max_apply_amt(self):
  21. return self._max_apply_amt
  22. @max_apply_amt.setter
  23. def max_apply_amt(self, value):
  24. self._max_apply_amt = value
  25. @property
  26. def min_apply_amt(self):
  27. return self._min_apply_amt
  28. @min_apply_amt.setter
  29. def min_apply_amt(self, value):
  30. self._min_apply_amt = value
  31. @property
  32. def repay_mode_list(self):
  33. return self._repay_mode_list
  34. @repay_mode_list.setter
  35. def repay_mode_list(self, value):
  36. if isinstance(value, list):
  37. self._repay_mode_list = list()
  38. for i in value:
  39. self._repay_mode_list.append(i)
  40. @property
  41. def term_list(self):
  42. return self._term_list
  43. @term_list.setter
  44. def term_list(self, value):
  45. if isinstance(value, list):
  46. self._term_list = list()
  47. for i in value:
  48. if isinstance(i, LoanTerm):
  49. self._term_list.append(i)
  50. else:
  51. self._term_list.append(LoanTerm.from_alipay_dict(i))
  52. def to_alipay_dict(self):
  53. params = dict()
  54. if self.daily_risk_int_rate:
  55. if hasattr(self.daily_risk_int_rate, 'to_alipay_dict'):
  56. params['daily_risk_int_rate'] = self.daily_risk_int_rate.to_alipay_dict()
  57. else:
  58. params['daily_risk_int_rate'] = self.daily_risk_int_rate
  59. if self.max_apply_amt:
  60. if hasattr(self.max_apply_amt, 'to_alipay_dict'):
  61. params['max_apply_amt'] = self.max_apply_amt.to_alipay_dict()
  62. else:
  63. params['max_apply_amt'] = self.max_apply_amt
  64. if self.min_apply_amt:
  65. if hasattr(self.min_apply_amt, 'to_alipay_dict'):
  66. params['min_apply_amt'] = self.min_apply_amt.to_alipay_dict()
  67. else:
  68. params['min_apply_amt'] = self.min_apply_amt
  69. if self.repay_mode_list:
  70. if isinstance(self.repay_mode_list, list):
  71. for i in range(0, len(self.repay_mode_list)):
  72. element = self.repay_mode_list[i]
  73. if hasattr(element, 'to_alipay_dict'):
  74. self.repay_mode_list[i] = element.to_alipay_dict()
  75. if hasattr(self.repay_mode_list, 'to_alipay_dict'):
  76. params['repay_mode_list'] = self.repay_mode_list.to_alipay_dict()
  77. else:
  78. params['repay_mode_list'] = self.repay_mode_list
  79. if self.term_list:
  80. if isinstance(self.term_list, list):
  81. for i in range(0, len(self.term_list)):
  82. element = self.term_list[i]
  83. if hasattr(element, 'to_alipay_dict'):
  84. self.term_list[i] = element.to_alipay_dict()
  85. if hasattr(self.term_list, 'to_alipay_dict'):
  86. params['term_list'] = self.term_list.to_alipay_dict()
  87. else:
  88. params['term_list'] = self.term_list
  89. return params
  90. @staticmethod
  91. def from_alipay_dict(d):
  92. if not d:
  93. return None
  94. o = SchemaVO()
  95. if 'daily_risk_int_rate' in d:
  96. o.daily_risk_int_rate = d['daily_risk_int_rate']
  97. if 'max_apply_amt' in d:
  98. o.max_apply_amt = d['max_apply_amt']
  99. if 'min_apply_amt' in d:
  100. o.min_apply_amt = d['min_apply_amt']
  101. if 'repay_mode_list' in d:
  102. o.repay_mode_list = d['repay_mode_list']
  103. if 'term_list' in d:
  104. o.term_list = d['term_list']
  105. return o