lianshufeng il y a 1 an
Parent
commit
8e2686996c

+ 33 - 0
components/data/BaseData/src/main/java/com/github/microservice/components/data/base/page/PageableModel.java

@@ -0,0 +1,33 @@
+package com.github.microservice.components.data.base.page;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.util.StringUtils;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PageableModel {
+
+    @JsonProperty("page")
+    private int page;
+
+    @JsonProperty("size")
+    private int size;
+
+    @JsonProperty("sort")
+    private String sort;
+
+    @JsonProperty("direction")
+    private Sort.Direction direction = Sort.Direction.DESC;
+
+
+    public Pageable toPageable() {
+        return StringUtils.hasText(sort) ? PageRequest.of(page, size, Sort.by(direction, sort)) : PageRequest.of(page, size);
+    }
+}