Bladeren bron

外网增加BaseService,

wukai 2 jaren geleden
bovenliggende
commit
182de8f59f

+ 17 - 0
sync-out/src/main/java/com/jjt/out/service/IOutMysqlService.java

@@ -0,0 +1,17 @@
+package com.jjt.out.service;
+
+import com.jjt.common.domain.IndexDO;
+
+import java.util.List;
+
+/**
+ * @author wukai
+ * @date 2023-06-06
+ */
+public interface IOutMysqlService {
+
+    /**
+     * 导出数据库
+     */
+    public void export();
+}

+ 82 - 0
sync-out/src/main/java/com/jjt/out/service/impl/OutBaseService.java

@@ -0,0 +1,82 @@
+package com.jjt.out.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.jjt.common.constant.Constants;
+import com.jjt.common.domain.FileDesc;
+import com.jjt.common.domain.IndexDO;
+import com.jjt.common.enums.SyncType;
+import com.jjt.common.utils.CompressZip;
+import com.jjt.common.utils.DateUtils;
+import com.jjt.common.utils.LinuxCommand;
+import com.jjt.out.service.IOutMysqlService;
+import com.jjt.system.service.ISysConfigService;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 数据同步Service业务层处理
+ *
+ * @author wukai
+ * @date 2023-06-06
+ */
+@Service
+public class OutBaseService {
+    private static final Logger log = LoggerFactory.getLogger(OutBaseService.class);
+    @Resource
+    private ISysConfigService sysConfigService;
+
+    private String getDir(String key) {
+        String dir = sysConfigService.selectConfigByKey(key);
+
+        if (!dir.endsWith(Constants.DIR_END)) {
+            dir += "/";
+        }
+
+        //如果没有目录,则创建目录
+        File file = new File(dir);
+        if (!file.exists()) {
+            boolean b = file.mkdirs();
+            log.info("创建目录", dir, b);
+        }
+        return dir;
+    }
+
+    /**
+     * 获取外网临时目录
+     *
+     * @return 临时目录
+     */
+    public String tmpDIr() {
+        return getDir("out.dir.tmp");
+    }
+
+    /**
+     * 获取外网同步目录
+     *
+     * @return
+     */
+    public String syncDIr(){
+        return getDir("out.dir.sync");
+    }
+
+    /**
+     * 获取外网备份目录
+     *
+     * @return
+     */
+    public String bakDir(){
+        return getDir("out.dir.bak");
+    }
+
+
+}

+ 5 - 19
sync-out/src/main/java/com/jjt/out/service/impl/OutEsServiceImpl.java

@@ -35,7 +35,7 @@ import java.util.List;
  * @date 2023-06-06
  */
 @Service
-public class OutEsServiceImpl implements IOutEsService {
+public class OutEsServiceImpl extends OutBaseService implements IOutEsService {
     private static final Logger log = LoggerFactory.getLogger(OutEsServiceImpl.class);
     @Resource
     private ISysConfigService sysConfigService;
@@ -110,11 +110,7 @@ public class OutEsServiceImpl implements IOutEsService {
         int port = jsonObject.getIntValue("port");
         String scheme = jsonObject.getString("scheme");
         //外网临时目录
-        String tmpDir = sysConfigService.selectConfigByKey("out.dir.tmp");
-
-        if (!tmpDir.endsWith(Constants.DIR_END)) {
-            tmpDir += "/";
-        }
+        String tmpDir = tmpDIr();
 
         String time = DateUtils.dateTimeNow();
 
@@ -149,16 +145,7 @@ public class OutEsServiceImpl implements IOutEsService {
         }
 
         //获取外网同步正式目录
-        String syncDir = sysConfigService.selectConfigByKey("out.dir.sync");
-
-        if (!syncDir.endsWith(Constants.DIR_END)) {
-            syncDir += "/";
-        }
-        //如果没有目录,则创建目录
-        file = new File(syncDir);
-        if (!file.exists()) {
-            file.mkdirs();
-        }
+        String syncDir = syncDIr();
 
         //打包文件--start
         //生成zip文件全路径名
@@ -170,7 +157,7 @@ public class OutEsServiceImpl implements IOutEsService {
         CompressZip.zip(targetDir, zipFile);
         //打包文件--end
 
-        //生成描述txt文件--start
+        //生成描述json文件--start
         try {
             String descName = syncDir + "sync-99-" + time + ".json";
             String md5 = DigestUtils.md5Hex(Files.newInputStream(zipFile.toPath()));
@@ -183,8 +170,7 @@ public class OutEsServiceImpl implements IOutEsService {
             mapper.writeValue(descFile, desc);
         } catch (IOException e) {
         }
-        //生成描述txt文件--end
-
+        //生成描述json文件--end
     }
 
 //    elasticdump --input http://localhost:9200/test --output /mnt/test_index_mapping.json --type=mapping

+ 4 - 13
sync-out/src/main/java/com/jjt/out/service/impl/OutProcessServiceImpl.java

@@ -30,7 +30,7 @@ import java.util.Date;
  * @date 2023-06-06
  */
 @Service
-public class OutProcessServiceImpl implements IOutProcessService {
+public class OutProcessServiceImpl extends OutBaseService implements IOutProcessService {
     private static final Logger log = LoggerFactory.getLogger(OutProcessServiceImpl.class);
     @Resource
     private ISysConfigService sysConfigService;
@@ -44,18 +44,9 @@ public class OutProcessServiceImpl implements IOutProcessService {
     @Override
     public void sync() {
         //获取外网同步正式目录
-        String syncDir = sysConfigService.selectConfigByKey("out.dir.sync");
-        if (!syncDir.endsWith(Constants.DIR_END)) {
-            syncDir += "/";
-        }
+        String syncDir = syncDIr();
         //获取外网同步备份目录
-        String bakDir = sysConfigService.selectConfigByKey("out.dir.bak");
-        if (!bakDir.endsWith(Constants.DIR_END)) {
-            bakDir += "/";
-        }
-
-        File bak = new File(bakDir);
-        bak.mkdirs();
+        String bakDir = bakDir();
 
         String fgapInfo = sysConfigService.selectConfigByKey("out.fgap.info");
         FtpUtil ftpUtil = JSONObject.parseObject(fgapInfo, FtpUtil.class);
@@ -127,7 +118,7 @@ public class OutProcessServiceImpl implements IOutProcessService {
     @Override
     public void uploadFile() {
         String fgapInfo = sysConfigService.selectConfigByKey("out.fgap.info");
-        String syncDir = sysConfigService.selectConfigByKey("out.dir.sync");
+        String syncDir = syncDIr();
         FtpUtil ftpUtil = JSONObject.parseObject(fgapInfo, FtpUtil.class);
         ftpUtil.upload(syncDir);
     }

+ 5 - 0
sync-out/src/test/java/test/Test.java

@@ -9,6 +9,11 @@ import java.util.Arrays;
 
 public class Test {
     public static void main(String[] args) {
+
+        String cmd = "mysqldump -u%s -p%s %s > %s.sql";
+        cmd = String.format(cmd, "root", "1233", "ab", "ab");
+        System.err.println(cmd);
+
         FtpUtil ftpUtil = new FtpUtil("192.168.188.61", 21, "ftpadmin", "ftpadmin","/home/ftpadmin/ftp/upload");
 
 //        ftpUtil.upload("/home/ftpadmin/ftp/upload", "/data/sync/in/sync/");