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