diff --git a/src/main/java/com/mortals/xhx/common/utils/EncodeUtil.java b/src/main/java/com/mortals/xhx/common/utils/EncodeUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..44d7aaa31d47c1879c2ea5747be16b9d2300f2a4
--- /dev/null
+++ b/src/main/java/com/mortals/xhx/common/utils/EncodeUtil.java
@@ -0,0 +1,192 @@
+package com.mortals.xhx.common.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.*;
+import java.util.BitSet;
+
+/**
+ * @author 鑷姩璇嗗埆鏂囦欢缂栫爜鏍煎紡
+ */
+public class EncodeUtil {
+    private static Logger logger = LoggerFactory.getLogger(EncodeUtil.class);
+
+    private static int BYTE_SIZE = 8;
+    public static String CODE_UTF8 = "UTF-8";
+    public static String CODE_UTF8_BOM = "UTF-8_BOM";
+    public static String CODE_GBK = "GBK";
+
+    /**
+     * 閫氳繃鏂囦欢鍏ㄥ悕绉拌幏鍙栫紪鐮侀泦鍚嶇О
+     *
+     * @param fullFileName
+     * @param ignoreBom
+     * @return
+     * @throws Exception
+     */
+    public static String getEncode(String fullFileName, boolean ignoreBom) throws Exception {
+        logger.debug("fullFileName ; {}", fullFileName);
+        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fullFileName));
+        return getEncode(bis, ignoreBom);
+    }
+
+    /**
+     * 閫氳繃鏂囦欢缂撳瓨娴佽幏鍙栫紪鐮侀泦鍚嶇О锛屾枃浠舵祦蹇呴』涓烘湭鏇�
+     *
+     * @param bis
+     * @param ignoreBom 鏄惁蹇界暐utf-8 bom
+     * @return
+     * @throws Exception
+     */
+    public static String getEncode(BufferedInputStream bis, boolean ignoreBom) throws Exception {
+        bis.mark(0);
+
+        String encodeType = "鏈瘑鍒�";
+        byte[] head = new byte[3];
+        bis.read(head);
+        if (head[0] == -1 && head[1] == -2) {
+            encodeType = "UTF-16";
+        } else if (head[0] == -2 && head[1] == -1) {
+            encodeType = "Unicode";
+        } else if (head[0] == -17 && head[1] == -69 && head[2] == -65) { //甯OM
+            if (ignoreBom) {
+                encodeType = CODE_UTF8;
+            } else {
+                encodeType = CODE_UTF8_BOM;
+            }
+        } else if ("Unicode".equals(encodeType)) {
+            encodeType = "UTF-16";
+        } else if (isUTF8(bis)) {
+            encodeType = CODE_UTF8;
+        } else {
+            encodeType = CODE_GBK;
+        }
+        logger.info("result encode type : " + encodeType);
+        return encodeType;
+    }
+
+    /**
+     * 鏄惁鏄棤BOM鐨刄TF8鏍煎紡锛屼笉鍒ゆ柇甯歌鍦烘櫙锛屽彧鍖哄垎鏃燘OM UTF8鍜孏BK
+     *
+     * @param bis
+     * @return
+     */
+    private static boolean isUTF8(BufferedInputStream bis) throws Exception {
+        bis.reset();
+
+        //璇诲彇绗竴涓瓧鑺�
+        int code = bis.read();
+        do {
+            BitSet bitSet = convert2BitSet(code);
+            //鍒ゆ柇鏄惁涓哄崟瀛楄妭
+            if (bitSet.get(0)) {//澶氬瓧鑺傛椂锛屽啀璇诲彇N涓瓧鑺�
+                if (!checkMultiByte(bis, bitSet)) {//鏈娴嬮€氳繃,鐩存帴杩斿洖
+                    return false;
+                }
+            } else {
+                //鍗曞瓧鑺傛椂浠€涔堥兘涓嶇敤鍋氾紝鍐嶆璇诲彇瀛楄妭
+            }
+            code = bis.read();
+        } while (code != -1);
+        return true;
+    }
+
+    /**
+     * 妫€娴嬪瀛楄妭锛屽垽鏂槸鍚︿负utf8锛屽凡缁忚鍙栦簡涓€涓瓧鑺�
+     *
+     * @param bis
+     * @param bitSet
+     * @return
+     */
+    private static boolean checkMultiByte(BufferedInputStream bis, BitSet bitSet) throws Exception {
+        int count = getCountOfSequential(bitSet);
+        byte[] bytes = new byte[count - 1];//宸茬粡璇诲彇浜嗕竴涓瓧鑺傦紝涓嶈兘鍐嶈鍙�
+        bis.read(bytes);
+        for (byte b : bytes) {
+            if (!checkUtf8Byte(b)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * 妫€娴嬪崟瀛楄妭锛屽垽鏂槸鍚︿负utf8
+     *
+     * @param b
+     * @return
+     */
+    private static boolean checkUtf8Byte(byte b) throws Exception {
+        BitSet bitSet = convert2BitSet(b);
+        return bitSet.get(0) && !bitSet.get(1);
+    }
+
+    /**
+     * 妫€娴媌itSet涓粠寮€濮嬫湁澶氬皯涓繛缁殑1
+     *
+     * @param bitSet
+     * @return
+     */
+    private static int getCountOfSequential(BitSet bitSet) {
+        int count = 0;
+        for (int i = 0; i < BYTE_SIZE; i++) {
+            if (bitSet.get(i)) {
+                count++;
+            } else {
+                break;
+            }
+        }
+        return count;
+    }
+
+
+    /**
+     * 灏嗘暣褰㈣浆涓築itSet
+     *
+     * @param code
+     * @return
+     */
+    private static BitSet convert2BitSet(int code) {
+        BitSet bitSet = new BitSet(BYTE_SIZE);
+
+        for (int i = 0; i < BYTE_SIZE; i++) {
+            int tmp3 = code >> (BYTE_SIZE - i - 1);
+            int tmp2 = 0x1 & tmp3;
+            if (tmp2 == 1) {
+                bitSet.set(i);
+            }
+        }
+        return bitSet;
+    }
+
+    /**
+     * 灏嗕竴鎸囧畾缂栫爜鐨勬枃浠惰浆鎹负鍙︿竴缂栫爜鐨勬枃浠�
+     *
+     * @param oldFullFileName
+     * @param oldCharsetName
+     * @param newFullFileName
+     * @param newCharsetName
+     */
+    public static void convert(String oldFullFileName, String oldCharsetName, String newFullFileName, String newCharsetName) throws Exception {
+        logger.info("the old file name is : {}, The oldCharsetName is : {}", oldFullFileName, oldCharsetName);
+        logger.info("the new file name is : {}, The newCharsetName is : {}", newFullFileName, newCharsetName);
+
+        StringBuffer content = new StringBuffer();
+
+        BufferedReader bin = new BufferedReader(new InputStreamReader(new FileInputStream(oldFullFileName), oldCharsetName));
+        String line;
+        while ((line = bin.readLine()) != null) {
+            content.append(line);
+            content.append(System.getProperty("line.separator"));
+        }
+        newFullFileName = newFullFileName.replace("\\", "/");
+        File dir = new File(newFullFileName.substring(0, newFullFileName.lastIndexOf("/")));
+        if (!dir.exists()) {
+            dir.mkdirs();
+        }
+        Writer out = new OutputStreamWriter(new FileOutputStream(newFullFileName), newCharsetName);
+        out.write(content.toString());
+    }
+
+}
diff --git a/src/main/java/com/mortals/xhx/module/setup/mode/ResourceSetupEntity.java b/src/main/java/com/mortals/xhx/module/setup/mode/ResourceSetupEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..cd40f6595371d7fccba6089c8a9ba0155c66786d
--- /dev/null
+++ b/src/main/java/com/mortals/xhx/module/setup/mode/ResourceSetupEntity.java
@@ -0,0 +1,15 @@
+package com.mortals.xhx.module.setup.mode;
+
+import lombok.Data;
+
+@Data
+public class ResourceSetupEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 璧勬簮鏂囦欢鍦板潃
+     */
+    private String resourceFilePath;
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/mortals/xhx/module/setup/web/SetupController.java b/src/main/java/com/mortals/xhx/module/setup/web/SetupDbController.java
similarity index 75%
rename from src/main/java/com/mortals/xhx/module/setup/web/SetupController.java
rename to src/main/java/com/mortals/xhx/module/setup/web/SetupDbController.java
index b6264743af06abb84042d8fdfddd7e88a43168b2..fca6808e75eb169d7496f0dcab839c5f410cb443 100644
--- a/src/main/java/com/mortals/xhx/module/setup/web/SetupController.java
+++ b/src/main/java/com/mortals/xhx/module/setup/web/SetupDbController.java
@@ -1,17 +1,13 @@
 package com.mortals.xhx.module.setup.web;
 
-import cn.hutool.core.io.FileUtil;
-import cn.hutool.db.ds.simple.SimpleDataSource;
 import com.alibaba.druid.pool.DruidDataSource;
 import com.alibaba.druid.pool.DruidPooledConnection;
 import com.alibaba.fastjson.JSONObject;
 import com.mortals.framework.annotation.UnAuth;
 import com.mortals.framework.exception.AppException;
-import com.mortals.framework.web.BaseController;
 import com.mortals.xhx.base.system.upload.service.UploadService;
 import com.mortals.xhx.module.setup.mode.DbSetupEntity;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.jdbc.ScriptRunner;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.FileSystemResource;
 import org.springframework.core.io.support.EncodedResource;
@@ -20,8 +16,6 @@ import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.sql.DataSource;
-import java.io.*;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -33,17 +27,15 @@ import static com.mortals.framework.web.BaseController.*;
 @RestController
 @RequestMapping("db")
 @Slf4j
-public class SetupController {
+public class SetupDbController {
 
     @Autowired
     private UploadService uploadService;
 
-
-    @PostMapping("/initDb")
+    @PostMapping("/init")
     @UnAuth
     public String initDb(@RequestBody DbSetupEntity dbSetupEntity) {
         JSONObject ret = new JSONObject();
-        String busiDesc = "瀵煎叆鏁版嵁搴�";
         int code = VALUE_RESULT_SUCCESS;
         try {
             if (ObjectUtils.isEmpty(dbSetupEntity.getDbFilePath())) {
@@ -52,11 +44,9 @@ public class SetupController {
             if (ObjectUtils.isEmpty(dbSetupEntity.getDbName())) {
                 throw new AppException("璇疯緭鍏ユ暟鎹簱鍚嶇О");
             }
-
-
             //鍒ゆ柇鏁版嵁搴撴槸鍚﹀凡缁忓瓨鍦� 濡傛灉涓嶅瓨鍦� 鍒欓摼鎺ラ粯璁ゅ簱mysql 鍐嶅垵濮嬪寲鍒涘缓搴�
             DruidDataSource druidDataSource = new DruidDataSource();
-            druidDataSource.setUrl("jdbc:mysql://" + dbSetupEntity.getDbHost() + ":" + dbSetupEntity.getDbPort()+"?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong");
+            druidDataSource.setUrl("jdbc:mysql://" + dbSetupEntity.getDbHost() + ":" + dbSetupEntity.getDbPort() + "?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong");
             druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
             druidDataSource.setUsername(dbSetupEntity.getUserName());
             druidDataSource.setPassword(dbSetupEntity.getPassword());
@@ -66,25 +56,16 @@ public class SetupController {
 
             connection.setCatalog(dbSetupEntity.getDbName());
 
-
-/*            druidDataSource = new DruidDataSource();
-            druidDataSource.setUrl("jdbc:mysql://" + dbSetupEntity.getDbHost() + ":" + dbSetupEntity.getDbPort()
-                    + "/" + dbSetupEntity.getDbName() + "?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong");
-            druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
-            druidDataSource.setUsername(dbSetupEntity.getUserName());
-            druidDataSource.setPassword(dbSetupEntity.getPassword());
-
-            connection = druidDataSource.getConnection();*/
-
             FileSystemResource rc = new FileSystemResource(uploadService.getFilePath(dbSetupEntity.getDbFilePath()));
             EncodedResource er = new EncodedResource(rc, "UTF-8");
             ScriptUtils.executeSqlScript(connection, er);
 
+            ret.put(KEY_RESULT_MSG, "鍒濆鍖栨暟鎹簱鎴愬姛!");
+
         } catch (Exception e) {
             code = VALUE_RESULT_FAILURE;
             log.error("瀵煎叆鏁版嵁搴撳け璐�", e);
             ret.put(KEY_RESULT_MSG, e.getMessage());
-            //doException(request, busiDesc, model, e);
         }
         ret.put(KEY_RESULT_CODE, code);
         return ret.toJSONString();
@@ -107,8 +88,6 @@ public class SetupController {
 
             //鍏堥摼鎺ュ凡缁忓瓨鍦ㄧ殑鏁版嵁搴�
             String filepath = uploadService.saveFileUpload(file, "/file/fileupload", null);
-
-
             //CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 
             DruidDataSource druidDataSource = new DruidDataSource();
@@ -119,16 +98,9 @@ public class SetupController {
             druidDataSource.setPassword("12345678");
 
             DruidPooledConnection connection = druidDataSource.getConnection();
-
             boolean xhx = databaseExists(connection, "base-platform");
-
             log.info("xhx鏁版嵁搴撴槸鍚﹀瓨鍦�:{}", xhx);
-/*
 
-            FileSystemResource rc = new FileSystemResource(uploadService.getFilePath(filepath));
-            EncodedResource er = new EncodedResource(rc, "UTF-8");
-            ScriptUtils.executeSqlScript(connection, er);
-            */
         } catch (Exception e) {
             code = VALUE_RESULT_FAILURE;
             log.error("瀵煎叆鏁版嵁搴撳け璐�", e);
@@ -139,7 +111,7 @@ public class SetupController {
     }
 
     //妫€鏌ank鏁版嵁搴撴槸鍚﹀瓨鍦�
-    private static boolean databaseExists(Connection conn, String dbName) throws SQLException {
+    private boolean databaseExists(Connection conn, String dbName) throws SQLException {
         ResultSet resultSet = conn.getMetaData().getCatalogs();
         while (resultSet.next()) {
             if (dbName.equals(resultSet.getString(1))) {
@@ -150,7 +122,7 @@ public class SetupController {
     }
 
     //鍒涘缓鏁版嵁搴�
-    private void createDatabase(Connection conn, String dbName) throws SQLException {
+    private boolean createDatabase(Connection conn, String dbName) throws SQLException {
         // 妫€鏌ユ暟鎹簱鏄惁宸茬粡瀛樺湪
         if (!databaseExists(conn, dbName)) {
             Statement stmt = conn.createStatement();
@@ -158,10 +130,11 @@ public class SetupController {
             stmt.executeUpdate(sql);
             log.info("鎴愬姛鍒涘缓鏁版嵁搴�");
             stmt.close();
-        } else {
-            log.info("鏁版嵁搴撳凡缁忓瓨鍦紝鏃犻渶鍒涘缓");
+            return true;
         }
-    }
+        log.info("鏁版嵁搴撳凡缁忓瓨鍦紝鏃犻渶鍒涘缓涓庡垵濮嬪寲");
+        return false;
 
+    }
 
 }
\ No newline at end of file
diff --git a/src/main/java/com/mortals/xhx/module/setup/web/SetupResourceController.java b/src/main/java/com/mortals/xhx/module/setup/web/SetupResourceController.java
new file mode 100644
index 0000000000000000000000000000000000000000..d9d24195a9c57310ef36a39efb9de1c7f8023814
--- /dev/null
+++ b/src/main/java/com/mortals/xhx/module/setup/web/SetupResourceController.java
@@ -0,0 +1,111 @@
+package com.mortals.xhx.module.setup.web;
+
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.ZipUtil;
+import com.alibaba.druid.pool.DruidDataSource;
+import com.alibaba.druid.pool.DruidPooledConnection;
+import com.alibaba.fastjson.JSONObject;
+import com.mortals.framework.annotation.UnAuth;
+import com.mortals.framework.ap.GlobalSysInfo;
+import com.mortals.framework.exception.AppException;
+import com.mortals.xhx.base.system.upload.service.UploadService;
+import com.mortals.xhx.common.key.Constant;
+import com.mortals.xhx.common.utils.EncodeUtil;
+import com.mortals.xhx.module.setup.mode.DbSetupEntity;
+import com.mortals.xhx.module.setup.mode.ResourceSetupEntity;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.io.support.EncodedResource;
+import org.springframework.jdbc.datasource.init.ScriptUtils;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.nio.charset.Charset;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import static com.mortals.framework.web.BaseController.*;
+
+
+@RestController
+@RequestMapping("resource")
+@Slf4j
+public class SetupResourceController {
+
+    @Value("${upload.path}")
+    @Getter
+    private String filePath;
+
+    @Autowired
+    private UploadService uploadService;
+
+    @PostMapping("/init")
+    @UnAuth
+    public String initDb(@RequestBody ResourceSetupEntity resourceSetupEntity) {
+        JSONObject ret = new JSONObject();
+        int code = VALUE_RESULT_SUCCESS;
+        try {
+            if (ObjectUtils.isEmpty(resourceSetupEntity.getResourceFilePath())) {
+                throw new AppException("璇蜂笂浼犺祫婧愭枃浠�");
+            }
+            String targetFilePath = uploadService.getFilePath(resourceSetupEntity.getResourceFilePath());
+            if (FileUtil.isEmpty(new File(targetFilePath))) {
+                throw new AppException("閮ㄧ讲鏂囦欢涓嶅瓨鍦紒");
+            }
+
+            if (!FileUtil.getSuffix(resourceSetupEntity.getResourceFilePath()).equals("zip")) {
+                throw new AppException("閮ㄧ讲鍙敮鎸亃ip鏂囦欢锛�");
+            }
+
+            if(!FileUtil.isDirectory(filePath)){
+                //閮ㄧ讲璺緞鏄惁瀛樺湪 濡傛灉涓嶅瓨鍦� 鍒涘缓鐩綍锛�
+                 FileUtil.mkdir(filePath);
+            }
+
+            String fileEncode = "UTF-8";
+            try {
+                fileEncode = EncodeUtil.getEncode(targetFilePath, true);
+            } catch (Exception e) {
+                log.error("寮傚父", e);
+            }
+            ZipUtil.unzip(targetFilePath, filePath, Charset.forName(fileEncode));
+
+            ret.put(KEY_RESULT_MSG, "鍒濆鍖栬祫婧愭枃浠舵垚鍔�!");
+
+        } catch (Exception e) {
+            code = VALUE_RESULT_FAILURE;
+            log.error("瀵煎叆璧勬簮鏂囦欢澶辫触", e);
+            ret.put(KEY_RESULT_MSG, e.getMessage());
+        }
+        ret.put(KEY_RESULT_CODE, code);
+        return ret.toJSONString();
+    }
+
+
+
+
+    //妫€鏌ank鏁版嵁搴撴槸鍚﹀瓨鍦�
+    private boolean databaseExists(Connection conn, String dbName) throws SQLException {
+        ResultSet resultSet = conn.getMetaData().getCatalogs();
+        while (resultSet.next()) {
+            if (dbName.equals(resultSet.getString(1))) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public static void main(String[] args) {
+
+        System.out.println(FileUtil.isDirectory("E://pic"));
+
+    }
+
+}
\ No newline at end of file
diff --git a/src/main/resources/dist/15.mp3 b/src/main/resources/dist/15.mp3
deleted file mode 100644
index 3d8a78228ba5567d888fff34ffbed68a0ca27bc5..0000000000000000000000000000000000000000
Binary files a/src/main/resources/dist/15.mp3 and /dev/null differ
diff --git a/src/test/java/httpclient/base.sql b/src/test/java/httpclient/base.sql
new file mode 100644
index 0000000000000000000000000000000000000000..869b0ca0ba98214d48f5073b58eab0e7d2530935
--- /dev/null
+++ b/src/test/java/httpclient/base.sql
@@ -0,0 +1,294 @@
+-- ----------------------------
+-- Table structure for mortals_xhx_idgenerator
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_idgenerator`;
+CREATE TABLE `mortals_xhx_idgenerator`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+  `idType` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id绫诲瀷',
+  `idMaxValue` bigint(20) UNSIGNED NOT NULL COMMENT 'id鍊�',
+  `remark` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '澶囨敞',
+  `versionNum` bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT '鐗堟湰鍙凤紝榛樿0',
+  `gmtModify` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '鏈€鍚庝慨鏀规椂闂�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '涓婚敭Id鐢熸垚鍣�' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of mortals_xhx_idgenerator
+-- ----------------------------
+INSERT INTO `mortals_xhx_idgenerator` VALUES (1, 'INFO_VERSION_KEY', 1, '鍩虹淇℃伅鐗堟湰鍙风敓鎴愬洜瀛�', 0, '2019-04-18 18:00:00');
+
+-- ----------------------------
+-- Table structure for mortals_xhx_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_menu`;
+CREATE TABLE `mortals_xhx_menu`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '鑿滃崟ID锛屼富閿紝鑷闀�',
+  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鑿滃崟鍚嶇О',
+  `url` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '杩炴帴鍦板潃',
+  `parentId` bigint(20) NULL DEFAULT NULL COMMENT '鐖惰彍鍗旾D锛屼竴绾ц彍鍗曠殑璇ュ瓧娈靛€间负-1',
+  `orderId` int(11) NULL DEFAULT NULL COMMENT '鎺掑簭缂栧彿',
+  `status` tinyint(2) NULL DEFAULT 1 COMMENT '鑿滃崟鐘舵€侊紝0锛氱鐢紝1锛氬惎鐢紝榛樿1',
+  `linkType` tinyint(2) NULL DEFAULT 0 COMMENT '閾炬帴鏂瑰紡锛�0锛氭櫘閫氾紝1锛氬脊鍑猴紝2锛氳剼鏈紙JavaScript锛夛紝榛樿0',
+  `groupId` int(11) NULL DEFAULT 1 COMMENT '鍒嗙粍缂栧彿锛屼娇鐢ㄨ彍鍗曞垎闅旂鎸夎鍊煎垎闅旓紝榛樿1',
+  `groupName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
+  `imgPath` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '涓昏彍鍗曞浘鏍囷紝涓昏彍鍗曞浘鏍囩殑css鏍峰紡鍚�',
+  `buttonImgPath` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鎸夐挳鍥炬爣锛屾寜閽浘鏍囩殑css鏍峰紡鍚�',
+  `imgCommPath` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '甯哥敤鑿滃崟鍥炬爣锛屽父鐢ㄨ彍鍗曞浘鏍囩殑css鏍峰紡鍚�',
+  `commMenu` tinyint(2) NULL DEFAULT 0 COMMENT '鏄惁甯哥敤鑿滃崟锛�0锛氶潪甯哥敤锛�1锛氬父鐢紝榛樿0',
+  `menuType` tinyint(2) NULL DEFAULT 0 COMMENT '鑿滃崟绫诲瀷锛�0锛氫富鑿滃崟锛�1锛氶潪涓昏彍鍗�(鍔熻兘鎿嶄綔缁�)锛岄粯璁�0',
+  `authType` tinyint(2) NULL DEFAULT 3 COMMENT '鏉冮檺绫诲瀷锛�0锛氭棤闄愬埗锛�1锛氭棤闇€鐧诲綍鏌ョ湅锛�2锛氶渶瑕佺櫥褰曟煡鐪嬶紝3锛氶渶瑕佽鑹叉潈闄愭煡鐪嬶紝榛樿3',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
+  `createUserName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛鍚嶇О',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '鑿滃崟淇℃伅' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of mortals_xhx_menu
+-- ----------------------------
+INSERT INTO `mortals_xhx_menu` VALUES (91, '绯荤粺绠$悊', '', 0, 9999, 1, 0, 0, NULL, 'setting', '', '', 0, 0, 3, NULL, NULL, '');
+INSERT INTO `mortals_xhx_menu` VALUES (108, '鍖哄煙淇℃伅', '/area/list', 91, 65, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 3, NULL, NULL, NULL);
+INSERT INTO `mortals_xhx_menu` VALUES (9001, '涓婚〉', '/index', 90, 10, 1, 0, 1, NULL, '', NULL, NULL, 0, 0, 3, '2019-02-19 16:08:09', 1, 'admin');
+INSERT INTO `mortals_xhx_menu` VALUES (9101, '鐢ㄦ埛淇℃伅', '/user/list', 91, 10, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 3, NULL, NULL, NULL);
+INSERT INTO `mortals_xhx_menu` VALUES (9102, '瑙掕壊淇℃伅', '/role/list', 91, 20, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 3, NULL, NULL, NULL);
+INSERT INTO `mortals_xhx_menu` VALUES (9103, '璧勬簮淇℃伅', '/resource/list', 91, 30, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 3, NULL, NULL, NULL);
+INSERT INTO `mortals_xhx_menu` VALUES (9104, '鑿滃崟淇℃伅', '/menu/list', 91, 40, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 3, NULL, NULL, NULL);
+INSERT INTO `mortals_xhx_menu` VALUES (9105, '鍙傛暟淇℃伅', '/param/list', 91, 50, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 3, NULL, NULL, NULL);
+INSERT INTO `mortals_xhx_menu` VALUES (9106, '浠诲姟淇℃伅', '/task/list', 91, 60, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 3, NULL, NULL, NULL);
+INSERT INTO `mortals_xhx_menu` VALUES (9107, '鎿嶄綔鏃ュ織', '/oper/log/list', 91, 70, 1, 0, 0, NULL, NULL, NULL, NULL, 0, 0, 3, NULL, NULL, NULL);
+INSERT INTO `mortals_xhx_menu` VALUES (9133, '绔欑偣绠$悊', '/site/list', 91, NULL, 1, 0, 1, NULL, 'view', NULL, NULL, 0, 0, 3, '2021-11-03 21:51:48', 1, '绯荤粺绠$悊鍛�');
+
+-- ----------------------------
+-- Table structure for mortals_xhx_oper_log
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_oper_log`;
+CREATE TABLE `mortals_xhx_oper_log`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+  `platformMark` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '骞冲彴鏍囪瘑',
+  `userId` bigint(20) NULL DEFAULT NULL COMMENT '鐢ㄦ埛id',
+  `userName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐢ㄦ埛鍚嶇О',
+  `loginName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐢ㄦ埛鐧诲綍鍚�',
+  `requestUrl` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '璇锋眰鍦板潃',
+  `content` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鎿嶄綔鍐呭锛岃褰曟搷浣滃叿浣撲俊鎭紝濡備慨鏀瑰墠淇敼鎴栫殑鏁版嵁',
+  `ip` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鎿嶄綔IP鍦板潃',
+  `logDate` datetime(0) NULL DEFAULT NULL COMMENT '鎿嶄綔鏃堕棿',
+  `operType` tinyint(2) NULL DEFAULT NULL COMMENT '鎿嶄綔绫诲瀷锛�0锛氭柊澧烇紝1锛氫慨鏀癸紝2锛氬垹闄�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '鎿嶄綔鏃ュ織' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for mortals_xhx_param
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_param`;
+CREATE TABLE `mortals_xhx_param`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍙傛暟鍚嶇О',
+  `firstOrganize` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '涓€绾х粍缁囷紝濡傦細骞冲彴閰嶇疆',
+  `secondOrganize` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '浜岀骇缁勭粐锛屽锛氬熀纭€閰嶇疆',
+  `paramKey` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍙傛暟閿紝鍏ㄥ眬鍞竴',
+  `paramValue` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍙傛暟鍊�',
+  `validStatus` tinyint(2) NULL DEFAULT 1 COMMENT '鍙傛暟鏈夋晥鐘舵€侊紝0锛氱鐢紝1锛氬惎鐢紝榛樿1',
+  `modStatus` tinyint(2) NULL DEFAULT 4 COMMENT '鍙傛暟淇敼鐘舵€侊紝0锛氶殣钘忥紝1锛氶〉闈粎鏌ョ湅锛�2锛氶〉闈㈠彲淇敼锛�3锛氶〉闈㈠彲鍒犻櫎锛�4锛氶〉闈㈠彲淇敼鍒犻櫎锛岄粯璁�4',
+  `displayType` tinyint(2) NULL DEFAULT 0 COMMENT '灞曠幇绫诲瀷锛�0锛氭櫘閫氭枃鏈锛�1锛氬琛屾枃鏈锛�2锛氬紑鍏筹紝3锛氬潡杈撳叆妗嗭紝榛樿锛�0',
+  `remark` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
+  `createUserName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛鍚嶇О',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '鍙傛暟淇℃伅' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for mortals_xhx_resource
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_resource`;
+CREATE TABLE `mortals_xhx_resource`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '鑿滃崟ID锛屼富閿紝鑷闀�',
+  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍚嶇О',
+  `url` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '杩炴帴鍦板潃锛屽涓湴鍧€浠ラ€楀彿鍒嗛殧',
+  `authType` tinyint(2) NULL DEFAULT 3 COMMENT '鏉冮檺绫诲瀷锛�0锛氭棤闄愬埗锛�1锛氭棤闇€鐧诲綍鏌ョ湅锛�2锛氶渶瑕佺櫥褰曟煡鐪嬶紝3锛氶渶瑕佽鑹叉潈闄愭煡鐪嬶紝榛樿3',
+  `sourceType` tinyint(2) NULL DEFAULT 0 COMMENT '璧勬簮绫诲瀷锛�0锛氱郴缁熻祫婧愶紝1锛氬紑鏀捐祫婧愶紝榛樿0',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
+  `createUserName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛鍚嶇О',
+  `userType` tinyint(2) NULL DEFAULT NULL COMMENT '鐢ㄦ埛绫诲瀷锛�0锛氱郴缁熺敤鎴� 1:浠g悊鍟嗙敤鎴� 2:鍝佺墝鍟嗙敤鎴�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '璧勬簮淇℃伅' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of mortals_xhx_resource
+-- ----------------------------
+INSERT INTO `mortals_xhx_resource` VALUES (101001, '绯荤粺绠$悊-鑿滃崟绠$悊-鏌ョ湅', '/menu/list,/menu/view', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101002, '绯荤粺绠$悊-鑿滃崟绠$悊-缁存姢', '/menu/add,/menu/edit,/menu/delete,/menu/save', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101003, '绯荤粺绠$悊-瑙掕壊绠$悊-鏌ョ湅', '/role/list,/role/view', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101004, '绯荤粺绠$悊-瑙掕壊绠$悊-缁存姢', '/role/add,/role/edit,/role/save,/role/delete,/role/auth/list,/role/auth/distributionSource,/role/user/distributionUser,/user/list,/role/user/list,/role/user/distributionUser', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101005, '绯荤粺绠$悊-鐢ㄦ埛绠$悊-鏌ョ湅', '/user/list,/user/view,/role/roleNameByUserId', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101006, '绯荤粺绠$悊-鐢ㄦ埛绠$悊-缁存姢', '/user/add,/user/edit,/user/delete,/user/save', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101007, '绯荤粺绠$悊-浠诲姟璁剧疆-鏌ョ湅', '/task/list,/task/view', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101008, '绯荤粺绠$悊-浠诲姟璁剧疆-缁存姢', '/task/add,/task/edit,/task/delete,/task/save', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101009, '绯荤粺绠$悊-鍙傛暟璁剧疆-鏌ョ湅', '/param/list,/param/view', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101010, '绯荤粺绠$悊-鍙傛暟璁剧疆-缁存姢', '/param/add,/param/edit,/param/delete,/param/save', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101011, '绯荤粺绠$悊-璧勬簮绠$悊-鏌ョ湅', '/resource/list,/resource/view', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101012, '绯荤粺绠$悊-璧勬簮绠$悊-缁存姢', '/resource/add,/resource/edit,/resource/delete,/resource/save', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101013, '绯荤粺绠$悊-鎿嶄綔鏃ュ織-鏌ョ湅', '/oper/log/list,/oper/log/view', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101014, '绯荤粺绠$悊-鍖哄煙绠$悊-鏌ョ湅', '/area/list,/area/view', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (101015, '绯荤粺绠$悊-鍖哄煙绠$悊-缁存姢', '/area/add,/area/edit,/area/delete,/area/save', 3, 0, NULL, NULL, NULL, 0);
+INSERT INTO `mortals_xhx_resource` VALUES (150000, '鎺у埗鍙�-涓婚〉', '/index', 3, 0, '2019-06-01 13:04:18', 1, '绯荤粺绠$悊鍛�', NULL);
+INSERT INTO `mortals_xhx_resource` VALUES (150001, '鍏叡璧勬簮', '/area/list', 2, 0, '2019-06-01 23:56:55', 1, '绯荤粺绠$悊鍛�', NULL);
+
+-- ----------------------------
+-- Table structure for mortals_xhx_role
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_role`;
+CREATE TABLE `mortals_xhx_role`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '瑙掕壊鍚嶇О',
+  `remark` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
+  `roleType` tinyint(2) NULL DEFAULT 2 COMMENT '瑙掕壊绫诲瀷锛�0锛氱郴缁熷唴缃鑹诧紙涓嶅彲鍒犻櫎锛夛紝1锛氶粯璁ょ郴缁熻鑹诧紝2锛氭櫘閫氳鑹诧紝榛樿2',
+  `customerId` bigint(20) NULL DEFAULT NULL COMMENT '褰掑睘瀹㈡埛ID',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
+  `createUserName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛鍚嶇О',
+  `userType` tinyint(2) NULL DEFAULT NULL COMMENT '鐢ㄦ埛绫诲瀷锛�0锛氱郴缁熺敤鎴� 1:浠g悊鍟嗙敤鎴� 2:鍝佺墝鍟嗙敤鎴�',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '瑙掕壊淇℃伅' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of mortals_xhx_role
+-- ----------------------------
+INSERT INTO `mortals_xhx_role` VALUES (1, '绠$悊鍛�', '绫讳技admin', 0, NULL, '2019-03-04 11:41:06', 1, 'admin', NULL);
+
+-- ----------------------------
+-- Table structure for mortals_xhx_role_auth
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_role_auth`;
+CREATE TABLE `mortals_xhx_role_auth`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+  `roleId` bigint(20) NULL DEFAULT NULL COMMENT '瑙掕壊ID',
+  `resourceId` bigint(20) NULL DEFAULT NULL COMMENT '璧勬簮ID',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '瑙掕壊璧勬簮鏉冮檺' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for mortals_xhx_role_user
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_role_user`;
+CREATE TABLE `mortals_xhx_role_user`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+  `roleId` bigint(20) NULL DEFAULT NULL COMMENT '瑙掕壊ID',
+  `userId` bigint(20) NULL DEFAULT NULL COMMENT '鐢ㄦ埛ID',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '瑙掕壊鐢ㄦ埛' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for mortals_xhx_table_index
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_table_index`;
+CREATE TABLE `mortals_xhx_table_index`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '鑿滃崟ID锛屼富閿紝鑷闀�',
+  `tableName` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '琛ㄥ悕绉�',
+  `tableMark` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '琛ㄦ爣璇�',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '鍒嗚〃绱㈠紩淇℃伅' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for mortals_xhx_task
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_task`;
+CREATE TABLE `mortals_xhx_task`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�',
+  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '浠诲姟鍚嶇О',
+  `taskKey` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '浠诲姟鍏抽敭瀛楋紝鍖哄垎浠诲姟鎵ц娴佺▼',
+  `status` tinyint(2) NULL DEFAULT 0 COMMENT '浠诲姟鐘舵€侊紝0锛氭湭鍚姩锛�1锛氭墽琛屼腑锛岄粯璁�0',
+  `excuteService` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '浠诲姟鎵ц鏈嶅姟',
+  `excuteParam` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '浠诲姟鎵ц鍙傛暟',
+  `excuteHost` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '浠诲姟鎵ц涓绘満锛屼负绌鸿〃绀轰笉闄愬埗浠诲姟鐨勬墽琛屼富鏈猴紝澶氫釜鐢ㄩ€楀彿鍒嗛殧',
+  `excuteStrategy` tinyint(2) NULL DEFAULT 1 COMMENT '鎵ц绛栫暐锛�1锛氭寜鏃ワ紝2锛氭寜鍛紝3锛氭寜鏈堬紝4锛氭寜闂撮殧鏃堕棿锛岄粯璁�1',
+  `excuteDate` int(11) NULL DEFAULT 0 COMMENT '鎵ц鏃ユ湡锛屾寜鏃ワ細鍒欎负0锛涙寜鍛細鍒欎负1-7锛涙寜鏈堬細鍒欎负锛�1-31锛涙寜闂撮殧鏃堕棿锛氬垯涓洪棿闅旀椂闂达紝鍗曚綅锛氱锛涢粯璁�0',
+  `excuteTime` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '00' COMMENT '鎵ц鏃堕棿锛屾牸寮忥細HH:mm锛岄粯璁わ細00:00',
+  `remark` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
+  `lastExcuteHost` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏈€鍚庢墽琛屼富鏈�',
+  `lastExcuteTime` datetime(0) NULL DEFAULT NULL COMMENT '鏈€鍚庢墽琛屾椂闂�',
+  `interimExcuteStatus` tinyint(2) NULL DEFAULT 0 COMMENT '涓存椂鎵ц鐘舵€侊紝0锛氭湭鍚敤锛�1锛氱珛鍗虫墽琛屽苟淇濈暀锛�2锛氱珛鍗虫墽琛屽苟鍒犻櫎锛岄粯璁�0',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
+  `createUserName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛鍚嶇О',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '浠诲姟淇℃伅' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of mortals_xhx_task
+-- ----------------------------
+INSERT INTO `mortals_xhx_task` VALUES (2, '鍒嗚〃鍒涘缓浠诲姟', 'tableIndexService', 0, 'tableIndexService', NULL, NULL, 1, 0, '00:30', NULL, '192.168.1.106', '2021-08-18 00:30:01', 0, '2021-08-12 11:07:23', 1, '绯荤粺绠$悊鍛�');
+
+-- ----------------------------
+-- Table structure for mortals_xhx_uploadfile
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_uploadfile`;
+CREATE TABLE `mortals_xhx_uploadfile`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID锛屼富閿紝鑷闀�',
+  `fileName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏂囦欢鍚嶇О',
+  `filePath` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏂囦欢璺緞',
+  `fileType` tinyint(2) NULL DEFAULT NULL COMMENT '鏂囦欢绫诲瀷锛�1 excel ,2 img,3 zip, 4 pdf',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `createUser` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '涓婁紶鏂囦欢' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for mortals_xhx_user
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_user`;
+CREATE TABLE `mortals_xhx_user`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '鐢ㄦ埛ID锛屼富閿紝鑷闀�',
+  `loginName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐧诲綍鍚�',
+  `loginPwd` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐧诲綍瀵嗙爜锛屼娇鐢╩d5鍙屾鍔犲瘑',
+  `loginPwd1` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏈€杩戜竴娆′娇鐢ㄥ瘑鐮侊紝浣跨敤md5鍙屾鍔犲瘑',
+  `loginPwd2` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏈€杩戜簩娆′娇鐢ㄥ瘑鐮侊紝浣跨敤md5鍙屾鍔犲瘑',
+  `loginPwd3` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏈€杩戜笁娆′娇鐢ㄥ瘑鐮侊紝浣跨敤md5鍙屾鍔犲瘑',
+  `loginLimitAddress` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐧诲綍闄愬埗鍦板潃锛屽涓狪P鍦板潃鐢ㄩ€楀彿鍒嗛殧锛屽彲浠ヤ娇鐢↖P娈靛尮閰嶏紝濡傦細172.17.*闈炵┖锛氬垯鍙兘璇ュ€煎唴鐨処P鍙互鐧诲綍',
+  `realName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐢ㄦ埛鍚�',
+  `mobile` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐢ㄦ埛鎵嬫満鍙�',
+  `phone` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐢ㄦ埛鑱旂郴鐢佃瘽',
+  `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鐢ㄦ埛閭',
+  `qq` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'QQ鍙风爜',
+  `userType` tinyint(2) NULL DEFAULT NULL COMMENT '鐢ㄦ埛绫诲瀷锛�0锛氱郴缁熺敤鎴� 1:鏅€氱敤鎴� 2:宸ヤ綔浜哄憳锛岄粯璁�2',
+  `siteId` bigint(20) NULL DEFAULT 0 COMMENT '绔欑偣id',
+  `status` tinyint(2) NULL DEFAULT 1 COMMENT '鐢ㄦ埛鐘舵€侊紝0锛氬仠鐢紝1锛氭甯革紝2锛氬喕缁擄紝3锛氶攢鎴凤紝4锛氱鑱岋紝榛樿1',
+  `customerId` bigint(20) NULL DEFAULT NULL COMMENT '瀹㈡埛ID',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `createUserId` bigint(20) NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛',
+  `createUserName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍒涘缓鐢ㄦ埛鍚嶇О',
+  `lastLoginTime` datetime(0) NULL DEFAULT NULL COMMENT '鏈€鍚庝竴娆$櫥褰曟椂闂�',
+  `lastLoginAddress` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏈€鍚庝竴娆$櫥褰曞湴鍧€',
+  `lastModPwdTime` datetime(0) NULL DEFAULT NULL COMMENT '鏈€鍚庝慨鏀瑰瘑鐮佹椂闂�',
+  `lastModPwdAddr` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏈€鍚庝慨鏀瑰瘑鐮佸湴鍧€',
+  PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE INDEX `idx_loginName`(`loginName`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = ujis COLLATE = ujis_japanese_ci COMMENT = '鐢ㄦ埛淇℃伅' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of mortals_xhx_user
+-- ----------------------------
+INSERT INTO `mortals_xhx_user` VALUES (1, 'admin', '43442676c74ae59f219c2d87fd6bad52', NULL, NULL, NULL, NULL, '绯荤粺绠$悊鍛�', '13808095770', NULL, NULL, NULL, 1, 7, 1, 5, NULL, NULL, NULL, '2020-10-26 15:08:30', '127.0.0.1', NULL, NULL);
+
+-- ----------------------------
+-- Table structure for mortals_xhx_valid_code
+-- ----------------------------
+DROP TABLE IF EXISTS `mortals_xhx_valid_code`;
+CREATE TABLE `mortals_xhx_valid_code`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '鑿滃崟ID锛屼富閿紝鑷闀�',
+  `code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '楠岃瘉鐮�',
+  `url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏍¢獙鍦板潃锛宔mail鏍¢獙浣跨敤',
+  `mobile` varchar(21) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏍¢獙鎵嬫満鍙�',
+  `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏍¢獙閭',
+  `type` tinyint(2) NULL DEFAULT 0 COMMENT '鏍¢獙鏂瑰紡锛�0锛氬浘鐗囨牎楠岋紝1锛氭墜鏈烘牎楠岋紝2锛氶偖绠辨牎楠岋紝榛樿0',
+  `sessionId` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '浼氳瘽ID',
+  `ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'IP鍦板潃',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `lapseTime` datetime(0) NULL DEFAULT NULL COMMENT '澶辨晥鏃堕棿',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB  CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '楠岃瘉鐮佷俊鎭�' ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
diff --git a/src/test/java/httpclient/file.zip b/src/test/java/httpclient/file.zip
new file mode 100644
index 0000000000000000000000000000000000000000..11b0782d83076441a8fd673fda7f160a4a288c72
Binary files /dev/null and b/src/test/java/httpclient/file.zip differ
diff --git a/src/test/java/httpclient/system.http b/src/test/java/httpclient/system.http
index 4fbff560338e7afaa89f87de54bb4cbadc9bd341..0d4845b14ad6e77d5548a11e72529bef3b4a8c17 100644
--- a/src/test/java/httpclient/system.http
+++ b/src/test/java/httpclient/system.http
@@ -7,15 +7,15 @@ Content-Disposition: form-data; name="file"; filename="file.sql"
 < ./base.sql
 --WebAppBoundary--
 
-###涓婁紶鏁版嵁搴撹剼鏈枃浠�
+###涓婁紶璧勬簮鏂囦欢
 
 POST http://localhost:8081/setup/file/commonupload
 Content-Type: multipart/form-data; boundary=WebAppBoundary
 
 --WebAppBoundary
-Content-Disposition: form-data; name="file"; filename="file.sql"
+Content-Disposition: form-data; name="file"; filename="file.zip"
 
-< ./base.sql
+< ./file.zip
 --WebAppBoundary--
 
 ###娴嬭瘯瀵煎叆sql鏁版嵁搴撴枃浠�
@@ -30,3 +30,12 @@ Content-Type: application/json
   "userName": "root",
   "password": "12345678"
 }
+
+
+###娴嬭瘯瀵煎叆璧勬簮鏂囦欢
+POST http://localhost:8081/setup/resource/init
+Content-Type: application/json
+
+{
+  "resourceFilePath": "/file/fileupload/1725938407302.zip"
+}