diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/ShortURLUtil.java b/src/main/java/com/supwisdom/dlpay/framework/util/ShortURLUtil.java
index b9b3a6e..3c126f9 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/ShortURLUtil.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/ShortURLUtil.java
@@ -26,8 +26,11 @@
         return doGetBaiduShortUrl(longUrl);
     }
 
-    public String doGetShortId() {
-        return RandomStringUtils.random(6, "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
+    public String doGetShortId(int length) {
+        if (length <= 0) {
+            length = 6;
+        }
+        return RandomStringUtils.random(length, "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
     }
 
     public String doGetBaiduShortUrl(String longUrl) {
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/WaterBudinessConstants.java b/src/main/java/com/supwisdom/dlpay/framework/util/WaterBudinessConstants.java
index a0cbaf5..009e288 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/WaterBudinessConstants.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/WaterBudinessConstants.java
@@ -2,6 +2,7 @@
 
 public class WaterBudinessConstants {
     public final static String waterAuthUrl = "water_auth_url";
+    public final static String WATER_SHORTID_LENGTH = "water_shortid_length";
     public final static String WATER_SHORTURL_BAIDU = "water_shorturl_baidu";
     public final static String WATER_SHORTURL_BAIDU_TOKEN = "water_shorturl_baidu_token";
     public final static String WATER_SHOP_ACCNO = "water_shopaccno";
diff --git a/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
index c50a717..dfcc823 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
@@ -194,8 +194,12 @@
             //2.将流水号及认证地址返回给终端
             //生成短id 将id与认证url的映射存入redis
             var shortId: String
+            var length = businessparaService.findByParakey(WaterBudinessConstants.WATER_SHORTID_LENGTH).paraval
+            if (length == null) {
+                length = "4"
+            }
             do{
-                shortId = shortURLUtil.doGetShortId()
+                shortId = shortURLUtil.doGetShortId(length.toInt())
                 val hasKey = redisTemplate.hasKey(Constants.REDISKEY_SHORTURL + shortId)
             }while (hasKey)
             redisTemplate.opsForValue().set(Constants.REDISKEY_SHORTURL + shortId, savedTrans.cobillno, 200, TimeUnit.SECONDS)
