PaginationDish.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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.KbdishInfo import KbdishInfo
  6. class PaginationDish(object):
  7. def __init__(self):
  8. self._list = None
  9. self._page_no = None
  10. self._page_size = None
  11. self._total_count = None
  12. self._total_page = None
  13. @property
  14. def list(self):
  15. return self._list
  16. @list.setter
  17. def list(self, value):
  18. if isinstance(value, list):
  19. self._list = list()
  20. for i in value:
  21. if isinstance(i, KbdishInfo):
  22. self._list.append(i)
  23. else:
  24. self._list.append(KbdishInfo.from_alipay_dict(i))
  25. @property
  26. def page_no(self):
  27. return self._page_no
  28. @page_no.setter
  29. def page_no(self, value):
  30. self._page_no = value
  31. @property
  32. def page_size(self):
  33. return self._page_size
  34. @page_size.setter
  35. def page_size(self, value):
  36. self._page_size = value
  37. @property
  38. def total_count(self):
  39. return self._total_count
  40. @total_count.setter
  41. def total_count(self, value):
  42. self._total_count = value
  43. @property
  44. def total_page(self):
  45. return self._total_page
  46. @total_page.setter
  47. def total_page(self, value):
  48. self._total_page = value
  49. def to_alipay_dict(self):
  50. params = dict()
  51. if self.list:
  52. if isinstance(self.list, list):
  53. for i in range(0, len(self.list)):
  54. element = self.list[i]
  55. if hasattr(element, 'to_alipay_dict'):
  56. self.list[i] = element.to_alipay_dict()
  57. if hasattr(self.list, 'to_alipay_dict'):
  58. params['list'] = self.list.to_alipay_dict()
  59. else:
  60. params['list'] = self.list
  61. if self.page_no:
  62. if hasattr(self.page_no, 'to_alipay_dict'):
  63. params['page_no'] = self.page_no.to_alipay_dict()
  64. else:
  65. params['page_no'] = self.page_no
  66. if self.page_size:
  67. if hasattr(self.page_size, 'to_alipay_dict'):
  68. params['page_size'] = self.page_size.to_alipay_dict()
  69. else:
  70. params['page_size'] = self.page_size
  71. if self.total_count:
  72. if hasattr(self.total_count, 'to_alipay_dict'):
  73. params['total_count'] = self.total_count.to_alipay_dict()
  74. else:
  75. params['total_count'] = self.total_count
  76. if self.total_page:
  77. if hasattr(self.total_page, 'to_alipay_dict'):
  78. params['total_page'] = self.total_page.to_alipay_dict()
  79. else:
  80. params['total_page'] = self.total_page
  81. return params
  82. @staticmethod
  83. def from_alipay_dict(d):
  84. if not d:
  85. return None
  86. o = PaginationDish()
  87. if 'list' in d:
  88. o.list = d['list']
  89. if 'page_no' in d:
  90. o.page_no = d['page_no']
  91. if 'page_size' in d:
  92. o.page_size = d['page_size']
  93. if 'total_count' in d:
  94. o.total_count = d['total_count']
  95. if 'total_page' in d:
  96. o.total_page = d['total_page']
  97. return o