LogisticsExternalInfo.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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.LogisticsExternalCarrierInfo import LogisticsExternalCarrierInfo
  6. class LogisticsExternalInfo(object):
  7. def __init__(self):
  8. self._carrier_info_list = None
  9. self._carrier_sub_count = None
  10. @property
  11. def carrier_info_list(self):
  12. return self._carrier_info_list
  13. @carrier_info_list.setter
  14. def carrier_info_list(self, value):
  15. if isinstance(value, list):
  16. self._carrier_info_list = list()
  17. for i in value:
  18. if isinstance(i, LogisticsExternalCarrierInfo):
  19. self._carrier_info_list.append(i)
  20. else:
  21. self._carrier_info_list.append(LogisticsExternalCarrierInfo.from_alipay_dict(i))
  22. @property
  23. def carrier_sub_count(self):
  24. return self._carrier_sub_count
  25. @carrier_sub_count.setter
  26. def carrier_sub_count(self, value):
  27. self._carrier_sub_count = value
  28. def to_alipay_dict(self):
  29. params = dict()
  30. if self.carrier_info_list:
  31. if isinstance(self.carrier_info_list, list):
  32. for i in range(0, len(self.carrier_info_list)):
  33. element = self.carrier_info_list[i]
  34. if hasattr(element, 'to_alipay_dict'):
  35. self.carrier_info_list[i] = element.to_alipay_dict()
  36. if hasattr(self.carrier_info_list, 'to_alipay_dict'):
  37. params['carrier_info_list'] = self.carrier_info_list.to_alipay_dict()
  38. else:
  39. params['carrier_info_list'] = self.carrier_info_list
  40. if self.carrier_sub_count:
  41. if hasattr(self.carrier_sub_count, 'to_alipay_dict'):
  42. params['carrier_sub_count'] = self.carrier_sub_count.to_alipay_dict()
  43. else:
  44. params['carrier_sub_count'] = self.carrier_sub_count
  45. return params
  46. @staticmethod
  47. def from_alipay_dict(d):
  48. if not d:
  49. return None
  50. o = LogisticsExternalInfo()
  51. if 'carrier_info_list' in d:
  52. o.carrier_info_list = d['carrier_info_list']
  53. if 'carrier_sub_count' in d:
  54. o.carrier_sub_count = d['carrier_sub_count']
  55. return o