ValidDateInfo.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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.PeriodInfo import PeriodInfo
  6. class ValidDateInfo(object):
  7. def __init__(self):
  8. self._end_time = None
  9. self._relative_time = None
  10. self._start_time = None
  11. self._time_mode = None
  12. @property
  13. def end_time(self):
  14. return self._end_time
  15. @end_time.setter
  16. def end_time(self, value):
  17. self._end_time = value
  18. @property
  19. def relative_time(self):
  20. return self._relative_time
  21. @relative_time.setter
  22. def relative_time(self, value):
  23. if isinstance(value, PeriodInfo):
  24. self._relative_time = value
  25. else:
  26. self._relative_time = PeriodInfo.from_alipay_dict(value)
  27. @property
  28. def start_time(self):
  29. return self._start_time
  30. @start_time.setter
  31. def start_time(self, value):
  32. self._start_time = value
  33. @property
  34. def time_mode(self):
  35. return self._time_mode
  36. @time_mode.setter
  37. def time_mode(self, value):
  38. self._time_mode = value
  39. def to_alipay_dict(self):
  40. params = dict()
  41. if self.end_time:
  42. if hasattr(self.end_time, 'to_alipay_dict'):
  43. params['end_time'] = self.end_time.to_alipay_dict()
  44. else:
  45. params['end_time'] = self.end_time
  46. if self.relative_time:
  47. if hasattr(self.relative_time, 'to_alipay_dict'):
  48. params['relative_time'] = self.relative_time.to_alipay_dict()
  49. else:
  50. params['relative_time'] = self.relative_time
  51. if self.start_time:
  52. if hasattr(self.start_time, 'to_alipay_dict'):
  53. params['start_time'] = self.start_time.to_alipay_dict()
  54. else:
  55. params['start_time'] = self.start_time
  56. if self.time_mode:
  57. if hasattr(self.time_mode, 'to_alipay_dict'):
  58. params['time_mode'] = self.time_mode.to_alipay_dict()
  59. else:
  60. params['time_mode'] = self.time_mode
  61. return params
  62. @staticmethod
  63. def from_alipay_dict(d):
  64. if not d:
  65. return None
  66. o = ValidDateInfo()
  67. if 'end_time' in d:
  68. o.end_time = d['end_time']
  69. if 'relative_time' in d:
  70. o.relative_time = d['relative_time']
  71. if 'start_time' in d:
  72. o.start_time = d['start_time']
  73. if 'time_mode' in d:
  74. o.time_mode = d['time_mode']
  75. return o