Hu Jie 6 жил өмнө
parent
commit
7c66b538ac

+ 1 - 0
build.gradle

@@ -58,6 +58,7 @@ dependencies {
     compile "com.alibaba:fastjson:$fastjsonVersion"
     compile "com.uas.api:b2c-erp-api:$mallApiVersion"
     compile "org.projectlombok:lombok:1.18.4"
+    compile "commons-io:commons-io:2.6"
 }
 
 bootRun {

+ 2 - 0
src/main/java/com/uas/erp/schedular/service/ScheduledTaskService.java

@@ -5,6 +5,7 @@ import com.uas.erp.schedular.entity.Master;
 import com.uas.erp.schedular.entity.MasterTaskConfigEntity;
 import com.uas.erp.schedular.entity.MasterTaskConfigId;
 import com.uas.erp.schedular.repository.MasterTaskConfigRepository;
+import com.uas.erp.schedular.support.BackupDBFileUtils;
 import com.uas.erp.schedular.task.support.MasterTaskConfig;
 import com.uas.erp.schedular.task.support.RefreshableScheduledTaskRegistrar;
 import com.uas.erp.schedular.task.support.TaskConfig;
@@ -63,6 +64,7 @@ public class ScheduledTaskService {
 
     public void save(List<MasterTaskConfigEntity> entities) {
         entities = masterTaskConfigRepository.save(entities);
+        BackupDBFileUtils.createFile();
         for (MasterTaskConfigEntity entity : entities) {
             refreshConfig(entity);
         }

+ 3 - 0
src/main/java/com/uas/erp/schedular/service/SettingService.java

@@ -2,6 +2,7 @@ package com.uas.erp.schedular.service;
 
 import com.uas.erp.schedular.entity.Setting;
 import com.uas.erp.schedular.repository.SettingRepository;
+import com.uas.erp.schedular.support.BackupDBFileUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -31,6 +32,7 @@ public class SettingService {
 
     public void save(Setting setting) {
         settingRepository.save(setting);
+        BackupDBFileUtils.createFile();
     }
 
     public void save(List<Setting> settings) {
@@ -39,6 +41,7 @@ public class SettingService {
 
     public void delete(Setting setting) {
         settingRepository.delete(setting);
+        BackupDBFileUtils.createFile();
     }
 
 }

+ 42 - 0
src/main/java/com/uas/erp/schedular/support/BackupDBFileUtils.java

@@ -0,0 +1,42 @@
+package com.uas.erp.schedular.support;
+
+import org.apache.commons.io.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * @Author: h2数据库备份
+ * @Date: Created in 15:44 2019/02/21.
+ */
+public class BackupDBFileUtils {
+
+    public static void createFile() {
+        copyFile("/home/uas/data/uas_schedular.mv.db", "/home/uas/backupdb/uas_schedular.mv.db");
+        copyFile("/home/uas/data/uas_schedular.trace.db", "/home/uas/backupdb/uas_schedular.trace.db");
+    }
+
+    public static void reserveFile() {
+        copyFile("/home/uas/backupdb/uas_schedular.mv.db", "/home/uas/data/uas_schedular.mv.db");
+        copyFile("/home/uas/backupdb/uas_schedular.trace.db", "/home/uas/data/uas_schedular.trace.db");
+    }
+
+    private static void copyFile(String sourcePath, String targetPath) {
+        File source = new File(sourcePath);
+        File target = new File(targetPath);
+        if (source.exists()) {
+            try {
+                FileUtils.copyFile(source, target);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    public static void init() {
+        File file = new File("/home/uas/backupdb/uas_schedular.mv.db");
+        if (!file.exists()) {
+            createFile();
+        }
+    }
+}