From c49b95fc3576f9a5dad5bcaa6874157d5091f6e0 Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Thu, 27 Aug 2020 09:19:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 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 7304b90..14a5d3d 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,17 +13,21 @@
 public class HashModTableSuffix implements TableSuffix {
 
     private String hash;
-    private static final int MOD = 100;
+    private Long tableSize = 64L;
+    private String tableSuffix="-000";
 
-    public HashModTableSuffix(String hash) {
+    public HashModTableSuffix(String hash,long tableSize, String tableSuffix) {
         if (StringUtils.isEmpty(hash)) {
             throw new IllegalArgumentException("hash should not be null or empty");
         }
         this.hash = hash;
+        this.tableSize=tableSize;
+        this.tableSuffix=tableSuffix;
     }
 
     @Override
     public String getSuffix() {
-        return String.format("_%d", hash.hashCode() / MOD);
+        String format = "%0" + (tableSuffix.length() - 1) + "d";
+        return "_"+String.format(format, Math.abs(hash.hashCode()) % tableSize);
     }
 }

--
Gitblit v1.8.0