MarketingInfo.py 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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.PromotionDetail import PromotionDetail
  6. class MarketingInfo(object):
  7. def __init__(self):
  8. self._promotion_list = None
  9. self._total_amount = None
  10. self._use_mode = None
  11. @property
  12. def promotion_list(self):
  13. return self._promotion_list
  14. @promotion_list.setter
  15. def promotion_list(self, value):
  16. if isinstance(value, list):
  17. self._promotion_list = list()
  18. for i in value:
  19. if isinstance(i, PromotionDetail):
  20. self._promotion_list.append(i)
  21. else:
  22. self._promotion_list.append(PromotionDetail.from_alipay_dict(i))
  23. @property
  24. def total_amount(self):
  25. return self._total_amount
  26. @total_amount.setter
  27. def total_amount(self, value):
  28. self._total_amount = value
  29. @property
  30. def use_mode(self):
  31. return self._use_mode
  32. @use_mode.setter
  33. def use_mode(self, value):
  34. self._use_mode = value
  35. def to_alipay_dict(self):
  36. params = dict()
  37. if self.promotion_list:
  38. if isinstance(self.promotion_list, list):
  39. for i in range(0, len(self.promotion_list)):
  40. element = self.promotion_list[i]
  41. if hasattr(element, 'to_alipay_dict'):
  42. self.promotion_list[i] = element.to_alipay_dict()
  43. if hasattr(self.promotion_list, 'to_alipay_dict'):
  44. params['promotion_list'] = self.promotion_list.to_alipay_dict()
  45. else:
  46. params['promotion_list'] = self.promotion_list
  47. if self.total_amount:
  48. if hasattr(self.total_amount, 'to_alipay_dict'):
  49. params['total_amount'] = self.total_amount.to_alipay_dict()
  50. else:
  51. params['total_amount'] = self.total_amount
  52. if self.use_mode:
  53. if hasattr(self.use_mode, 'to_alipay_dict'):
  54. params['use_mode'] = self.use_mode.to_alipay_dict()
  55. else:
  56. params['use_mode'] = self.use_mode
  57. return params
  58. @staticmethod
  59. def from_alipay_dict(d):
  60. if not d:
  61. return None
  62. o = MarketingInfo()
  63. if 'promotion_list' in d:
  64. o.promotion_list = d['promotion_list']
  65. if 'total_amount' in d:
  66. o.total_amount = d['total_amount']
  67. if 'use_mode' in d:
  68. o.use_mode = d['use_mode']
  69. return o