瀏覽代碼

update sys config

AE86 5 年之前
父節點
當前提交
6d5e7d3348

+ 9 - 0
dbsyncer-biz/src/main/java/org/dbsyncer/biz/ConfigService.java

@@ -2,6 +2,7 @@ package org.dbsyncer.biz;
 
 import org.dbsyncer.biz.vo.ConfigVo;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -31,4 +32,12 @@ public interface ConfigService {
      * @return
      */
     String getPassword();
+
+    /**
+     * 获取所有配置
+     *
+     * @return
+     */
+    List<ConfigVo> queryConfig();
+
 }

+ 8 - 0
dbsyncer-biz/src/main/java/org/dbsyncer/biz/checker/impl/config/ConfigChecker.java

@@ -1,6 +1,7 @@
 package org.dbsyncer.biz.checker.impl.config;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.math.NumberUtils;
 import org.dbsyncer.biz.BizException;
 import org.dbsyncer.biz.checker.AbstractChecker;
 import org.dbsyncer.common.util.SHA1Util;
@@ -76,6 +77,13 @@ public class ConfigChecker extends AbstractChecker {
         }
         logService.log(LogType.SystemLog.INFO, "修改系统配置");
 
+        // 刷新监控间隔(秒)
+        String refreshInterval = params.get("refreshInterval");
+        if(StringUtils.isNotBlank(refreshInterval)){
+            int time = NumberUtils.toInt(refreshInterval, 10);
+            config.setRefreshInterval(time);
+        }
+
         // 修改基本配置
         this.modifyConfigModel(config, params);
         return config;

+ 13 - 1
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/ConfigServiceImpl.java

@@ -8,12 +8,14 @@ import org.dbsyncer.manager.Manager;
 import org.dbsyncer.parser.model.Config;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.storage.constant.ConfigConstant;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author AE86
@@ -56,9 +58,19 @@ public class ConfigServiceImpl implements ConfigService {
         return config.getPassword();
     }
 
+    @Override
+    public List<ConfigVo> queryConfig() {
+        List<ConfigVo> list = manager.getConfigAll().stream()
+                .map(config -> convertConfig2Vo(config))
+                .collect(Collectors.toList());
+        return list;
+    }
+
     private ConfigVo convertConfig2Vo(Config config) {
         ConfigVo configVo = new ConfigVo();
-        configVo.setId(config.getId());
+        BeanUtils.copyProperties(config, configVo);
+        // 避免密码直接暴露
+        configVo.setPassword("");
         return configVo;
     }
 

+ 10 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/Config.java

@@ -9,6 +9,8 @@ public class Config extends ConfigModel {
 
     private String password;
 
+    private int refreshInterval = 10;
+
     public String getPassword() {
         return password;
     }
@@ -16,4 +18,12 @@ public class Config extends ConfigModel {
     public void setPassword(String password) {
         this.password = password;
     }
+
+    public int getRefreshInterval() {
+        return refreshInterval;
+    }
+
+    public void setRefreshInterval(int refreshInterval) {
+        this.refreshInterval = refreshInterval;
+    }
 }

+ 12 - 0
dbsyncer-web/src/main/java/org/dbsyncer/web/controller/system/SystemController.java

@@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -42,4 +43,15 @@ public class SystemController extends BaseController {
 		}
 	}
 
+	@GetMapping("/queryConfig")
+	@ResponseBody
+	public RestResult queryConfig(HttpServletRequest request) {
+		try {
+			return RestResult.restSuccess(configService.queryConfig());
+		} catch (Exception e) {
+			logger.error(e.getLocalizedMessage(), e.getClass());
+			return RestResult.restFail(e.getMessage());
+		}
+	}
+
 }

+ 2 - 2
dbsyncer-web/src/main/resources/templates/system/system.html

@@ -19,9 +19,9 @@
             </div>
             <div class="col-md-6">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">刷新监控频率 <strong class="driverVerifcateRequired">*</strong></label>
+                    <label class="col-sm-4 control-label">刷新监控频率(秒) <strong class="driverVerifcateRequired">*</strong></label>
                     <div class="col-sm-8">
-                        <input type="number" class="form-control" max="100" min="1" dbsyncer-valid="require" name="refresh" />
+                        <input type="number" class="form-control" max="100" min="1" dbsyncer-valid="require" name="refreshInterval" th:value="${config?.refreshInterval}"/>
                     </div>
                 </div>
                 <div class="form-group">