ResultTable.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.ytpm.general;
  2. import com.github.pagehelper.PageInfo;
  3. import lombok.Data;
  4. import java.io.Serializable;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. /**
  8. * @author marx
  9. * @date 2022/5/13 10:27
  10. * @description 列表数据返回实体
  11. */
  12. @Data
  13. public class ResultTable<T> implements Serializable {
  14. private Integer code;
  15. private String message;
  16. private List<T> data;
  17. private PageMeta pageMeta;
  18. public ResultTable() {
  19. }
  20. public ResultTable(Integer code, String message, List<T> data, PageMeta pageMeta) {
  21. this.code = code;
  22. this.message = message;
  23. this.data = data;
  24. this.pageMeta = pageMeta;
  25. }
  26. public ResultTable(Integer code, String message) {
  27. this.code = code;
  28. this.message = message;
  29. }
  30. /**
  31. * 查询成功,返回实体
  32. *
  33. * @param list 返回列表集合
  34. * @param total 总条数
  35. * @param perPage 单页数量
  36. * @param currentPage 当前页码
  37. * @param lastPage 总页码
  38. * @return
  39. */
  40. public static <T> ResultTable resultTableOk(List<T> list, Long total, Integer perPage, Integer currentPage, Integer lastPage) {
  41. if(null == list){
  42. list = new ArrayList<>();
  43. }
  44. PageMeta pageMeta = new PageMeta(total, perPage, currentPage, lastPage);
  45. return new ResultTable<T>(StatusCode.OK, RepMessage.QUERY_SUCCESS, list, pageMeta);
  46. }
  47. /**
  48. * 查询成功,返回实体
  49. *
  50. * @param pageInfo 分页插件返回实体
  51. * @return
  52. */
  53. public static <T> ResultTable<T> resultTableOk(PageInfo<T> pageInfo) {
  54. //当前页
  55. int currentPage = pageInfo.getPageNum();
  56. //每页的数量
  57. int perPage = pageInfo.getPageSize();
  58. //总页数
  59. int lastPage = pageInfo.getPages();
  60. long total = pageInfo.getTotal();
  61. List<T> list = pageInfo.getList();
  62. if(null == list){
  63. list = new ArrayList<>();
  64. }
  65. PageMeta pageMeta = new PageMeta(total, perPage, currentPage, lastPage);
  66. return new ResultTable(StatusCode.OK, RepMessage.QUERY_SUCCESS, list, pageMeta);
  67. }
  68. /**
  69. * 查询失败,返回实体
  70. * @param code
  71. * @param msg
  72. * @return
  73. */
  74. public static ResultTable resultFail(int code, String msg) {
  75. return new ResultTable(code, msg);
  76. }
  77. }