Bladeren bron

添加 Pager 分页数据对象

reghao 3 jaren geleden
bovenliggende
commit
196ecebc14

+ 5 - 6
.gitignore

@@ -1,7 +1,6 @@
-*.iml
-
 .idea/
-
-tool/target/
-
-jdk/target/
+*.iml
+*target*/
+*logs*/
+*.jar
+*git.properties*

+ 1 - 0
jdk/src/main/java/cn/reghao/jutil/jdk/db/BaseObject.java

@@ -9,6 +9,7 @@ import java.time.LocalDateTime;
  */
 public class BaseObject<T> implements Serializable {
     private static final long serialVersionUID = 1L;
+
     protected T id;
     // 逻辑删除
     private Boolean deleted;

+ 36 - 0
jdk/src/main/java/cn/reghao/jutil/jdk/db/Pager.java

@@ -0,0 +1,36 @@
+package cn.reghao.jutil.jdk.db;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author reghao
+ * @date 2022-05-31 16:23:04
+ */
+public class Pager<T> implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private long total;
+    private int pageSize;
+    private long totalPages;
+    private int currentPage;
+    private List<T> list;
+    private boolean hasNext;
+
+    private Pager(long total, int pageSize, long totalPages, int currentPage, List<T> list, boolean hasNext) {
+        this.total = total;
+        this.pageSize = pageSize;
+        this.totalPages = totalPages;
+        this.currentPage = currentPage;
+        this.list = list;
+        this.hasNext = hasNext;
+    }
+
+    public static <T> Pager<T> pageList(long total, int pageSize, int currentPage, List<T> list) {
+        long pages = total/pageSize;
+        int mod = (int)total%pageSize;
+        long totalPages = (mod == 0 ? pages : pages+1);
+        boolean hasNext = total - ((long) pageSize *currentPage) > 0;
+        return new Pager<>(total, pageSize, totalPages, currentPage, list, hasNext);
+    }
+}

+ 3 - 0
jdk/src/main/java/cn/reghao/jutil/jdk/http/WebClient.java

@@ -5,6 +5,7 @@ import java.net.URI;
 import java.net.http.HttpClient;
 import java.net.http.HttpRequest;
 import java.net.http.HttpResponse;
+import java.time.Duration;
 import java.util.Map;
 
 /**
@@ -31,6 +32,7 @@ public class WebClient implements WebRequest {
         HttpClient client = HttpClient.newHttpClient();
         HttpRequest request = HttpRequest.newBuilder()
                 .uri(URI.create(url))
+                .timeout(Duration.ofSeconds(30))
                 .build();
         try {
             HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
@@ -52,6 +54,7 @@ public class WebClient implements WebRequest {
                 .uri(URI.create(url))
                 .header("Content-Type", "application/json")
                 .POST(HttpRequest.BodyPublishers.ofString(json))
+                .timeout(Duration.ofSeconds(30))
                 .build();
 
         try {

+ 3 - 4
jdk/src/main/java/cn/reghao/jutil/jdk/machine/id/MachineIdLinux.java

@@ -16,13 +16,12 @@ public class MachineIdLinux implements MachineId {
 
     @Override
     public String id() {
-        String noMachineId = "no-machine-id";
-        if (!machineId.isBlank() && !machineId.equals(noMachineId)) {
+        if (!machineId.isBlank()) {
             return machineId;
         }
 
-        File file = new File("/etc/machine-id");
         try {
+            File file = new File("/etc/machine-id");
             BufferedReader in =  new BufferedReader(new InputStreamReader(new FileInputStream(file)));
             machineId = in.readLine();
             in.close();
@@ -30,7 +29,7 @@ public class MachineIdLinux implements MachineId {
             e.printStackTrace();
         }
 
-        return machineId.isBlank() ? noMachineId : machineId;
+        return machineId.isBlank() ? "no-machine-id" : machineId;
     }
 
     @Override

+ 1 - 1
jdk/src/main/java/cn/reghao/jutil/jdk/shell/ShellExecutor.java

@@ -8,7 +8,7 @@ import java.util.UUID;
  * @date 2019-08-20 23:45:06
  */
 public class ShellExecutor {
-    private final ProcessBuilder pb = new ProcessBuilder();;
+    private final ProcessBuilder pb = new ProcessBuilder();
 
     /**
      * 传入单个命令和其参数