From d096953776519f10cf99e73b9d019a3c4aa5cabe Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Wed, 24 Mar 2021 19:07:50 +0800
Subject: [PATCH] 1、完善哈希表后缀生成方法 2、增加哈希表后缀生成工具类(只传入字符串参数,其他参数用方法中的默认值)

---
 kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java b/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java
index 14a5d3d..f9686b1 100644
--- a/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java
+++ b/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java
@@ -13,21 +13,28 @@
 public class HashModTableSuffix implements TableSuffix {
 
     private String hash;
-    private Long tableSize = 64L;
-    private String tableSuffix="-000";
+    private Long tableSize = 128L;
+    private String tableSuffix="_000";
 
     public HashModTableSuffix(String hash,long tableSize, String tableSuffix) {
         if (StringUtils.isEmpty(hash)) {
             throw new IllegalArgumentException("hash should not be null or empty");
+        } else {
+            this.hash = hash;
         }
-        this.hash = hash;
-        this.tableSize=tableSize;
-        this.tableSuffix=tableSuffix;
+        if (tableSize != 0) {
+            this.tableSize = tableSize;
+        }
+        if (!StringUtils.isEmpty(tableSuffix)) {
+            this.tableSuffix=tableSuffix;
+        }
+
     }
 
     @Override
     public String getSuffix() {
         String format = "%0" + (tableSuffix.length() - 1) + "d";
-        return "_"+String.format(format, Math.abs(hash.hashCode()) % tableSize);
+        return tableSuffix.substring(0,1)+String.format(format, Math.abs(hash.hashCode()) % tableSize);
     }
+
 }

--
Gitblit v1.8.0