瀏覽代碼

!277 merge
Merge pull request !277 from AE86/v_2.0

AE86 8 月之前
父節點
當前提交
83f6e02ff8
共有 17 個文件被更改,包括 69 次插入28 次删除
  1. 1 1
      README.md
  2. 1 1
      dbsyncer-connector/dbsyncer-connector-elasticsearch/src/main/resources/public/connector/addElasticsearch.html
  3. 1 2
      dbsyncer-connector/dbsyncer-connector-mysql/src/main/resources/public/connector/addDqlMySQL.html
  4. 1 2
      dbsyncer-connector/dbsyncer-connector-mysql/src/main/resources/public/connector/addMySQL.html
  5. 40 5
      dbsyncer-connector/dbsyncer-connector-oracle/src/main/java/org/dbsyncer/connector/oracle/logminer/parser/OracleColumnValue.java
  6. 1 2
      dbsyncer-connector/dbsyncer-connector-oracle/src/main/resources/public/connector/addDqlOracle.html
  7. 1 2
      dbsyncer-connector/dbsyncer-connector-oracle/src/main/resources/public/connector/addOracle.html
  8. 1 2
      dbsyncer-connector/dbsyncer-connector-postgresql/src/main/resources/public/connector/addDqlPostgreSQL.html
  9. 1 2
      dbsyncer-connector/dbsyncer-connector-postgresql/src/main/resources/public/connector/addPostgreSQL.html
  10. 1 1
      dbsyncer-connector/dbsyncer-connector-sqlite/src/main/resources/public/connector/addDqlSQLite.html
  11. 1 1
      dbsyncer-connector/dbsyncer-connector-sqlite/src/main/resources/public/connector/addSQLite.html
  12. 1 2
      dbsyncer-connector/dbsyncer-connector-sqlserver/src/main/resources/public/connector/addDqlSqlServer.html
  13. 1 1
      dbsyncer-connector/dbsyncer-connector-sqlserver/src/main/resources/public/connector/addSqlServer.html
  14. 13 0
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/model/ProductInfo.java
  15. 1 1
      dbsyncer-web/src/main/resources/public/connector/addRedis.html
  16. 1 1
      dbsyncer-web/src/main/resources/public/user/add.html
  17. 2 2
      dbsyncer-web/src/main/resources/public/user/edit.html

+ 1 - 1
README.md

@@ -42,7 +42,7 @@
 
 #### 版本介绍
 - dbsyncer-x.x.x.zip(开源版)
