MorphoPaginator.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.constant.ParamConstants import *
  5. class MorphoPaginator(object):
  6. def __init__(self):
  7. self._page_count = None
  8. self._page_num = None
  9. self._page_size = None
  10. self._total = None
  11. @property
  12. def page_count(self):
  13. return self._page_count
  14. @page_count.setter
  15. def page_count(self, value):
  16. self._page_count = value
  17. @property
  18. def page_num(self):
  19. return self._page_num
  20. @page_num.setter
  21. def page_num(self, value):
  22. self._page_num = value
  23. @property
  24. def page_size(self):
  25. return self._page_size
  26. @page_size.setter
  27. def page_size(self, value):
  28. self._page_size = value
  29. @property
  30. def total(self):
  31. return self._total
  32. @total.setter
  33. def total(self, value):
  34. self._total = value
  35. def to_alipay_dict(self):
  36. params = dict()
  37. if self.page_count:
  38. if hasattr(self.page_count, 'to_alipay_dict'):
  39. params['page_count'] = self.page_count.to_alipay_dict()
  40. else:
  41. params['page_count'] = self.page_count
  42. if self.page_num:
  43. if hasattr(self.page_num, 'to_alipay_dict'):
  44. params['page_num'] = self.page_num.to_alipay_dict()
  45. else:
  46. params['page_num'] = self.page_num
  47. if self.page_size:
  48. if hasattr(self.page_size, 'to_alipay_dict'):
  49. params['page_size'] = self.page_size.to_alipay_dict()
  50. else:
  51. params['page_size'] = self.page_size
  52. if self.total:
  53. if hasattr(self.total, 'to_alipay_dict'):
  54. params['total'] = self.total.to_alipay_dict()
  55. else:
  56. params['total'] = self.total
  57. return params
  58. @staticmethod
  59. def from_alipay_dict(d):
  60. if not d:
  61. return None
  62. o = MorphoPaginator()
  63. if 'page_count' in d:
  64. o.page_count = d['page_count']
  65. if 'page_num' in d:
  66. o.page_num = d['page_num']
  67. if 'page_size' in d:
  68. o.page_size = d['page_size']
  69. if 'total' in d:
  70. o.total = d['total']
  71. return o