-- dbsyncer-enterprise-x.x.x.zip([专业版](https://mp.weixin.qq.com/s/9DP1jcL0n2f1dX76gfNz3A))
+- dbsyncer-enterprise-x.x.x.zip([专业版](https://gitee.com/ghi/dbsyncer/wikis/DBSyncer%E4%B8%93%E4%B8%9A%E7%89%88))
 
 #### 方式一 下载安装包
 1. 安装[JDK 1.8](https://www.oracle.com/java/technologies/jdk8-downloads.html)(省略详细)

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-elasticsearch/src/main/resources/public/connector/addElasticsearch.html

@@ -10,7 +10,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" name="password" type="password" maxlength="32" dbsyncer-valid="require" th:value="${connector?.config?.password}"/>
+            <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" />
         </div>
     </div>
     <div class="form-group">

+ 1 - 2
dbsyncer-connector/dbsyncer-connector-mysql/src/main/resources/public/connector/addDqlMySQL.html

@@ -10,8 +10,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" name="password" type="password" maxlength="32" dbsyncer-valid="require"
-                   th:value="${connector?.config?.password}"/>
+            <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" />
         </div>
     </div>
     <div class="form-group">

+ 1 - 2
dbsyncer-connector/dbsyncer-connector-mysql/src/main/resources/public/connector/addMySQL.html

@@ -10,8 +10,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" name="password" type="password" maxlength="32" dbsyncer-valid="require"
-                   th:value="${connector?.config?.password}"/>
+            <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" />
         </div>
     </div>
     <div class="form-group">

+ 40 - 5
dbsyncer-connector/dbsyncer-connector-oracle/src/main/java/org/dbsyncer/connector/oracle/logminer/parser/OracleColumnValue.java

@@ -48,18 +48,30 @@ public class OracleColumnValue extends AbstractColumnValue<Expression> {
         if (getValue() instanceof NullValue) {
             return true;
         }
-        if (getValue() instanceof IsNullExpression) {
-            return true;
-        }
         return super.isNull();
     }
 
     @Override
     public String asString() {
-        if (getValue() instanceof StringValue){
+        if (getValue() instanceof StringValue) {
             return ((StringValue) getValue()).getValue();
         }
-        return Objects.toString(getValue());
+
+        String val = Objects.toString(getValue());
+        if (val.startsWith("UNISTR('")) {
+            try {
+                String valueSub = val.substring(8, val.length() - 2);
+                if (StringUtil.isNotBlank(valueSub)) {
+                    return decodeUnicode(valueSub);
+                } else {
+                    return StringUtil.EMPTY;
+                }
+            } catch (Exception e) {
+                throw new RuntimeException("parse value [" + val + " ] failed ", e);
+            }
+        }
+
+        return val;
     }
 
     @Override
@@ -186,4 +198,27 @@ public class OracleColumnValue extends AbstractColumnValue<Expression> {
         R apply(String type, Object value);
 
     }
+
+    private String decodeUnicode(String dataStr) {
+        StringBuilder result = new StringBuilder();
+        int i = 0;
+        while (i < dataStr.length()) {
+            if (dataStr.charAt(i) == '\\') {
+                // 读取接下来四个字符作为十六进制数
+                String unicodeDigits = dataStr.substring(i + 1, i + 5);
+                // 将十六进制数转换为整数(Unicode码点)
+                int unicodeValue = Integer.parseInt(unicodeDigits, 16);
+                // 转换为字符并追加到结果
+                result.append((char) unicodeValue);
+                i += 5;  // 跳过已经处理的部分(1个 \ 和 4个十六进制数字)
+            } else {
+                // 如果不是 \ 开头的部分,直接追加原始字符
+                result.append(dataStr.charAt(i));
+                i++;
+            }
+        }
+        return result.toString();
+    }
+
+
 }

+ 1 - 2
dbsyncer-connector/dbsyncer-connector-oracle/src/main/resources/public/connector/addDqlOracle.html

@@ -10,8 +10,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" name="password" type="password" maxlength="32" dbsyncer-valid="require"
-                   th:value="${connector?.config?.password}"/>
+            <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" />
         </div>
     </div>
     <div class="form-group">

+ 1 - 2
dbsyncer-connector/dbsyncer-connector-oracle/src/main/resources/public/connector/addOracle.html

@@ -10,8 +10,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" name="password" type="password" maxlength="32" dbsyncer-valid="require"
-                   th:value="${connector?.config?.password}"/>
+            <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" />
         </div>
     </div>
     <div class="form-group">

+ 1 - 2
dbsyncer-connector/dbsyncer-connector-postgresql/src/main/resources/public/connector/addDqlPostgreSQL.html

@@ -11,8 +11,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" dbsyncer-valid="require" maxlength="32" name="password"
-                   th:value="${connector?.config?.password}" type="password"/>
+            <input class="form-control" dbsyncer-valid="require" maxlength="64" name="password" type="password"/>
         </div>
     </div>
     <div class="form-group">

+ 1 - 2
dbsyncer-connector/dbsyncer-connector-postgresql/src/main/resources/public/connector/addPostgreSQL.html

@@ -11,8 +11,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" dbsyncer-valid="require" maxlength="32" name="password"
-                   th:value="${connector?.config?.password}" type="password"/>
+            <input class="form-control" dbsyncer-valid="require" maxlength="64" name="password" type="password"/>
         </div>
     </div>
     <div class="form-group">

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-sqlite/src/main/resources/public/connector/addDqlSQLite.html

@@ -5,7 +5,7 @@
 <div th:fragment="content">
     <div class="form-group">
         <input class="form-control" name="username" type="hidden" maxlength="32" dbsyncer-valid="require" value="NONE"/>
-        <input class="form-control" name="password" type="hidden" maxlength="32" dbsyncer-valid="require" value="NONE"/>
+        <input class="form-control" name="password" type="hidden" maxlength="64" dbsyncer-valid="require" value="NONE"/>
         <label class="col-sm-2 control-label">架构名<strong class="text-primary">*</strong></label>
         <div class="col-sm-10">
             <input class="form-control" name="schema" type="text" maxlength="32" dbsyncer-valid="require" placeholder="main" th:value="${connector?.config?.schema} ?: 'main'"/>

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-sqlite/src/main/resources/public/connector/addSQLite.html

@@ -5,7 +5,7 @@
 <div th:fragment="content">
     <div class="form-group">
             <input class="form-control" name="username" type="hidden" maxlength="32" dbsyncer-valid="require" value="NONE"/>
-            <input class="form-control" name="password" type="hidden" maxlength="32" dbsyncer-valid="require" value="NONE"/>
+            <input class="form-control" name="password" type="hidden" maxlength="64" dbsyncer-valid="require" value="NONE"/>
         <label class="col-sm-2 control-label">架构名<strong class="text-primary">*</strong></label>
         <div class="col-sm-10">
             <input class="form-control" name="schema" type="text" maxlength="32" dbsyncer-valid="require" placeholder="main" th:value="${connector?.config?.schema} ?: 'main'"/>

+ 1 - 2
dbsyncer-connector/dbsyncer-connector-sqlserver/src/main/resources/public/connector/addDqlSqlServer.html

@@ -10,8 +10,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" name="password" type="password" maxlength="32" dbsyncer-valid="require"
-                   th:value="${connector?.config?.password}"/>
+            <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" />
         </div>
     </div>
     <div class="form-group">

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-sqlserver/src/main/resources/public/connector/addSqlServer.html

@@ -10,7 +10,7 @@
         </div>
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-4 ">
-            <input class="form-control" name="password" type="password" maxlength="32" dbsyncer-valid="require" th:value="${connector?.config?.password}"/>
+            <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" />
         </div>
     </div>
     <div class="form-group">

+ 13 - 0
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/model/ProductInfo.java

@@ -15,6 +15,11 @@ import java.util.List;
  */
 public class ProductInfo {
 
+    /**
+     * 机器码
+     */
+    private String licenseKey;
+
     /**
      * 公司名称
      */
@@ -45,6 +50,14 @@ public class ProductInfo {
      */
     private List<Product> products = new ArrayList<>();
 
+    public String getLicenseKey() {
+        return licenseKey;
+    }
+
+    public void setLicenseKey(String licenseKey) {
+        this.licenseKey = licenseKey;
+    }
+
     public String getCompany() {
         return company;
     }

+ 1 - 1
dbsyncer-web/src/main/resources/public/connector/addRedis.html

@@ -13,7 +13,7 @@
     <div class="form-group">
         <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
         <div class="col-sm-10">
-            <input class="form-control" name="password" type="password" maxlength="32" dbsyncer-valid="require" />
+            <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" />
         </div>
     </div>
     <div class="form-group">

+ 1 - 1
dbsyncer-web/src/main/resources/public/user/add.html

@@ -54,7 +54,7 @@ xmlns:th="http://www.thymeleaf.org" lang="zh-CN">
               <div class="form-group">
                 <label class="col-sm-2 control-label">密码<strong class="text-primary">*</strong></label>
                 <div class="col-sm-10">
-                  <input class="form-control" name="password" type="password" maxlength="50" dbsyncer-valid="require" placeholder="密码"/>
+                  <input class="form-control" name="password" type="password" maxlength="64" dbsyncer-valid="require" placeholder="密码"/>
                 </div>
               </div>
 

+ 2 - 2
dbsyncer-web/src/main/resources/public/user/edit.html

@@ -61,7 +61,7 @@ xmlns:th="http://www.thymeleaf.org" lang="zh-CN">
               <div class="form-group">
                 <label class="col-sm-2 control-label">旧密码</label>
                 <div class="col-sm-10">
-                  <input class="form-control" name="oldPwd" type="password" maxlength="50" placeholder="密码"/>
+                  <input class="form-control" name="oldPwd" type="password" maxlength="64" placeholder="密码"/>
                 </div>
               </div>
 
@@ -69,7 +69,7 @@ xmlns:th="http://www.thymeleaf.org" lang="zh-CN">
               <div class="form-group">
                 <label class="col-sm-2 control-label">新密码</label>
                 <div class="col-sm-10">
-                  <input class="form-control" name="newPwd" type="password" maxlength="50" placeholder="密码"/>
+                  <input class="form-control" name="newPwd" type="password" maxlength="64" placeholder="密码"/>
                 </div>
               </div>