diff --git a/build.gradle b/build.gradle
index 9d339e7..d3f7c74 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,24 +1,3 @@
-plugins {
-    id 'java'
-    id 'org.springframework.boot' version '2.1.6.RELEASE'
-    id 'org.jetbrains.kotlin.jvm' version '1.3.31'
-    id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.31'
-    id 'org.jetbrains.kotlin.plugin.spring' version '1.3.31'
-    id "com.palantir.git-version" version "0.12.0-rc2"
-    id 'com.palantir.docker' version '0.22.1'
-}
-
-apply plugin: 'java'
-apply plugin: 'io.spring.dependency-management'
-
-payapiVersion = gitVersion()
-
-group = 'com.supwisdom'
-version = '1'
-sourceCompatibility = jdkVersion
-def startClass = 'com.supwisdom.dlpay.PayApiApplicationKt'
-
-println("Build version: $payapiVersion")
 allprojects {
     repositories {
         jcenter()
@@ -30,78 +9,6 @@
     version = '1.0'
 }
 
-bootJar {
-    mainClassName = startClass
-    manifest {
-        attributes('Payapi-Version': payapiVersion)
-    }
-}
-
-jar {
-    baseName = 'payapi'
-}
-
-docker {
-    name 'harbor.supwisdom.com/dali/payapi:' + version
-    println(jar.archivePath)
-    files jar.archivePath
-}
-
-docker.dependsOn(jar)
-
-dependencies {
-    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
-    implementation 'org.springframework.boot:spring-boot-starter-data-redis'
-    implementation 'org.springframework.boot:spring-boot-starter-web'
-    implementation 'org.springframework.boot:spring-boot-starter-security'
-    implementation 'org.springframework.boot:spring-boot-starter-cache'
-    implementation 'org.springframework.boot:spring-boot-autoconfigure'
-    implementation 'org.springframework.security:spring-security-oauth2-jose'
-    implementation 'org.springframework.security:spring-security-oauth2-client'
-    implementation 'org.springframework.security:spring-security-oauth2-jose'
-    implementation 'org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.5.RELEASE'
-    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
-    implementation 'org.springframework.session:spring-session-data-redis'
-    implementation 'org.springframework.boot:spring-boot-starter-cache'
-    implementation 'org.springframework.social:spring-social-web:1.1.6.RELEASE'
-    implementation 'org.jetbrains.kotlin:kotlin-reflect'
-    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
-    implementation 'commons-codec:commons-codec:1.12'
-
-    implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery:2.1.2.RELEASE'
-
-    implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
-
-    runtime("org.springframework.boot:spring-boot-devtools")
-
-    implementation 'org.postgresql:postgresql:42.2.5'
-    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
-    implementation 'com.jcabi:jcabi-manifests:1.1'
-    implementation 'org.bitbucket.b_c:jose4j:0.6.3'
-    implementation 'io.github.microutils:kotlin-logging:1.6.26'
-    implementation 'org.slf4j:slf4j-parent:1.7.26'
-    implementation 'com.github.penggle:kaptcha:2.3.2'
-    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
-    implementation group: 'com.sun.jersey', name: 'jersey-client', version: '1.19'
-    implementation group: 'javax.servlet', name: 'jstl', version: '1.2'
-    implementation group: 'taglibs', name: 'standard', version: '1.1.2'
-    implementation group: 'commons-codec', name: 'commons-codec', version: '1.6'
-    implementation files('libs/ojdbc6.jar')
-    implementation 'commons-dbcp:commons-dbcp:1.4'
-
-    implementation project(':common')
-
-    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
-    annotationProcessor 'org.projectlombok:lombok:1.18.8'
-    compileOnly 'org.projectlombok:lombok:1.18.8'
-
-//    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
-    testImplementation 'org.springframework.boot:spring-boot-starter-test'
-    testImplementation 'io.rest-assured:rest-assured:3.3.0'
-    testImplementation 'io.rest-assured:spring-mock-mvc:3.3.0'
-    testImplementation 'org.hamcrest:hamcrest:2.1'
-}
-
 compileKotlin {
     kotlinOptions {
         freeCompilerArgs = ['-Xjsr305=strict']
diff --git a/payapi/build.gradle b/payapi/build.gradle
new file mode 100644
index 0000000..9d339e7
--- /dev/null
+++ b/payapi/build.gradle
@@ -0,0 +1,117 @@
+plugins {
+    id 'java'
+    id 'org.springframework.boot' version '2.1.6.RELEASE'
+    id 'org.jetbrains.kotlin.jvm' version '1.3.31'
+    id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.31'
+    id 'org.jetbrains.kotlin.plugin.spring' version '1.3.31'
+    id "com.palantir.git-version" version "0.12.0-rc2"
+    id 'com.palantir.docker' version '0.22.1'
+}
+
+apply plugin: 'java'
+apply plugin: 'io.spring.dependency-management'
+
+payapiVersion = gitVersion()
+
+group = 'com.supwisdom'
+version = '1'
+sourceCompatibility = jdkVersion
+def startClass = 'com.supwisdom.dlpay.PayApiApplicationKt'
+
+println("Build version: $payapiVersion")
+allprojects {
+    repositories {
+        jcenter()
+        mavenCentral()
+    }
+}
+
+subprojects {
+    version = '1.0'
+}
+
+bootJar {
+    mainClassName = startClass
+    manifest {
+        attributes('Payapi-Version': payapiVersion)
+    }
+}
+
+jar {
+    baseName = 'payapi'
+}
+
+docker {
+    name 'harbor.supwisdom.com/dali/payapi:' + version
+    println(jar.archivePath)
+    files jar.archivePath
+}
+
+docker.dependsOn(jar)
+
+dependencies {
+    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
+    implementation 'org.springframework.boot:spring-boot-starter-data-redis'
+    implementation 'org.springframework.boot:spring-boot-starter-web'
+    implementation 'org.springframework.boot:spring-boot-starter-security'
+    implementation 'org.springframework.boot:spring-boot-starter-cache'
+    implementation 'org.springframework.boot:spring-boot-autoconfigure'
+    implementation 'org.springframework.security:spring-security-oauth2-jose'
+    implementation 'org.springframework.security:spring-security-oauth2-client'
+    implementation 'org.springframework.security:spring-security-oauth2-jose'
+    implementation 'org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.5.RELEASE'
+    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
+    implementation 'org.springframework.session:spring-session-data-redis'
+    implementation 'org.springframework.boot:spring-boot-starter-cache'
+    implementation 'org.springframework.social:spring-social-web:1.1.6.RELEASE'
+    implementation 'org.jetbrains.kotlin:kotlin-reflect'
+    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
+    implementation 'commons-codec:commons-codec:1.12'
+
+    implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery:2.1.2.RELEASE'
+
+    implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
+
+    runtime("org.springframework.boot:spring-boot-devtools")
+
+    implementation 'org.postgresql:postgresql:42.2.5'
+    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
+    implementation 'com.jcabi:jcabi-manifests:1.1'
+    implementation 'org.bitbucket.b_c:jose4j:0.6.3'
+    implementation 'io.github.microutils:kotlin-logging:1.6.26'
+    implementation 'org.slf4j:slf4j-parent:1.7.26'
+    implementation 'com.github.penggle:kaptcha:2.3.2'
+    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
+    implementation group: 'com.sun.jersey', name: 'jersey-client', version: '1.19'
+    implementation group: 'javax.servlet', name: 'jstl', version: '1.2'
+    implementation group: 'taglibs', name: 'standard', version: '1.1.2'
+    implementation group: 'commons-codec', name: 'commons-codec', version: '1.6'
+    implementation files('libs/ojdbc6.jar')
+    implementation 'commons-dbcp:commons-dbcp:1.4'
+
+    implementation project(':common')
+
+    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
+    annotationProcessor 'org.projectlombok:lombok:1.18.8'
+    compileOnly 'org.projectlombok:lombok:1.18.8'
+
+//    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
+    testImplementation 'org.springframework.boot:spring-boot-starter-test'
+    testImplementation 'io.rest-assured:rest-assured:3.3.0'
+    testImplementation 'io.rest-assured:spring-mock-mvc:3.3.0'
+    testImplementation 'org.hamcrest:hamcrest:2.1'
+}
+
+compileKotlin {
+    kotlinOptions {
+        freeCompilerArgs = ['-Xjsr305=strict']
+        jvmTarget = jdkVersion
+    }
+}
+
+compileTestKotlin {
+    kotlinOptions {
+        freeCompilerArgs = ['-Xjsr305=strict']
+        jvmTarget = jdkVersion
+    }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/AppPreparedEvent.java b/payapi/src/main/java/com/supwisdom/dlpay/AppPreparedEvent.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/AppPreparedEvent.java
rename to payapi/src/main/java/com/supwisdom/dlpay/AppPreparedEvent.java
diff --git a/src/main/java/com/supwisdom/dlpay/ServletInitializer.kt b/payapi/src/main/java/com/supwisdom/dlpay/ServletInitializer.kt
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/ServletInitializer.kt
rename to payapi/src/main/java/com/supwisdom/dlpay/ServletInitializer.kt
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/BaseResp.java b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/BaseResp.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/bean/BaseResp.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/bean/BaseResp.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/DlpayReq.java b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/DlpayReq.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/bean/DlpayReq.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/bean/DlpayReq.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/JsonResult.java b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/JsonResult.java
similarity index 99%
rename from src/main/java/com/supwisdom/dlpay/api/bean/JsonResult.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/bean/JsonResult.java
index 67c9b77..dafde31 100755
--- a/src/main/java/com/supwisdom/dlpay/api/bean/JsonResult.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/JsonResult.java
@@ -1,78 +1,78 @@
-package com.supwisdom.dlpay.api.bean;
-
-import java.util.HashMap;
-
-public class JsonResult extends HashMap<String, Object> {
-    public JsonResult() {
-    }
-
-    /**
-     * 返回成功
-     */
-    public static JsonResult ok() {
-        return ok("操作成功");
-    }
-
-    /**
-     * 返回成功
-     */
-    public static JsonResult ok(String message) {
-        return ok(200, message);
-    }
-
-    /**
-     * 返回成功
-     */
-    public static JsonResult ok(int code, String message) {
-        JsonResult jsonResult = new JsonResult();
-        jsonResult.put("code", code);
-        jsonResult.put("msg", message);
-        return jsonResult;
-    }
-
-    /**
-     * 返回失败
-     */
-    public static JsonResult error() {
-        return error("操作失败");
-    }
-
-    /**
-     * 返回失败
-     */
-    public static JsonResult error(String messag) {
-        return error(500, messag);
-    }
-
-    /**
-     * 返回失败
-     */
-    public static JsonResult error(int code, String message) {
-        return ok(code, message);
-    }
-
-    /**
-     * 设置code
-     */
-    public JsonResult setCode(int code) {
-        super.put("code", code);
-        return this;
-    }
-
-    /**
-     * 设置message
-     */
-    public JsonResult setMessage(String message) {
-        super.put("msg", message);
-        return this;
-    }
-
-    /**
-     * 放入object
-     */
-    @Override
-    public JsonResult put(String key, Object object) {
-        super.put(key, object);
-        return this;
-    }
+package com.supwisdom.dlpay.api.bean;
+
+import java.util.HashMap;
+
+public class JsonResult extends HashMap<String, Object> {
+    public JsonResult() {
+    }
+
+    /**
+     * 返回成功
+     */
+    public static JsonResult ok() {
+        return ok("操作成功");
+    }
+
+    /**
+     * 返回成功
+     */
+    public static JsonResult ok(String message) {
+        return ok(200, message);
+    }
+
+    /**
+     * 返回成功
+     */
+    public static JsonResult ok(int code, String message) {
+        JsonResult jsonResult = new JsonResult();
+        jsonResult.put("code", code);
+        jsonResult.put("msg", message);
+        return jsonResult;
+    }
+
+    /**
+     * 返回失败
+     */
+    public static JsonResult error() {
+        return error("操作失败");
+    }
+
+    /**
+     * 返回失败
+     */
+    public static JsonResult error(String messag) {
+        return error(500, messag);
+    }
+
+    /**
+     * 返回失败
+     */
+    public static JsonResult error(int code, String message) {
+        return ok(code, message);
+    }
+
+    /**
+     * 设置code
+     */
+    public JsonResult setCode(int code) {
+        super.put("code", code);
+        return this;
+    }
+
+    /**
+     * 设置message
+     */
+    public JsonResult setMessage(String message) {
+        super.put("msg", message);
+        return this;
+    }
+
+    /**
+     * 放入object
+     */
+    @Override
+    public JsonResult put(String key, Object object) {
+        super.put(key, object);
+        return this;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/ReqParam.java b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/ReqParam.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/bean/ReqParam.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/bean/ReqParam.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/SupStatusRevResp.java b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/SupStatusRevResp.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/bean/SupStatusRevResp.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/bean/SupStatusRevResp.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/SupYktResp.java b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/SupYktResp.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/bean/SupYktResp.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/bean/SupYktResp.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/WechatReqResp.java b/payapi/src/main/java/com/supwisdom/dlpay/api/bean/WechatReqResp.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/bean/WechatReqResp.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/bean/WechatReqResp.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/controller/TestAction.java b/payapi/src/main/java/com/supwisdom/dlpay/api/controller/TestAction.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/controller/TestAction.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/controller/TestAction.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/AccountDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/AccountDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/AccountDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/AccountDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/DebitCreditDtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/DebitCreditDtlDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/DebitCreditDtlDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/DebitCreditDtlDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/PaytypeConfigDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PaytypeConfigDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/PaytypeConfigDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/PaytypeConfigDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/PersonDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersonDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/PersonDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersonDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/PersonIdentityDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersonIdentityDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/PersonIdentityDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersonIdentityDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/PersondtlDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/PointsAccountDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PointsAccountDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/PointsAccountDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/PointsAccountDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/PointsTransdtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/PointsTransdtlDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/PointsTransdtlDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/PointsTransdtlDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/ShopPaytypeConfigDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/ShopPaytypeConfigDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/ShopPaytypeConfigDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/ShopPaytypeConfigDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/ShopPaytypeDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/ShopPaytypeDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/ShopPaytypeDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/ShopPaytypeDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/ShopdtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/ShopdtlDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/ShopdtlDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/ShopdtlDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/SourceTypeDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/SourceTypeDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/SourceTypeDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/SourceTypeDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/SubjectdtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/SubjectdtlDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/SubjectdtlDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/SubjectdtlDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/dao/TransactionMainDao.java b/payapi/src/main/java/com/supwisdom/dlpay/api/dao/TransactionMainDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/dao/TransactionMainDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/dao/TransactionMainDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TAccount.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccount.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TAccount.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccount.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TAccountDayBal.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccountDayBal.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TAccountDayBal.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccountDayBal.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TAccountDayBalPk.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccountDayBalPk.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TAccountDayBalPk.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TAccountDayBalPk.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TDebitCreditDtl.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDebitCreditDtl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TDebitCreditDtl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDebitCreditDtl.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TDebitCreditDtlPK.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDebitCreditDtlPK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TDebitCreditDtlPK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TDebitCreditDtlPK.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TPaytypeConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPaytypeConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TPaytypeConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPaytypeConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TPaytypeConfigPK.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPaytypeConfigPK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TPaytypeConfigPK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPaytypeConfigPK.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TPerson.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPerson.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TPerson.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPerson.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TPersonIdentity.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPersonIdentity.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TPersonIdentity.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPersonIdentity.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TPersondtl.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPersondtl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TPersondtl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPersondtl.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TPointsAccount.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPointsAccount.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TPointsAccount.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPointsAccount.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TPointsTransdtl.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPointsTransdtl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TPointsTransdtl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TPointsTransdtl.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytype.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytype.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytype.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytype.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytypeConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytypeConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytypeConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytypeConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytypePK.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytypePK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytypePK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TShopPaytypePK.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TShopdtl.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TShopdtl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TShopdtl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TShopdtl.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TSourceType.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TSourceType.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TSourceType.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TSourceType.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TSubjectdtl.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TSubjectdtl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TSubjectdtl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TSubjectdtl.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java b/payapi/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/repositories/AccountService.java b/payapi/src/main/java/com/supwisdom/dlpay/api/repositories/AccountService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/repositories/AccountService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/repositories/AccountService.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/repositories/ShopaccService.java b/payapi/src/main/java/com/supwisdom/dlpay/api/repositories/ShopaccService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/repositories/ShopaccService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/repositories/ShopaccService.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/service/SourceTypeService.java b/payapi/src/main/java/com/supwisdom/dlpay/api/service/SourceTypeService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/service/SourceTypeService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/service/SourceTypeService.java
diff --git a/src/main/java/com/supwisdom/dlpay/api/service/impl/SourceTypeServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/api/service/impl/SourceTypeServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/api/service/impl/SourceTypeServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/api/service/impl/SourceTypeServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/exception/TransactionCheckException.java b/payapi/src/main/java/com/supwisdom/dlpay/exception/TransactionCheckException.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/exception/TransactionCheckException.java
rename to payapi/src/main/java/com/supwisdom/dlpay/exception/TransactionCheckException.java
diff --git a/src/main/java/com/supwisdom/dlpay/exception/TransactionException.java b/payapi/src/main/java/com/supwisdom/dlpay/exception/TransactionException.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/exception/TransactionException.java
rename to payapi/src/main/java/com/supwisdom/dlpay/exception/TransactionException.java
diff --git a/src/main/java/com/supwisdom/dlpay/exception/TransactionProcessException.java b/payapi/src/main/java/com/supwisdom/dlpay/exception/TransactionProcessException.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/exception/TransactionProcessException.java
rename to payapi/src/main/java/com/supwisdom/dlpay/exception/TransactionProcessException.java
diff --git a/src/main/java/com/supwisdom/dlpay/exception/ValidateCodeException.java b/payapi/src/main/java/com/supwisdom/dlpay/exception/ValidateCodeException.java
similarity index 99%
rename from src/main/java/com/supwisdom/dlpay/exception/ValidateCodeException.java
rename to payapi/src/main/java/com/supwisdom/dlpay/exception/ValidateCodeException.java
index 0a500ad..98ea42b 100755
--- a/src/main/java/com/supwisdom/dlpay/exception/ValidateCodeException.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/exception/ValidateCodeException.java
@@ -1,23 +1,23 @@
-/**
- * 
- */
-package com.supwisdom.dlpay.exception;
-
-import org.springframework.security.core.AuthenticationException;
-
-/**
- * @author lenovo
- *
- */
-public class ValidateCodeException extends AuthenticationException {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1170189980006964105L;
-
-	
-	public ValidateCodeException(String msg) {
-		super(msg);
-	}
-}
+/**
+ * 
+ */
+package com.supwisdom.dlpay.exception;
+
+import org.springframework.security.core.AuthenticationException;
+
+/**
+ * @author lenovo
+ *
+ */
+public class ValidateCodeException extends AuthenticationException {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1170189980006964105L;
+
+	
+	public ValidateCodeException(String msg) {
+		super(msg);
+	}
+}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/KaptchaConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/KaptchaConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/KaptchaConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/KaptchaConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/core/DatabaseConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/core/DatabaseConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/core/DatabaseConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/core/DatabaseConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/core/DayendSettleTask.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/core/DayendSettleTask.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/core/DayendSettleTask.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/core/DayendSettleTask.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/core/JwtConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/core/JwtConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/core/JwtConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/core/JwtConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/core/JwtToken.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/core/JwtToken.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/core/JwtToken.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/core/JwtToken.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/core/JwtTokenUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/core/JwtTokenUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/core/JwtTokenUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/core/JwtTokenUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/core/PasswordBCryptConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/core/PasswordBCryptConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/core/PasswordBCryptConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/core/PasswordBCryptConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ApiClientDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ApiClientDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/ApiClientDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ApiClientDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/BusinessparaDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/BusinessparaDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/BusinessparaDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/BusinessparaDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/DictionaryDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/DictionaryDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/DictionaryDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/DictionaryDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/FeetypeConfigDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/FeetypeConfigDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/FeetypeConfigDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/FeetypeConfigDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/FunctionDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/FunctionDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/FunctionDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/FunctionDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/OperLogDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/OperLogDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/OperLogDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/OperLogDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/OperRoleDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/OperRoleDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/OperRoleDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/OperRoleDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/OperatorDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/OperatorDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/OperatorDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/OperatorDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/PeriodDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/PeriodDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/PeriodDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/PeriodDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/PermissionDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/PermissionDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/PermissionDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/PermissionDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ResourceDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ResourceDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/ResourceDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ResourceDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/RoleDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/RoleDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/RoleDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/RoleDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/RoleFunctionDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/RoleFunctionDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/RoleFunctionDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/RoleFunctionDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SettleCtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SettleCtlDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/SettleCtlDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SettleCtlDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SettleLogDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SettleLogDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/SettleLogDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SettleLogDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ShopDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccdayDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccdayDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccdayDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccdayDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/SubjectDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectbalDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectbalDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/SubjectbalDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectbalDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SysparaDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SysparaDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/SysparaDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/SysparaDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/TenantConfigDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TenantConfigDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/TenantConfigDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TenantConfigDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/TranscodeDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TranscodeDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/TranscodeDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TranscodeDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/TranstypeDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TranstypeDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/TranstypeDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/TranstypeDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/VoucherDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherEntryDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherEntryDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/VoucherEntryDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherEntryDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/VouchernoCtlDao.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/dao/VouchernoCtlDao.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/dao/VouchernoCtlDao.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/dao/VouchernoCtlDao.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/ExistBean.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/data/ExistBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/data/ExistBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/data/ExistBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/FSubjectInfoBean.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/data/FSubjectInfoBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/data/FSubjectInfoBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/data/FSubjectInfoBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/MerchBean.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/data/MerchBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/data/MerchBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/data/MerchBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/NodeData.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/data/NodeData.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/data/NodeData.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/data/NodeData.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/SubjectInfoBean.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/data/SubjectInfoBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/data/SubjectInfoBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/data/SubjectInfoBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/SystemDateTime.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/data/SystemDateTime.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/data/SystemDateTime.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/data/SystemDateTime.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/VoucherTemp.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/data/VoucherTemp.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/data/VoucherTemp.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/data/VoucherTemp.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/ApiClientRedis.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/ApiClientRedis.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/ApiClientRedis.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/ApiClientRedis.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/DictionaryTable.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/DictionaryTable.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/DictionaryTable.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/DictionaryTable.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/JwtRedis.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/JwtRedis.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/JwtRedis.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/JwtRedis.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/PersonRedis.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/PersonRedis.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/PersonRedis.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/PersonRedis.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TApiClient.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TApiClient.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TApiClient.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TApiClient.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TBusinesspara.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TBusinesspara.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TBusinesspara.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TBusinesspara.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TDictionary.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TDictionary.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TDictionary.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TDictionary.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TDictionaryPK.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TDictionaryPK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TDictionaryPK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TDictionaryPK.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TFeetypeConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TFeetypeConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TFeetypeConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TFeetypeConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TFeetypeConfigPK.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TFeetypeConfigPK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TFeetypeConfigPK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TFeetypeConfigPK.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TFunction.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TFunction.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TFunction.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TFunction.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TOperLog.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TOperLog.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TOperLog.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TOperLog.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TOperRole.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TOperRole.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TOperRole.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TOperRole.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TOperator.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TPeriod.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPeriod.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TPeriod.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPeriod.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TPeriodPK.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPeriodPK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TPeriodPK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPeriodPK.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TPermission.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPermission.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TPermission.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TPermission.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TResource.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TResource.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TResource.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TResource.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TRole.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TRole.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TRole.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TRole.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TRoleFunction.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TRoleFunction.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TRoleFunction.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TRoleFunction.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TSettleLog.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSettleLog.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TSettleLog.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSettleLog.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TSettlectl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSettlectl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TSettlectl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSettlectl.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShop.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopacc.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TShopaccday.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopaccday.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TShopaccday.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopaccday.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TShopaccdayPK.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopaccdayPK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TShopaccdayPK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TShopaccdayPK.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TSubject.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSubject.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TSubject.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSubject.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectbal.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectbal.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectbal.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectbal.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectday.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectday.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectday.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectday.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectdayPK.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectdayPK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectdayPK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSubjectdayPK.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TSyspara.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSyspara.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TSyspara.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TSyspara.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TTaskLock.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTaskLock.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TTaskLock.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTaskLock.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TTenantConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTenantConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TTranscode.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTranscode.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TTranscode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTranscode.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TTranstype.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTranstype.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TTranstype.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TTranstype.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucher.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucher.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TVoucher.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucher.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucherEntry.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucherEntry.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TVoucherEntry.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucherEntry.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucherEntryPK.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucherEntryPK.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TVoucherEntryPK.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TVoucherEntryPK.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/domain/TVouchernoCtl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TVouchernoCtl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/domain/TVouchernoCtl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/domain/TVouchernoCtl.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/filter/ValidateCodeFilter.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/filter/ValidateCodeFilter.java
similarity index 99%
rename from src/main/java/com/supwisdom/dlpay/framework/filter/ValidateCodeFilter.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/filter/ValidateCodeFilter.java
index ac7a323..c58260d 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/filter/ValidateCodeFilter.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/filter/ValidateCodeFilter.java
@@ -1,92 +1,92 @@
-package com.supwisdom.dlpay.framework.filter;
-
-
-import com.supwisdom.dlpay.exception.ValidateCodeException;
-import com.supwisdom.dlpay.framework.security.CodeUtil;
-import com.supwisdom.dlpay.framework.security.MyAuthenticationFailureHandler;
-import com.supwisdom.dlpay.framework.security.validate.ImageCodeUtil;
-import com.supwisdom.dlpay.framework.security.validate.VerifyCode;
-import com.supwisdom.dlpay.framework.util.StringUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.web.filter.OncePerRequestFilter;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-
-@Component("validateCodeFilter")
-public class ValidateCodeFilter extends OncePerRequestFilter {
-
-  /**
-   * 校验失败处理器
-   */
-  @Autowired
-  private MyAuthenticationFailureHandler myAuthenticationFailureHandler;
-
-
-  @Override
-  protected void doFilterInternal(HttpServletRequest request,
-                                  HttpServletResponse response, FilterChain filterChain)
-      throws ServletException, IOException {
-    String context = request.getContextPath();
-    if (context == null || "" == context.trim()) {
-      context = "/";
-    }
-    if (request.getRequestURI().isEmpty()) {
-      filterChain.doFilter(request, response);
-      return;
-    }
-    String url = request.getRequestURI();
-    if (!"/".equals(context)) {
-      url = url.replace(context, "");
-    }
-    if (StringUtil.equals("/login/form", url)
-        && StringUtil.equalsIgnoreCase(request.getMethod(), "post")) {
-      try {
-        validate(request);
-      } catch (ValidateCodeException e) {
-        //response.setStatus(HttpStatus.OK.value());
-        //response.setContentType("application/json;charset=UTF-8");
-        //response.getWriter().write(objectMapper.writeValueAsString(JsonResult.error(400, e.getMessage())));
-        //response.sendError(HttpStatus.UNAUTHORIZED.value(),e.getMessage());
-        myAuthenticationFailureHandler.onAuthenticationFailure(request, response, e);
-        return;
-      }
-    }
-    filterChain.doFilter(request, response);
-  }
-
-  private void validate(HttpServletRequest request) throws ValidateCodeException {
-    if (!CodeUtil.checkVerifyCode(request)) {
-      throw new ValidateCodeException("验证码不匹配");
-    } else {
-      request.getSession().removeAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
-    }
-//    VerifyCode imageCode = (VerifyCode) request.getSession().getAttribute(ImageCodeUtil.LOGIN_IMAGECODE_SESSIONKEY);
-//    String inputCode;
-//    try {
-//      inputCode = request.getParameter("imageCode");
-//    } catch (Exception e) {
-//      throw new ValidateCodeException("获取验证码的值失败");
-//    }
-//    if (StringUtil.isEmpty(inputCode)) {
-//      throw new ValidateCodeException("验证码不能为空");
-//    }
-//    if (null == imageCode) {
-//      throw new ValidateCodeException("验证码不存在");
-//    }
-//    if (imageCode.isExpired()) {
-//      request.getSession().removeAttribute(ImageCodeUtil.LOGIN_IMAGECODE_SESSIONKEY);
-//      throw new ValidateCodeException("验证码已过期");
-//    }
-//    if (!StringUtil.equalsIgnoreCase(imageCode.getText(), inputCode)) {
-//      throw new ValidateCodeException("验证码不匹配");
-//    }
-//    request.getSession().removeAttribute(ImageCodeUtil.LOGIN_IMAGECODE_SESSIONKEY);
-  }
-
-}
+package com.supwisdom.dlpay.framework.filter;
+
+
+import com.supwisdom.dlpay.exception.ValidateCodeException;
+import com.supwisdom.dlpay.framework.security.CodeUtil;
+import com.supwisdom.dlpay.framework.security.MyAuthenticationFailureHandler;
+import com.supwisdom.dlpay.framework.security.validate.ImageCodeUtil;
+import com.supwisdom.dlpay.framework.security.validate.VerifyCode;
+import com.supwisdom.dlpay.framework.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+
+@Component("validateCodeFilter")
+public class ValidateCodeFilter extends OncePerRequestFilter {
+
+  /**
+   * 校验失败处理器
+   */
+  @Autowired
+  private MyAuthenticationFailureHandler myAuthenticationFailureHandler;
+
+
+  @Override
+  protected void doFilterInternal(HttpServletRequest request,
+                                  HttpServletResponse response, FilterChain filterChain)
+      throws ServletException, IOException {
+    String context = request.getContextPath();
+    if (context == null || "" == context.trim()) {
+      context = "/";
+    }
+    if (request.getRequestURI().isEmpty()) {
+      filterChain.doFilter(request, response);
+      return;
+    }
+    String url = request.getRequestURI();
+    if (!"/".equals(context)) {
+      url = url.replace(context, "");
+    }
+    if (StringUtil.equals("/login/form", url)
+        && StringUtil.equalsIgnoreCase(request.getMethod(), "post")) {
+      try {
+        validate(request);
+      } catch (ValidateCodeException e) {
+        //response.setStatus(HttpStatus.OK.value());
+        //response.setContentType("application/json;charset=UTF-8");
+        //response.getWriter().write(objectMapper.writeValueAsString(JsonResult.error(400, e.getMessage())));
+        //response.sendError(HttpStatus.UNAUTHORIZED.value(),e.getMessage());
+        myAuthenticationFailureHandler.onAuthenticationFailure(request, response, e);
+        return;
+      }
+    }
+    filterChain.doFilter(request, response);
+  }
+
+  private void validate(HttpServletRequest request) throws ValidateCodeException {
+    if (!CodeUtil.checkVerifyCode(request)) {
+      throw new ValidateCodeException("验证码不匹配");
+    } else {
+      request.getSession().removeAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
+    }
+//    VerifyCode imageCode = (VerifyCode) request.getSession().getAttribute(ImageCodeUtil.LOGIN_IMAGECODE_SESSIONKEY);
+//    String inputCode;
+//    try {
+//      inputCode = request.getParameter("imageCode");
+//    } catch (Exception e) {
+//      throw new ValidateCodeException("获取验证码的值失败");
+//    }
+//    if (StringUtil.isEmpty(inputCode)) {
+//      throw new ValidateCodeException("验证码不能为空");
+//    }
+//    if (null == imageCode) {
+//      throw new ValidateCodeException("验证码不存在");
+//    }
+//    if (imageCode.isExpired()) {
+//      request.getSession().removeAttribute(ImageCodeUtil.LOGIN_IMAGECODE_SESSIONKEY);
+//      throw new ValidateCodeException("验证码已过期");
+//    }
+//    if (!StringUtil.equalsIgnoreCase(imageCode.getText(), inputCode)) {
+//      throw new ValidateCodeException("验证码不匹配");
+//    }
+//    request.getSession().removeAttribute(ImageCodeUtil.LOGIN_IMAGECODE_SESSIONKEY);
+  }
+
+}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/redisrepo/ApiClientRepository.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/redisrepo/ApiClientRepository.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/redisrepo/ApiClientRepository.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/redisrepo/ApiClientRepository.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/redisrepo/ApiJwtRepository.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/redisrepo/ApiJwtRepository.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/redisrepo/ApiJwtRepository.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/redisrepo/ApiJwtRepository.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/redisrepo/PersonRepository.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/redisrepo/PersonRepository.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/redisrepo/PersonRepository.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/redisrepo/PersonRepository.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/CodeUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/CodeUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/security/CodeUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/CodeUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationFailureHandler.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationFailureHandler.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationFailureHandler.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationFailureHandler.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationSuccessHandler.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationSuccessHandler.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationSuccessHandler.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationSuccessHandler.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/MyInvalidSessionStrategy.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyInvalidSessionStrategy.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/security/MyInvalidSessionStrategy.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyInvalidSessionStrategy.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/MyPermissionEvaluator.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyPermissionEvaluator.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/security/MyPermissionEvaluator.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyPermissionEvaluator.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/OperUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/OperUtil.java
similarity index 99%
rename from src/main/java/com/supwisdom/dlpay/framework/security/OperUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/OperUtil.java
index d576b41..4dd8c9e 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/security/OperUtil.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/OperUtil.java
@@ -1,68 +1,68 @@
-package com.supwisdom.dlpay.framework.security;
-
-import com.supwisdom.dlpay.framework.domain.TOperator;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-
-import java.util.Collection;
-
-public class OperUtil {
-
-  public static TOperator getCurrentOper() {
-    Authentication au = SecurityContextHolder.getContext()
-        .getAuthentication();
-    if (au == null)
-      return null;
-    if (au.getPrincipal() == null)
-      return null;
-    if (au != null && au.getPrincipal() instanceof TOperator) {
-      return (TOperator) au.getPrincipal();
-    } else {
-      TOperator oper = new TOperator();
-      oper.setOpername(au.getPrincipal().toString());
-      oper.setOperpwd(au.getCredentials() == null ? null : au
-          .getCredentials().toString());
-      return oper;
-    }
-  }
-
-  public static String getCurrentOperid() {
-    TOperator oper = getCurrentOper();
-    if (oper == null)
-      return null;
-    return oper.getOperid() == null ? oper.getOpercode() : oper.getOperid();
-  }
-
-  public static boolean isLogined() {
-    Authentication au = SecurityContextHolder.getContext()
-        .getAuthentication();
-    if (au == null)
-      return false;
-    if (au.getPrincipal() == null)
-      return false;
-    if (au.getPrincipal() instanceof TOperator)
-      return true;
-    return false;
-  }
-
-  public static boolean isAdmin() {
-    TOperator loginOper = OperUtil.getCurrentOper();
-    if (loginOper != null) {
-      Collection<? extends GrantedAuthority> gas = loginOper.getAuthorities();
-      if (gas == null) {
-        return false;
-      }
-      boolean flag = false;
-      for (GrantedAuthority grantedAuthority : gas) {
-        if ("ROLE_ADMIN".equals(grantedAuthority.getAuthority())) {
-          flag = true;
-        }
-      }
-      return flag;
-    } else {
-      return false;
-    }
-  }
-
-}
+package com.supwisdom.dlpay.framework.security;
+
+import com.supwisdom.dlpay.framework.domain.TOperator;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
+
+import java.util.Collection;
+
+public class OperUtil {
+
+  public static TOperator getCurrentOper() {
+    Authentication au = SecurityContextHolder.getContext()
+        .getAuthentication();
+    if (au == null)
+      return null;
+    if (au.getPrincipal() == null)
+      return null;
+    if (au != null && au.getPrincipal() instanceof TOperator) {
+      return (TOperator) au.getPrincipal();
+    } else {
+      TOperator oper = new TOperator();
+      oper.setOpername(au.getPrincipal().toString());
+      oper.setOperpwd(au.getCredentials() == null ? null : au
+          .getCredentials().toString());
+      return oper;
+    }
+  }
+
+  public static String getCurrentOperid() {
+    TOperator oper = getCurrentOper();
+    if (oper == null)
+      return null;
+    return oper.getOperid() == null ? oper.getOpercode() : oper.getOperid();
+  }
+
+  public static boolean isLogined() {
+    Authentication au = SecurityContextHolder.getContext()
+        .getAuthentication();
+    if (au == null)
+      return false;
+    if (au.getPrincipal() == null)
+      return false;
+    if (au.getPrincipal() instanceof TOperator)
+      return true;
+    return false;
+  }
+
+  public static boolean isAdmin() {
+    TOperator loginOper = OperUtil.getCurrentOper();
+    if (loginOper != null) {
+      Collection<? extends GrantedAuthority> gas = loginOper.getAuthorities();
+      if (gas == null) {
+        return false;
+      }
+      boolean flag = false;
+      for (GrantedAuthority grantedAuthority : gas) {
+        if ("ROLE_ADMIN".equals(grantedAuthority.getAuthority())) {
+          flag = true;
+        }
+      }
+      return flag;
+    } else {
+      return false;
+    }
+  }
+
+}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/ValidateCodeSecurityConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/ValidateCodeSecurityConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/security/ValidateCodeSecurityConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/ValidateCodeSecurityConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCode.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCode.java
similarity index 99%
rename from src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCode.java
index 6b56ca8..d88d3af 100755
--- a/src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCode.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCode.java
@@ -1,21 +1,21 @@
-package com.supwisdom.dlpay.framework.security.validate;
-
-import java.awt.image.BufferedImage;
-
-public class ImageCode extends ValidateCode {
-	private BufferedImage image;
-
-	public ImageCode(BufferedImage image, String code, int expireTime) {
-		super(code, expireTime);
-		this.image = image;
-	}
-
-	public BufferedImage getImage() {
-		return image;
-	}
-
-	public void setImage(BufferedImage image) {
-		this.image = image;
-	}
-
-}
+package com.supwisdom.dlpay.framework.security.validate;
+
+import java.awt.image.BufferedImage;
+
+public class ImageCode extends ValidateCode {
+	private BufferedImage image;
+
+	public ImageCode(BufferedImage image, String code, int expireTime) {
+		super(code, expireTime);
+		this.image = image;
+	}
+
+	public BufferedImage getImage() {
+		return image;
+	}
+
+	public void setImage(BufferedImage image) {
+		this.image = image;
+	}
+
+}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCodeUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCodeUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCodeUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/ImageCodeUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/validate/ValidateCode.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/ValidateCode.java
similarity index 99%
rename from src/main/java/com/supwisdom/dlpay/framework/security/validate/ValidateCode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/ValidateCode.java
index b20eca2..67a4812 100755
--- a/src/main/java/com/supwisdom/dlpay/framework/security/validate/ValidateCode.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/ValidateCode.java
@@ -1,55 +1,55 @@
-package com.supwisdom.dlpay.framework.security.validate;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.supwisdom.dlpay.framework.util.DateUtil;
-import java.util.Date;
-
-
-public class ValidateCode{
-
-	private String code;
-	
-	private Date expireTime;
-
-	public ValidateCode() {
-		super();
-	}
-
-	public ValidateCode(String code, Date expireTime) {
-		super();
-		this.code = code;
-		this.expireTime = expireTime;
-	}
-
-	public ValidateCode(String code, int expireTime) {
-		super();
-		this.code = code;
-		this.expireTime = DateUtil.setMinutes(new Date(), expireTime);
-	}
-
-	public String getCode() {
-		return code;
-	}
-
-	public void setCode(String code) {
-		this.code = code;
-	}
-
-	public Date getExpireTime() {
-		return expireTime;
-	}
-
-	public void setExpireTime(Date expireTime) {
-		this.expireTime = expireTime;
-	}
-
-	@JsonIgnore
-	public boolean isExpired() {
-		return new Date().compareTo(expireTime) > 0;
-	}
-
-	@Override
-	public String toString() {
-		return "ValidateCode [code=" + code + ", expireTime=" + expireTime + "]";
-	}
-}
+package com.supwisdom.dlpay.framework.security.validate;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.supwisdom.dlpay.framework.util.DateUtil;
+import java.util.Date;
+
+
+public class ValidateCode{
+
+	private String code;
+	
+	private Date expireTime;
+
+	public ValidateCode() {
+		super();
+	}
+
+	public ValidateCode(String code, Date expireTime) {
+		super();
+		this.code = code;
+		this.expireTime = expireTime;
+	}
+
+	public ValidateCode(String code, int expireTime) {
+		super();
+		this.code = code;
+		this.expireTime = DateUtil.setMinutes(new Date(), expireTime);
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Date getExpireTime() {
+		return expireTime;
+	}
+
+	public void setExpireTime(Date expireTime) {
+		this.expireTime = expireTime;
+	}
+
+	@JsonIgnore
+	public boolean isExpired() {
+		return new Date().compareTo(expireTime) > 0;
+	}
+
+	@Override
+	public String toString() {
+		return "ValidateCode [code=" + code + ", expireTime=" + expireTime + "]";
+	}
+}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/security/validate/VerifyCode.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/VerifyCode.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/security/validate/VerifyCode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/security/validate/VerifyCode.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/DayendSettleService.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/DayendSettleService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/service/DayendSettleService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/service/DayendSettleService.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/DayendStatisticsService.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/DayendStatisticsService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/service/DayendStatisticsService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/service/DayendStatisticsService.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/OperatorDetailService.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/OperatorDetailService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/service/OperatorDetailService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/service/OperatorDetailService.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/SystemUtilService.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/SystemUtilService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/service/SystemUtilService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/service/SystemUtilService.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendSettleServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendSettleServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendSettleServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendSettleServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendStatisticsServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendStatisticsServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendStatisticsServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendStatisticsServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/impl/OperatorDetailServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/OperatorDetailServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/service/impl/OperatorDetailServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/OperatorDetailServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/service/impl/SystemUtilServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/tenant/HibernateConfig.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/HibernateConfig.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/tenant/HibernateConfig.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/HibernateConfig.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/tenant/MultiTenantConnectionProviderImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/MultiTenantConnectionProviderImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/tenant/MultiTenantConnectionProviderImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/MultiTenantConnectionProviderImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/tenant/MultiTenantIdentifierResolver.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/MultiTenantIdentifierResolver.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/tenant/MultiTenantIdentifierResolver.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/MultiTenantIdentifierResolver.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantContext.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantContext.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/tenant/TenantContext.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantContext.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantInterceptor.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantInterceptor.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/tenant/TenantInterceptor.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/tenant/TenantInterceptor.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/Constants.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Constants.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/Constants.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/Constants.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/DateUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/Dictionary.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Dictionary.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/Dictionary.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/Dictionary.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/HmacUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/HmacUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/HmacUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/HmacUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/MD5.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/MD5.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/MD5.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/MD5.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/MoneyUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/MoneyUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/MoneyUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/MoneyUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/NumberUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/NumberUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/NumberUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/NumberUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/PageResult.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/PageResult.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/PageResult.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/PageResult.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/PermissionConstants.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/PermissionConstants.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/PermissionConstants.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/PermissionConstants.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/RandomUtils.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/RandomUtils.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/RandomUtils.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/RandomUtils.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/Sign.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Sign.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/Sign.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/Sign.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/Subject.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Subject.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/Subject.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/Subject.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/SysparaUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/SysparaUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/SysparaUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/SysparaUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/TradeCode.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeCode.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/TradeCode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeCode.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/TradeErrorCode.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeErrorCode.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/TradeErrorCode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeErrorCode.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/TradeSummary.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeSummary.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/TradeSummary.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/TradeSummary.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/Tradetype.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/Tradetype.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/Tradetype.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/Tradetype.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/TranstypeCode.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/TranstypeCode.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/TranstypeCode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/TranstypeCode.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/WebConstant.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/WebConstant.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/WebConstant.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/WebConstant.java
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/XmlUtils.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/XmlUtils.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/framework/util/XmlUtils.java
rename to payapi/src/main/java/com/supwisdom/dlpay/framework/util/XmlUtils.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/AccountPerson.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/AccountPerson.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/AccountPerson.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/AccountPerson.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/FunctionSearchBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/FunctionSearchBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/FunctionSearchBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/FunctionSearchBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/IdTypeBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/IdTypeBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/IdTypeBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/IdTypeBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/LogBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/LogBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/LogBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/LogBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/OperatorSearchBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/OperatorSearchBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/OperatorSearchBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/OperatorSearchBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/PageBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/PageBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/PageBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/PageBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/PersonParamBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/PersonParamBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/PersonParamBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/PersonParamBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/ShopBusinessInfo.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/ShopBusinessInfo.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/ShopBusinessInfo.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/ShopBusinessInfo.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/ShopBusinessShowBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/ShopBusinessShowBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/ShopBusinessShowBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/ShopBusinessShowBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/ShopConfigBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/ShopConfigBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/ShopConfigBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/ShopConfigBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/ShopdtlSearchBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/ShopdtlSearchBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/ShopdtlSearchBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/ShopdtlSearchBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayInfo.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayInfo.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayInfo.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayInfo.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayShowBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayShowBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayShowBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDayShowBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDetailShowBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDetailShowBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/SubjectDetailShowBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/SubjectDetailShowBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/TreeSelectNode.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/TreeSelectNode.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/TreeSelectNode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/TreeSelectNode.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/UserdtlSearchBean.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/UserdtlSearchBean.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/UserdtlSearchBean.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/UserdtlSearchBean.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/bean/ZTreeNode.java b/payapi/src/main/java/com/supwisdom/dlpay/system/bean/ZTreeNode.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/bean/ZTreeNode.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/bean/ZTreeNode.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/DictPoolAction.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/DictPoolAction.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/DictPoolAction.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/DictPoolAction.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/DtlController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/DtlController.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/DtlController.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/DtlController.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/FunctionController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/FunctionController.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/FunctionController.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/FunctionController.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/OperatorController.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/ParamController.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/RoleController.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/SettleReportController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/SettleReportController.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/SettleReportController.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/SettleReportController.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/UserController.java b/payapi/src/main/java/com/supwisdom/dlpay/system/controller/UserController.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/controller/UserController.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/controller/UserController.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/DictionaryDataService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryDataService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/DictionaryDataService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryDataService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/DictionaryProxy.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryProxy.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/DictionaryProxy.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/DictionaryProxy.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/DtlDataService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/DtlDataService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/DtlDataService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/DtlDataService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/FunctionService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/FunctionService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/FunctionService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/FunctionService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/OperatorService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/OperatorService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/OperatorService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/OperatorService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/ParamService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/ParamService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/ParamService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/ParamService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/RoleService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/RoleService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/RoleService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/RoleService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/SettleReportService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/SettleReportService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/SettleReportService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/SettleReportService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/ShopDataService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/ShopDataService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/ShopDataService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/ShopDataService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/UserDataService.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/UserDataService.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/UserDataService.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/UserDataService.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/DictionaryDataServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/DictionaryDataServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/DictionaryDataServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/DictionaryDataServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/DtlDataServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/DtlDataServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/DtlDataServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/DtlDataServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/FunctionServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/FunctionServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/FunctionServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/FunctionServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/OperatorServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/ParamServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/ParamServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/ParamServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/ParamServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/RoleServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/SettleReportServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/SettleReportServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/SettleReportServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/SettleReportServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/ShopDataServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/ShopDataServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/ShopDataServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/ShopDataServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java b/payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
rename to payapi/src/main/java/com/supwisdom/dlpay/system/service/impl/UserDataServiceImpl.java
diff --git a/src/main/java/com/supwisdom/dlpay/util/Code.java b/payapi/src/main/java/com/supwisdom/dlpay/util/Code.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/util/Code.java
rename to payapi/src/main/java/com/supwisdom/dlpay/util/Code.java
diff --git a/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/util/ConstantUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/util/DESedeUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/util/DESedeUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/util/DESedeUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/util/DESedeUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/util/DlpayUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/util/DlpayUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/util/DlpayUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/util/DlpayUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/util/PaytypeUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/util/PaytypeUtil.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/util/PaytypeUtil.java
rename to payapi/src/main/java/com/supwisdom/dlpay/util/PaytypeUtil.java
diff --git a/src/main/java/com/supwisdom/dlpay/util/WebCheckException.java b/payapi/src/main/java/com/supwisdom/dlpay/util/WebCheckException.java
similarity index 100%
rename from src/main/java/com/supwisdom/dlpay/util/WebCheckException.java
rename to payapi/src/main/java/com/supwisdom/dlpay/util/WebCheckException.java
diff --git a/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/PayApiApplication.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/ThirdPayCall.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/ThirdPayCall.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/ThirdPayCall.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/ThirdPayCall.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/advices.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/advices.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/advices.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/advices.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/async_tasks.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/async_tasks.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/async_tasks.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/async_tasks.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/bean/api_request_param.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/charge_api_controller.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/dali_datasync_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/dali_datasync_api_controller.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/controller/dali_datasync_api_controller.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/dali_datasync_api_controller.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/notify_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/notify_api_controller.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/controller/notify_api_controller.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/notify_api_controller.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/shop_api_controller.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/charge_api_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/charge_api_service.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/charge_api_service.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/charge_api_service.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/consume_pay_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/consume_pay_service.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/consume_pay_service.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/consume_pay_service.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/account_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/account_service_impl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/impl/account_service_impl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/account_service_impl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/charge_api_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/charge_api_service_impl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/impl/charge_api_service_impl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/charge_api_service_impl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/consume_pay_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/consume_pay_service_impl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/impl/consume_pay_service_impl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/consume_pay_service_impl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/pay_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/pay_service_impl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/impl/pay_service_impl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/pay_service_impl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/shop_service_impl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/user_service_impl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/pay_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/pay_service.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/pay_service.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/pay_service.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/shop_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/shop_service.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/shop_service.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/shop_service.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/user_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/user_service.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/service/user_service.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/user_service.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/app/bean/app_request_param.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/app/bean/app_request_param.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/app/bean/app_request_param.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/app/bean/app_request_param.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/framework_controller.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/framework_util.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/framework_util.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/framework/framework_util.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/framework/framework_util.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/service/framework_service.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/service/framework_service.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/framework/service/framework_service.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/framework/service/framework_service.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/framework/service/impl/framework_service_impl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/tenant.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/framework/tenant.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/framework/tenant.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/framework/tenant.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/dao/MobileUserDao.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/dao/MobileUserDao.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/dao/MobileUserDao.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/dao/MobileUserDao.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/domain/TBMobileUser.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/domain/TBMobileUser.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/domain/TBMobileUser.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/domain/TBMobileUser.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/exception/UserLoginFailException.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/exception/UserLoginFailException.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/exception/UserLoginFailException.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/exception/UserLoginFailException.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileApiService.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileUserService.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileUserService.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileUserService.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/MobileUserService.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileUserServiceImpl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileUserServiceImpl.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileUserServiceImpl.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileUserServiceImpl.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/oauth.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/oauth.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/oauth.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/oauth.kt
diff --git a/src/main/kotlin/com/supwisdom/dlpay/security.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/security.kt
similarity index 100%
rename from src/main/kotlin/com/supwisdom/dlpay/security.kt
rename to payapi/src/main/kotlin/com/supwisdom/dlpay/security.kt
diff --git a/src/main/resources/application.properties b/payapi/src/main/resources/application.properties
similarity index 100%
rename from src/main/resources/application.properties
rename to payapi/src/main/resources/application.properties
diff --git a/src/main/resources/data-postgresql.sql b/payapi/src/main/resources/data-postgresql.sql
similarity index 100%
rename from src/main/resources/data-postgresql.sql
rename to payapi/src/main/resources/data-postgresql.sql
diff --git a/src/main/resources/data.sql b/payapi/src/main/resources/data.sql
similarity index 100%
rename from src/main/resources/data.sql
rename to payapi/src/main/resources/data.sql
diff --git a/src/main/resources/static/custom/css/admin.css b/payapi/src/main/resources/static/custom/css/admin.css
similarity index 100%
rename from src/main/resources/static/custom/css/admin.css
rename to payapi/src/main/resources/static/custom/css/admin.css
diff --git a/src/main/resources/static/custom/css/console.css b/payapi/src/main/resources/static/custom/css/console.css
similarity index 100%
rename from src/main/resources/static/custom/css/console.css
rename to payapi/src/main/resources/static/custom/css/console.css
diff --git a/src/main/resources/static/custom/css/login.css b/payapi/src/main/resources/static/custom/css/login.css
similarity index 100%
rename from src/main/resources/static/custom/css/login.css
rename to payapi/src/main/resources/static/custom/css/login.css
diff --git a/src/main/resources/static/custom/css/theme-blue.css b/payapi/src/main/resources/static/custom/css/theme-blue.css
similarity index 100%
rename from src/main/resources/static/custom/css/theme-blue.css
rename to payapi/src/main/resources/static/custom/css/theme-blue.css
diff --git a/src/main/resources/static/custom/images/bg_login.png b/payapi/src/main/resources/static/custom/images/bg_login.png
similarity index 100%
rename from src/main/resources/static/custom/images/bg_login.png
rename to payapi/src/main/resources/static/custom/images/bg_login.png
Binary files differ
diff --git a/src/main/resources/static/custom/images/head.png b/payapi/src/main/resources/static/custom/images/head.png
similarity index 100%
rename from src/main/resources/static/custom/images/head.png
rename to payapi/src/main/resources/static/custom/images/head.png
Binary files differ
diff --git a/src/main/resources/static/custom/images/logo.png b/payapi/src/main/resources/static/custom/images/logo.png
similarity index 100%
rename from src/main/resources/static/custom/images/logo.png
rename to payapi/src/main/resources/static/custom/images/logo.png
Binary files differ
diff --git a/src/main/resources/static/custom/module/admin.js b/payapi/src/main/resources/static/custom/module/admin.js
similarity index 99%
rename from src/main/resources/static/custom/module/admin.js
rename to payapi/src/main/resources/static/custom/module/admin.js
index e15cfdf..cbdbc36 100755
--- a/src/main/resources/static/custom/module/admin.js
+++ b/payapi/src/main/resources/static/custom/module/admin.js
@@ -1,387 +1,387 @@
-layui.define(['layer'], function (exports) {
-    var layer = layui.layer;
-    var popupRightIndex, popupCenterIndex, popupCenterParam;
-    var baseUrl = window.location.pathname;
-
-    var admin = {
-        isRefresh: false,
-        // 设置侧栏折叠
-        flexible: function (expand) {
-            var isExapnd = $('.layui-layout-admin').hasClass('admin-nav-mini');
-            if (isExapnd == !expand) {
-                return;
-            }
-            if (expand) {
-                $('.layui-layout-admin').removeClass('admin-nav-mini');
-            } else {
-                $('.layui-layout-admin').addClass('admin-nav-mini');
-            }
-        },
-        // 设置导航栏选中
-        activeNav: function (url) {
-            $('.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child dd').removeClass('layui-this');
-            $('.layui-layout-admin .layui-side .layui-nav .layui-nav-item').removeClass('layui-this');
-            if (url && url != '') {
-                $('.layui-layout-admin .layui-side .layui-nav .layui-nav-item').removeClass('layui-nav-itemed');
-                var $a = $('.layui-layout-admin .layui-side .layui-nav a[href="#!' + url + '"]');
-                $a.parent('li').addClass('layui-this');
-                $a.parent('dd').addClass('layui-this');
-                $a.parent('dd').parent('.layui-nav-child').parent('.layui-nav-item').addClass('layui-nav-itemed');
-            }
-        },
-        // 右侧弹出
-        popupRight: function (path) {
-            var param = new Object();
-            param.path = path;
-            param.id = 'adminPopupR';
-            param.title = false;
-            param.anim = 2;
-            param.isOutAnim = false;
-            param.closeBtn = false;
-            param.offset = 'r';
-            param.shadeClose = true;
-            param.area = '336px';
-            param.skin = 'layui-layer-adminRight';
-            param.end = function () {
-                layer.closeAll('tips');
-            };
-            popupRightIndex = admin.open(param);
-            return popupRightIndex;
-        },
-        // 关闭右侧弹出
-        closePopupRight: function () {
-            layer.close(popupRightIndex);
-        },
-        // 中间弹出
-        popupCenter: function (param) {
-            param.id = 'adminPopupC';
-            popupCenterParam = param;
-            popupCenterIndex = admin.open(param);
-            return popupCenterIndex;
-        },
-        // 关闭中间弹出并且触发finish回调
-        finishPopupCenter: function () {
-            layer.close(popupCenterIndex);
-            popupCenterParam.finish ? popupCenterParam.finish() : '';
-        },
-        // 关闭中间弹出
-        closePopupCenter: function () {
-            layer.close(popupCenterIndex);
-        },
-        // 封装layer.open
-        open: function (param) {
-            var sCallBack = param.success;
-            param.type = 1;
-            param.area = param.area ? param.area : '450px';
-            param.offset = param.offset ? param.offset : '120px';
-            param.resize ? param.resize : false;
-            param.shade ? param.shade : .2;
-            param.success = function (layero, index) {
-                sCallBack ? sCallBack(layero, index) : '';
-                admin.ajax({
-                    url: param.path,
-                    type: 'GET',
-                    dataType: 'html',
-                    success: function (result, status, xhr) {
-                        $(layero).children('.layui-layer-content').html(result);
-                    }
-                });
-            };
-            return layer.open(param);
-        },
-        
-        go:function(url,data,success,error){
-        	  $.ajax({
-        		  url: url,
-        		  data: data,
-        		  async: false,
-        		  dataType: 'json',
-        		  type: 'post',
-        		  success: success,
-                  error:error
-        	  })
-        },
-        dgo:function(url,data,success,error){
-      	  $.ajax({
-      		  url: url,
-      		  data: data,
-      		  async: false,
-      		  dataType: 'json',
-      		  type: 'get',
-      		  success: success,
-              error:error
-      	  })
-      },
-        // 封装ajax请求，返回数据类型为json
-        req: function (url, data, success, method) {
-            admin.ajax({
-                url: url,
-                data: data,
-                async: false,
-                type: method,
-                dataType: 'json',
-                success: success
-            });
-        },
-        // 封装ajax请求
-        ajax: function (param) {
-        	console.log(param);
-            var successCallback = param.success;
-            param.success = function (result, status, xhr) {
-                // 判断登录过期和没有权限
-                var jsonRs;
-                if ('json' == param.dataType.toLowerCase()) {
-                    jsonRs = result;
-                } else if ('html' == param.dataType.toLowerCase() || 'text' == param.dataType.toLowerCase()) {
-                    jsonRs = admin.parseJSON(result);
-                }
-                if (jsonRs) {
-                    if (jsonRs.code == 401) {
-                        layer.msg(jsonRs.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('/login');
-                        }, 1000);
-                        return;
-                    } else if ('html' == param.dataType.toLowerCase() && jsonRs.code == 403) {
-                        layer.msg(jsonRs.msg, {icon: 2});
-                    }
-                }
-                successCallback(result, status, xhr);
-            };
-            param.error = function (xhr) {
-                //{code: xhr.status, msg: xhr.statusText}
-                param.success(xhr.responseText,xhr.status,xhr);
-            };
-            $.ajax(param);
-        },
-        // 显示加载动画
-        showLoading: function (element) {
-            $(element).append('<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop admin-loading"></i>');
-        },
-        // 移除加载动画
-        removeLoading: function (element) {
-            $(element + '>.admin-loading').remove();
-        },
-        // 缓存临时数据
-        putTempData: function (key, value) {
-            if (value) {
-                layui.sessionData('tempData', {key: key, value: value});
-            } else {
-                layui.sessionData('tempData', {key: key, remove: true});
-            }
-        },
-        // 获取缓存临时数据
-        getTempData: function (key) {
-            return layui.sessionData('tempData')[key];
-        },
-        // 滑动选项卡
-        rollPage: function (d) {
-            var $tabTitle = $('.layui-layout-admin .layui-body .layui-tab .layui-tab-title');
-            var left = $tabTitle.scrollLeft();
-            if ('left' === d) {
-                $tabTitle.scrollLeft(left - 120);
-            } else if ('auto' === d) {
-                var autoLeft = 0;
-                $tabTitle.children("li").each(function () {
-                    if ($(this).hasClass('layui-this')) {
-                        return false;
-                    } else {
-                        autoLeft += $(this).outerWidth();
-                    }
-                });
-                $tabTitle.scrollLeft(autoLeft - 47);
-            } else {
-                $tabTitle.scrollLeft(left + 120);
-            }
-        },
-        // 刷新主题部分
-        refresh: function () {
-            admin.isRefresh = true;
-            Q.refresh();
-        },
-        // 判断是否为json
-        parseJSON: function (str) {
-            if (typeof str == 'string') {
-                try {
-                    var obj = JSON.parse(str);
-                    if (typeof obj == 'object' && obj) {
-                        return obj;
-                    }
-                } catch (e) {
-                }
-            }
-        },
-        formatDate:function (str) {
-            if (str == null || str == "") {
-                return;
-            }
-            switch (str.length) {
-                case 8:
-                    str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8);
-                    return str;
-                case 12:
-                    str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8) + " " + str.substring(8, 10)
-                        + ":" + str.substring(10, 12);
-                    return str;
-                case 14:
-                    str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8) + " " + str.substring(8, 10)
-                        + ":" + str.substring(10, 12) + ":" + str.substring(12, 14);
-                    return str;
-                default:
-                    return str;
-            }
-        },
-        errorBack: function (err) {
-            layer.closeAll('loading');
-            if (403 == err.status) {
-                layer.msg("无资源权限！", {icon: 2, time: 1500});
-                return;
-            }
-            if (200 == err.status) {
-                layer.msg("请求异常，请刷新页面重新操作", {icon: 2, time: 1500});
-                return;
-            } else {
-                layer.msg("请求服务器失败！", {icon: 2});
-            }
-        }
-    };
-
-    // ewAdmin提供的事件
-    admin.events = {
-        // 折叠侧导航
-        flexible: function (e) {
-            var expand = $('.layui-layout-admin').hasClass('admin-nav-mini');
-            admin.flexible(expand);
-        },
-        // 刷新主体部分
-        refresh: function () {
-            admin.refresh();
-        },
-        //后退
-        back: function () {
-            history.back();
-        },
-        // 设置主题
-        theme: function () {
-            admin.popupRight(baseUrl+'home/theme');
-        },
-        // 全屏
-        fullScreen: function (e) {
-            var ac = 'layui-icon-screen-full', ic = 'layui-icon-screen-restore';
-            var ti = $(this).find('i');
-
-            var isFullscreen = document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || false;
-            if (isFullscreen) {
-                var efs = document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen;
-                if (efs) {
-                    efs.call(document);
-                } else if (window.ActiveXObject) {
-                    var ws = new ActiveXObject('WScript.Shell');
-                    ws && ws.SendKeys('{F11}');
-                }
-                ti.addClass(ac).removeClass(ic);
-            } else {
-                var el = document.documentElement;
-                var rfs = el.requestFullscreen || el.webkitRequestFullscreen || el.mozRequestFullScreen || el.msRequestFullscreen;
-                if (rfs) {
-                    rfs.call(el);
-                } else if (window.ActiveXObject) {
-                    var ws = new ActiveXObject('WScript.Shell');
-                    ws && ws.SendKeys('{F11}');
-                }
-                ti.addClass(ic).removeClass(ac);
-            }
-        },
-        // 左滑动tab
-        leftPage: function () {
-            admin.rollPage("left");
-        },
-        // 右滑动tab
-        rightPage: function () {
-            admin.rollPage();
-        },
-        // 关闭当前选项卡
-        closeThisTabs: function () {
-            var $title = $('.layui-layout-admin .layui-body .layui-tab .layui-tab-title');
-            if ($title.find('li').first().hasClass('layui-this')) {
-                return;
-            }
-            $title.find('li.layui-this').find(".layui-tab-close").trigger("click");
-        },
-        // 关闭其他选项卡
-        closeOtherTabs: function () {
-            $('.layui-layout-admin .layui-body .layui-tab .layui-tab-title li:gt(0):not(.layui-this)').find('.layui-tab-close').trigger('click');
-        },
-        // 关闭所有选项卡
-        closeAllTabs: function () {
-            $('.layui-layout-admin .layui-body .layui-tab .layui-tab-title li:gt(0)').find('.layui-tab-close').trigger('click');
-        },
-        // 关闭所有弹窗
-        closeDialog: function () {
-            layer.closeAll('page');
-        },
-        //刷新字典
-        refreshDict: function (){
-            layer.confirm('确定要刷新数据字典吗?', {
-                    btn: ['确定', '取消']
-                }, function (index, layero) {
-                    layer.closeAll('dialog');  //加入这个信息点击确定 会关闭这个消息框
-                    admin.dgo(baseUrl+"dictrefresh", {}, function (data) {
-                        if (data.code == 200) {
-                            layer.msg("刷新数据字典成功！", {icon: 1, time: 1000});
-                            DictPoolToolkit().initAll(baseUrl+"dictpool");
-                        } else if (data.code == 401) {
-                            layer.msg(data.msg, {icon: 2, time: 1500}, function () {
-                                location.replace('/login');
-                            }, 1000);
-                            return;
-                        } else {
-                            layer.msg(data.msg, {icon: 2, time: 1500});
-                        }
-                    }, function () {
-                        layer.msg("数据字典刷新失败，访问服务器失败！", {icon: 2, time: 1500});
-                    });
-                });
-        }
-    };
-
-    // 所有ew-event
-    $('body').on('click', '*[ew-event]', function () {
-        var event = $(this).attr('ew-event');
-        var te = admin.events[event];
-        te && te.call(this, $(this));
-    });
-
-    // 移动设备遮罩层点击事件
-    $('.site-mobile-shade').click(function () {
-        admin.flexible(true);
-    });
-
-    // 侧导航折叠状态下鼠标经过显示提示
-    $('body').on('mouseenter', '.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a', function () {
-        var tipText = $(this).find('cite').text();
-        if (document.body.clientWidth > 750) {
-            layer.tips(tipText, this);
-        }
-    }).on('mouseleave', '.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a', function () {
-        layer.closeAll('tips');
-    });
-
-    // 侧导航折叠状态下点击展开
-    $('body').on('click', '.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a', function () {
-        if (document.body.clientWidth > 750) {
-            layer.closeAll('tips');
-            admin.flexible(true);
-        }
-    });
-
-    // 所有lay-tips处理
-    $('body').on('mouseenter', '*[lay-tips]', function () {
-        var tipText = $(this).attr('lay-tips');
-        var dt = $(this).attr('lay-direction');
-        layer.tips(tipText, this, {tips: dt || 1, time: -1});
-    }).on('mouseleave', '*[lay-tips]', function () {
-        layer.closeAll('tips');
-    });
-
-    exports('admin', admin);
-});
+layui.define(['layer'], function (exports) {
+    var layer = layui.layer;
+    var popupRightIndex, popupCenterIndex, popupCenterParam;
+    var baseUrl = window.location.pathname;
+
+    var admin = {
+        isRefresh: false,
+        // 设置侧栏折叠
+        flexible: function (expand) {
+            var isExapnd = $('.layui-layout-admin').hasClass('admin-nav-mini');
+            if (isExapnd == !expand) {
+                return;
+            }
+            if (expand) {
+                $('.layui-layout-admin').removeClass('admin-nav-mini');
+            } else {
+                $('.layui-layout-admin').addClass('admin-nav-mini');
+            }
+        },
+        // 设置导航栏选中
+        activeNav: function (url) {
+            $('.layui-layout-admin .layui-side .layui-nav .layui-nav-item .layui-nav-child dd').removeClass('layui-this');
+            $('.layui-layout-admin .layui-side .layui-nav .layui-nav-item').removeClass('layui-this');
+            if (url && url != '') {
+                $('.layui-layout-admin .layui-side .layui-nav .layui-nav-item').removeClass('layui-nav-itemed');
+                var $a = $('.layui-layout-admin .layui-side .layui-nav a[href="#!' + url + '"]');
+                $a.parent('li').addClass('layui-this');
+                $a.parent('dd').addClass('layui-this');
+                $a.parent('dd').parent('.layui-nav-child').parent('.layui-nav-item').addClass('layui-nav-itemed');
+            }
+        },
+        // 右侧弹出
+        popupRight: function (path) {
+            var param = new Object();
+            param.path = path;
+            param.id = 'adminPopupR';
+            param.title = false;
+            param.anim = 2;
+            param.isOutAnim = false;
+            param.closeBtn = false;
+            param.offset = 'r';
+            param.shadeClose = true;
+            param.area = '336px';
+            param.skin = 'layui-layer-adminRight';
+            param.end = function () {
+                layer.closeAll('tips');
+            };
+            popupRightIndex = admin.open(param);
+            return popupRightIndex;
+        },
+        // 关闭右侧弹出
+        closePopupRight: function () {
+            layer.close(popupRightIndex);
+        },
+        // 中间弹出
+        popupCenter: function (param) {
+            param.id = 'adminPopupC';
+            popupCenterParam = param;
+            popupCenterIndex = admin.open(param);
+            return popupCenterIndex;
+        },
+        // 关闭中间弹出并且触发finish回调
+        finishPopupCenter: function () {
+            layer.close(popupCenterIndex);
+            popupCenterParam.finish ? popupCenterParam.finish() : '';
+        },
+        // 关闭中间弹出
+        closePopupCenter: function () {
+            layer.close(popupCenterIndex);
+        },
+        // 封装layer.open
+        open: function (param) {
+            var sCallBack = param.success;
+            param.type = 1;
+            param.area = param.area ? param.area : '450px';
+            param.offset = param.offset ? param.offset : '120px';
+            param.resize ? param.resize : false;
+            param.shade ? param.shade : .2;
+            param.success = function (layero, index) {
+                sCallBack ? sCallBack(layero, index) : '';
+                admin.ajax({
+                    url: param.path,
+                    type: 'GET',
+                    dataType: 'html',
+                    success: function (result, status, xhr) {
+                        $(layero).children('.layui-layer-content').html(result);
+                    }
+                });
+            };
+            return layer.open(param);
+        },
+        
+        go:function(url,data,success,error){
+        	  $.ajax({
+        		  url: url,
+        		  data: data,
+        		  async: false,
+        		  dataType: 'json',
+        		  type: 'post',
+        		  success: success,
+                  error:error
+        	  })
+        },
+        dgo:function(url,data,success,error){
+      	  $.ajax({
+      		  url: url,
+      		  data: data,
+      		  async: false,
+      		  dataType: 'json',
+      		  type: 'get',
+      		  success: success,
+              error:error
+      	  })
+      },
+        // 封装ajax请求，返回数据类型为json
+        req: function (url, data, success, method) {
+            admin.ajax({
+                url: url,
+                data: data,
+                async: false,
+                type: method,
+                dataType: 'json',
+                success: success
+            });
+        },
+        // 封装ajax请求
+        ajax: function (param) {
+        	console.log(param);
+            var successCallback = param.success;
+            param.success = function (result, status, xhr) {
+                // 判断登录过期和没有权限
+                var jsonRs;
+                if ('json' == param.dataType.toLowerCase()) {
+                    jsonRs = result;
+                } else if ('html' == param.dataType.toLowerCase() || 'text' == param.dataType.toLowerCase()) {
+                    jsonRs = admin.parseJSON(result);
+                }
+                if (jsonRs) {
+                    if (jsonRs.code == 401) {
+                        layer.msg(jsonRs.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('/login');
+                        }, 1000);
+                        return;
+                    } else if ('html' == param.dataType.toLowerCase() && jsonRs.code == 403) {
+                        layer.msg(jsonRs.msg, {icon: 2});
+                    }
+                }
+                successCallback(result, status, xhr);
+            };
+            param.error = function (xhr) {
+                //{code: xhr.status, msg: xhr.statusText}
+                param.success(xhr.responseText,xhr.status,xhr);
+            };
+            $.ajax(param);
+        },
+        // 显示加载动画
+        showLoading: function (element) {
+            $(element).append('<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop admin-loading"></i>');
+        },
+        // 移除加载动画
+        removeLoading: function (element) {
+            $(element + '>.admin-loading').remove();
+        },
+        // 缓存临时数据
+        putTempData: function (key, value) {
+            if (value) {
+                layui.sessionData('tempData', {key: key, value: value});
+            } else {
+                layui.sessionData('tempData', {key: key, remove: true});
+            }
+        },
+        // 获取缓存临时数据
+        getTempData: function (key) {
+            return layui.sessionData('tempData')[key];
+        },
+        // 滑动选项卡
+        rollPage: function (d) {
+            var $tabTitle = $('.layui-layout-admin .layui-body .layui-tab .layui-tab-title');
+            var left = $tabTitle.scrollLeft();
+            if ('left' === d) {
+                $tabTitle.scrollLeft(left - 120);
+            } else if ('auto' === d) {
+                var autoLeft = 0;
+                $tabTitle.children("li").each(function () {
+                    if ($(this).hasClass('layui-this')) {
+                        return false;
+                    } else {
+                        autoLeft += $(this).outerWidth();
+                    }
+                });
+                $tabTitle.scrollLeft(autoLeft - 47);
+            } else {
+                $tabTitle.scrollLeft(left + 120);
+            }
+        },
+        // 刷新主题部分
+        refresh: function () {
+            admin.isRefresh = true;
+            Q.refresh();
+        },
+        // 判断是否为json
+        parseJSON: function (str) {
+            if (typeof str == 'string') {
+                try {
+                    var obj = JSON.parse(str);
+                    if (typeof obj == 'object' && obj) {
+                        return obj;
+                    }
+                } catch (e) {
+                }
+            }
+        },
+        formatDate:function (str) {
+            if (str == null || str == "") {
+                return;
+            }
+            switch (str.length) {
+                case 8:
+                    str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8);
+                    return str;
+                case 12:
+                    str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8) + " " + str.substring(8, 10)
+                        + ":" + str.substring(10, 12);
+                    return str;
+                case 14:
+                    str = str.substring(0, 4) + "-" + str.substring(4, 6) + "-" + str.substring(6, 8) + " " + str.substring(8, 10)
+                        + ":" + str.substring(10, 12) + ":" + str.substring(12, 14);
+                    return str;
+                default:
+                    return str;
+            }
+        },
+        errorBack: function (err) {
+            layer.closeAll('loading');
+            if (403 == err.status) {
+                layer.msg("无资源权限！", {icon: 2, time: 1500});
+                return;
+            }
+            if (200 == err.status) {
+                layer.msg("请求异常，请刷新页面重新操作", {icon: 2, time: 1500});
+                return;
+            } else {
+                layer.msg("请求服务器失败！", {icon: 2});
+            }
+        }
+    };
+
+    // ewAdmin提供的事件
+    admin.events = {
+        // 折叠侧导航
+        flexible: function (e) {
+            var expand = $('.layui-layout-admin').hasClass('admin-nav-mini');
+            admin.flexible(expand);
+        },
+        // 刷新主体部分
+        refresh: function () {
+            admin.refresh();
+        },
+        //后退
+        back: function () {
+            history.back();
+        },
+        // 设置主题
+        theme: function () {
+            admin.popupRight(baseUrl+'home/theme');
+        },
+        // 全屏
+        fullScreen: function (e) {
+            var ac = 'layui-icon-screen-full', ic = 'layui-icon-screen-restore';
+            var ti = $(this).find('i');
+
+            var isFullscreen = document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || false;
+            if (isFullscreen) {
+                var efs = document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen;
+                if (efs) {
+                    efs.call(document);
+                } else if (window.ActiveXObject) {
+                    var ws = new ActiveXObject('WScript.Shell');
+                    ws && ws.SendKeys('{F11}');
+                }
+                ti.addClass(ac).removeClass(ic);
+            } else {
+                var el = document.documentElement;
+                var rfs = el.requestFullscreen || el.webkitRequestFullscreen || el.mozRequestFullScreen || el.msRequestFullscreen;
+                if (rfs) {
+                    rfs.call(el);
+                } else if (window.ActiveXObject) {
+                    var ws = new ActiveXObject('WScript.Shell');
+                    ws && ws.SendKeys('{F11}');
+                }
+                ti.addClass(ic).removeClass(ac);
+            }
+        },
+        // 左滑动tab
+        leftPage: function () {
+            admin.rollPage("left");
+        },
+        // 右滑动tab
+        rightPage: function () {
+            admin.rollPage();
+        },
+        // 关闭当前选项卡
+        closeThisTabs: function () {
+            var $title = $('.layui-layout-admin .layui-body .layui-tab .layui-tab-title');
+            if ($title.find('li').first().hasClass('layui-this')) {
+                return;
+            }
+            $title.find('li.layui-this').find(".layui-tab-close").trigger("click");
+        },
+        // 关闭其他选项卡
+        closeOtherTabs: function () {
+            $('.layui-layout-admin .layui-body .layui-tab .layui-tab-title li:gt(0):not(.layui-this)').find('.layui-tab-close').trigger('click');
+        },
+        // 关闭所有选项卡
+        closeAllTabs: function () {
+            $('.layui-layout-admin .layui-body .layui-tab .layui-tab-title li:gt(0)').find('.layui-tab-close').trigger('click');
+        },
+        // 关闭所有弹窗
+        closeDialog: function () {
+            layer.closeAll('page');
+        },
+        //刷新字典
+        refreshDict: function (){
+            layer.confirm('确定要刷新数据字典吗?', {
+                    btn: ['确定', '取消']
+                }, function (index, layero) {
+                    layer.closeAll('dialog');  //加入这个信息点击确定 会关闭这个消息框
+                    admin.dgo(baseUrl+"dictrefresh", {}, function (data) {
+                        if (data.code == 200) {
+                            layer.msg("刷新数据字典成功！", {icon: 1, time: 1000});
+                            DictPoolToolkit().initAll(baseUrl+"dictpool");
+                        } else if (data.code == 401) {
+                            layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                                location.replace('/login');
+                            }, 1000);
+                            return;
+                        } else {
+                            layer.msg(data.msg, {icon: 2, time: 1500});
+                        }
+                    }, function () {
+                        layer.msg("数据字典刷新失败，访问服务器失败！", {icon: 2, time: 1500});
+                    });
+                });
+        }
+    };
+
+    // 所有ew-event
+    $('body').on('click', '*[ew-event]', function () {
+        var event = $(this).attr('ew-event');
+        var te = admin.events[event];
+        te && te.call(this, $(this));
+    });
+
+    // 移动设备遮罩层点击事件
+    $('.site-mobile-shade').click(function () {
+        admin.flexible(true);
+    });
+
+    // 侧导航折叠状态下鼠标经过显示提示
+    $('body').on('mouseenter', '.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a', function () {
+        var tipText = $(this).find('cite').text();
+        if (document.body.clientWidth > 750) {
+            layer.tips(tipText, this);
+        }
+    }).on('mouseleave', '.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a', function () {
+        layer.closeAll('tips');
+    });
+
+    // 侧导航折叠状态下点击展开
+    $('body').on('click', '.layui-layout-admin.admin-nav-mini .layui-side .layui-nav .layui-nav-item>a', function () {
+        if (document.body.clientWidth > 750) {
+            layer.closeAll('tips');
+            admin.flexible(true);
+        }
+    });
+
+    // 所有lay-tips处理
+    $('body').on('mouseenter', '*[lay-tips]', function () {
+        var tipText = $(this).attr('lay-tips');
+        var dt = $(this).attr('lay-direction');
+        layer.tips(tipText, this, {tips: dt || 1, time: -1});
+    }).on('mouseleave', '*[lay-tips]', function () {
+        layer.closeAll('tips');
+    });
+
+    exports('admin', admin);
+});
diff --git a/src/main/resources/static/custom/module/formSelects/formSelects-v4.all.js b/payapi/src/main/resources/static/custom/module/formSelects/formSelects-v4.all.js
similarity index 100%
rename from src/main/resources/static/custom/module/formSelects/formSelects-v4.all.js
rename to payapi/src/main/resources/static/custom/module/formSelects/formSelects-v4.all.js
diff --git a/src/main/resources/static/custom/module/formSelects/formSelects-v4.css b/payapi/src/main/resources/static/custom/module/formSelects/formSelects-v4.css
similarity index 100%
rename from src/main/resources/static/custom/module/formSelects/formSelects-v4.css
rename to payapi/src/main/resources/static/custom/module/formSelects/formSelects-v4.css
diff --git a/src/main/resources/static/custom/module/formSelects/formSelects-v4.js b/payapi/src/main/resources/static/custom/module/formSelects/formSelects-v4.js
similarity index 100%
rename from src/main/resources/static/custom/module/formSelects/formSelects-v4.js
rename to payapi/src/main/resources/static/custom/module/formSelects/formSelects-v4.js
diff --git a/src/main/resources/static/custom/module/index.js b/payapi/src/main/resources/static/custom/module/index.js
similarity index 100%
rename from src/main/resources/static/custom/module/index.js
rename to payapi/src/main/resources/static/custom/module/index.js
diff --git a/src/main/resources/static/custom/module/treeSelect/treeSelect.js b/payapi/src/main/resources/static/custom/module/treeSelect/treeSelect.js
similarity index 100%
rename from src/main/resources/static/custom/module/treeSelect/treeSelect.js
rename to payapi/src/main/resources/static/custom/module/treeSelect/treeSelect.js
diff --git a/src/main/resources/static/custom/module/treetable-lay/treetable.css b/payapi/src/main/resources/static/custom/module/treetable-lay/treetable.css
similarity index 100%
rename from src/main/resources/static/custom/module/treetable-lay/treetable.css
rename to payapi/src/main/resources/static/custom/module/treetable-lay/treetable.css
diff --git a/src/main/resources/static/custom/module/treetable-lay/treetable.js b/payapi/src/main/resources/static/custom/module/treetable-lay/treetable.js
similarity index 100%
rename from src/main/resources/static/custom/module/treetable-lay/treetable.js
rename to payapi/src/main/resources/static/custom/module/treetable-lay/treetable.js
diff --git a/src/main/resources/static/libs/custom.js b/payapi/src/main/resources/static/libs/custom.js
similarity index 100%
rename from src/main/resources/static/libs/custom.js
rename to payapi/src/main/resources/static/libs/custom.js
diff --git a/src/main/resources/static/libs/jquery/jquery-3.2.1.min.js b/payapi/src/main/resources/static/libs/jquery/jquery-3.2.1.min.js
similarity index 100%
rename from src/main/resources/static/libs/jquery/jquery-3.2.1.min.js
rename to payapi/src/main/resources/static/libs/jquery/jquery-3.2.1.min.js
diff --git a/src/main/resources/static/libs/layui/css/layui.css b/payapi/src/main/resources/static/libs/layui/css/layui.css
similarity index 100%
rename from src/main/resources/static/libs/layui/css/layui.css
rename to payapi/src/main/resources/static/libs/layui/css/layui.css
diff --git a/src/main/resources/static/libs/layui/css/layui.mobile.css b/payapi/src/main/resources/static/libs/layui/css/layui.mobile.css
similarity index 100%
rename from src/main/resources/static/libs/layui/css/layui.mobile.css
rename to payapi/src/main/resources/static/libs/layui/css/layui.mobile.css
diff --git a/src/main/resources/static/libs/layui/css/modules/code.css b/payapi/src/main/resources/static/libs/layui/css/modules/code.css
similarity index 100%
rename from src/main/resources/static/libs/layui/css/modules/code.css
rename to payapi/src/main/resources/static/libs/layui/css/modules/code.css
diff --git a/src/main/resources/static/libs/layui/css/modules/laydate/default/laydate.css b/payapi/src/main/resources/static/libs/layui/css/modules/laydate/default/laydate.css
similarity index 100%
rename from src/main/resources/static/libs/layui/css/modules/laydate/default/laydate.css
rename to payapi/src/main/resources/static/libs/layui/css/modules/laydate/default/laydate.css
diff --git a/src/main/resources/static/libs/layui/css/modules/layer/default/icon-ext.png b/payapi/src/main/resources/static/libs/layui/css/modules/layer/default/icon-ext.png
similarity index 100%
rename from src/main/resources/static/libs/layui/css/modules/layer/default/icon-ext.png
rename to payapi/src/main/resources/static/libs/layui/css/modules/layer/default/icon-ext.png
Binary files differ
diff --git a/src/main/resources/static/libs/layui/css/modules/layer/default/icon.png b/payapi/src/main/resources/static/libs/layui/css/modules/layer/default/icon.png
similarity index 100%
rename from src/main/resources/static/libs/layui/css/modules/layer/default/icon.png
rename to payapi/src/main/resources/static/libs/layui/css/modules/layer/default/icon.png
Binary files differ
diff --git a/src/main/resources/static/libs/layui/css/modules/layer/default/layer.css b/payapi/src/main/resources/static/libs/layui/css/modules/layer/default/layer.css
similarity index 100%
rename from src/main/resources/static/libs/layui/css/modules/layer/default/layer.css
rename to payapi/src/main/resources/static/libs/layui/css/modules/layer/default/layer.css
diff --git a/src/main/resources/static/libs/layui/css/modules/layer/default/loading-0.gif b/payapi/src/main/resources/static/libs/layui/css/modules/layer/default/loading-0.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/css/modules/layer/default/loading-0.gif
rename to payapi/src/main/resources/static/libs/layui/css/modules/layer/default/loading-0.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/css/modules/layer/default/loading-1.gif b/payapi/src/main/resources/static/libs/layui/css/modules/layer/default/loading-1.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/css/modules/layer/default/loading-1.gif
rename to payapi/src/main/resources/static/libs/layui/css/modules/layer/default/loading-1.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/css/modules/layer/default/loading-2.gif b/payapi/src/main/resources/static/libs/layui/css/modules/layer/default/loading-2.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/css/modules/layer/default/loading-2.gif
rename to payapi/src/main/resources/static/libs/layui/css/modules/layer/default/loading-2.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/font/iconfont.eot b/payapi/src/main/resources/static/libs/layui/font/iconfont.eot
similarity index 100%
rename from src/main/resources/static/libs/layui/font/iconfont.eot
rename to payapi/src/main/resources/static/libs/layui/font/iconfont.eot
Binary files differ
diff --git a/src/main/resources/static/libs/layui/font/iconfont.svg b/payapi/src/main/resources/static/libs/layui/font/iconfont.svg
similarity index 100%
rename from src/main/resources/static/libs/layui/font/iconfont.svg
rename to payapi/src/main/resources/static/libs/layui/font/iconfont.svg
diff --git a/src/main/resources/static/libs/layui/font/iconfont.ttf b/payapi/src/main/resources/static/libs/layui/font/iconfont.ttf
similarity index 100%
rename from src/main/resources/static/libs/layui/font/iconfont.ttf
rename to payapi/src/main/resources/static/libs/layui/font/iconfont.ttf
Binary files differ
diff --git a/src/main/resources/static/libs/layui/font/iconfont.woff b/payapi/src/main/resources/static/libs/layui/font/iconfont.woff
similarity index 100%
rename from src/main/resources/static/libs/layui/font/iconfont.woff
rename to payapi/src/main/resources/static/libs/layui/font/iconfont.woff
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/0.gif b/payapi/src/main/resources/static/libs/layui/images/face/0.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/0.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/0.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/1.gif b/payapi/src/main/resources/static/libs/layui/images/face/1.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/1.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/1.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/10.gif b/payapi/src/main/resources/static/libs/layui/images/face/10.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/10.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/10.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/11.gif b/payapi/src/main/resources/static/libs/layui/images/face/11.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/11.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/11.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/12.gif b/payapi/src/main/resources/static/libs/layui/images/face/12.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/12.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/12.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/13.gif b/payapi/src/main/resources/static/libs/layui/images/face/13.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/13.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/13.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/14.gif b/payapi/src/main/resources/static/libs/layui/images/face/14.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/14.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/14.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/15.gif b/payapi/src/main/resources/static/libs/layui/images/face/15.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/15.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/15.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/16.gif b/payapi/src/main/resources/static/libs/layui/images/face/16.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/16.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/16.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/17.gif b/payapi/src/main/resources/static/libs/layui/images/face/17.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/17.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/17.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/18.gif b/payapi/src/main/resources/static/libs/layui/images/face/18.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/18.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/18.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/19.gif b/payapi/src/main/resources/static/libs/layui/images/face/19.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/19.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/19.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/2.gif b/payapi/src/main/resources/static/libs/layui/images/face/2.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/2.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/2.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/20.gif b/payapi/src/main/resources/static/libs/layui/images/face/20.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/20.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/20.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/21.gif b/payapi/src/main/resources/static/libs/layui/images/face/21.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/21.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/21.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/22.gif b/payapi/src/main/resources/static/libs/layui/images/face/22.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/22.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/22.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/23.gif b/payapi/src/main/resources/static/libs/layui/images/face/23.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/23.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/23.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/24.gif b/payapi/src/main/resources/static/libs/layui/images/face/24.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/24.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/24.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/25.gif b/payapi/src/main/resources/static/libs/layui/images/face/25.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/25.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/25.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/26.gif b/payapi/src/main/resources/static/libs/layui/images/face/26.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/26.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/26.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/27.gif b/payapi/src/main/resources/static/libs/layui/images/face/27.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/27.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/27.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/28.gif b/payapi/src/main/resources/static/libs/layui/images/face/28.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/28.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/28.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/29.gif b/payapi/src/main/resources/static/libs/layui/images/face/29.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/29.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/29.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/3.gif b/payapi/src/main/resources/static/libs/layui/images/face/3.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/3.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/3.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/30.gif b/payapi/src/main/resources/static/libs/layui/images/face/30.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/30.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/30.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/31.gif b/payapi/src/main/resources/static/libs/layui/images/face/31.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/31.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/31.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/32.gif b/payapi/src/main/resources/static/libs/layui/images/face/32.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/32.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/32.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/33.gif b/payapi/src/main/resources/static/libs/layui/images/face/33.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/33.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/33.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/34.gif b/payapi/src/main/resources/static/libs/layui/images/face/34.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/34.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/34.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/35.gif b/payapi/src/main/resources/static/libs/layui/images/face/35.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/35.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/35.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/36.gif b/payapi/src/main/resources/static/libs/layui/images/face/36.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/36.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/36.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/37.gif b/payapi/src/main/resources/static/libs/layui/images/face/37.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/37.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/37.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/38.gif b/payapi/src/main/resources/static/libs/layui/images/face/38.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/38.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/38.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/39.gif b/payapi/src/main/resources/static/libs/layui/images/face/39.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/39.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/39.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/4.gif b/payapi/src/main/resources/static/libs/layui/images/face/4.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/4.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/4.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/40.gif b/payapi/src/main/resources/static/libs/layui/images/face/40.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/40.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/40.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/41.gif b/payapi/src/main/resources/static/libs/layui/images/face/41.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/41.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/41.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/42.gif b/payapi/src/main/resources/static/libs/layui/images/face/42.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/42.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/42.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/43.gif b/payapi/src/main/resources/static/libs/layui/images/face/43.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/43.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/43.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/44.gif b/payapi/src/main/resources/static/libs/layui/images/face/44.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/44.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/44.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/45.gif b/payapi/src/main/resources/static/libs/layui/images/face/45.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/45.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/45.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/46.gif b/payapi/src/main/resources/static/libs/layui/images/face/46.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/46.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/46.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/47.gif b/payapi/src/main/resources/static/libs/layui/images/face/47.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/47.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/47.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/48.gif b/payapi/src/main/resources/static/libs/layui/images/face/48.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/48.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/48.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/49.gif b/payapi/src/main/resources/static/libs/layui/images/face/49.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/49.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/49.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/5.gif b/payapi/src/main/resources/static/libs/layui/images/face/5.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/5.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/5.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/50.gif b/payapi/src/main/resources/static/libs/layui/images/face/50.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/50.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/50.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/51.gif b/payapi/src/main/resources/static/libs/layui/images/face/51.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/51.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/51.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/52.gif b/payapi/src/main/resources/static/libs/layui/images/face/52.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/52.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/52.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/53.gif b/payapi/src/main/resources/static/libs/layui/images/face/53.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/53.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/53.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/54.gif b/payapi/src/main/resources/static/libs/layui/images/face/54.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/54.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/54.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/55.gif b/payapi/src/main/resources/static/libs/layui/images/face/55.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/55.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/55.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/56.gif b/payapi/src/main/resources/static/libs/layui/images/face/56.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/56.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/56.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/57.gif b/payapi/src/main/resources/static/libs/layui/images/face/57.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/57.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/57.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/58.gif b/payapi/src/main/resources/static/libs/layui/images/face/58.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/58.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/58.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/59.gif b/payapi/src/main/resources/static/libs/layui/images/face/59.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/59.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/59.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/6.gif b/payapi/src/main/resources/static/libs/layui/images/face/6.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/6.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/6.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/60.gif b/payapi/src/main/resources/static/libs/layui/images/face/60.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/60.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/60.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/61.gif b/payapi/src/main/resources/static/libs/layui/images/face/61.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/61.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/61.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/62.gif b/payapi/src/main/resources/static/libs/layui/images/face/62.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/62.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/62.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/63.gif b/payapi/src/main/resources/static/libs/layui/images/face/63.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/63.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/63.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/64.gif b/payapi/src/main/resources/static/libs/layui/images/face/64.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/64.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/64.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/65.gif b/payapi/src/main/resources/static/libs/layui/images/face/65.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/65.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/65.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/66.gif b/payapi/src/main/resources/static/libs/layui/images/face/66.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/66.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/66.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/67.gif b/payapi/src/main/resources/static/libs/layui/images/face/67.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/67.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/67.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/68.gif b/payapi/src/main/resources/static/libs/layui/images/face/68.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/68.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/68.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/69.gif b/payapi/src/main/resources/static/libs/layui/images/face/69.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/69.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/69.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/7.gif b/payapi/src/main/resources/static/libs/layui/images/face/7.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/7.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/7.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/70.gif b/payapi/src/main/resources/static/libs/layui/images/face/70.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/70.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/70.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/71.gif b/payapi/src/main/resources/static/libs/layui/images/face/71.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/71.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/71.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/8.gif b/payapi/src/main/resources/static/libs/layui/images/face/8.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/8.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/8.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/images/face/9.gif b/payapi/src/main/resources/static/libs/layui/images/face/9.gif
similarity index 100%
rename from src/main/resources/static/libs/layui/images/face/9.gif
rename to payapi/src/main/resources/static/libs/layui/images/face/9.gif
Binary files differ
diff --git a/src/main/resources/static/libs/layui/lay/modules/carousel.js b/payapi/src/main/resources/static/libs/layui/lay/modules/carousel.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/carousel.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/carousel.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/code.js b/payapi/src/main/resources/static/libs/layui/lay/modules/code.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/code.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/code.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/colorpicker.js b/payapi/src/main/resources/static/libs/layui/lay/modules/colorpicker.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/colorpicker.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/colorpicker.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/element.js b/payapi/src/main/resources/static/libs/layui/lay/modules/element.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/element.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/element.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/flow.js b/payapi/src/main/resources/static/libs/layui/lay/modules/flow.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/flow.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/flow.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/form.js b/payapi/src/main/resources/static/libs/layui/lay/modules/form.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/form.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/form.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/jquery.js b/payapi/src/main/resources/static/libs/layui/lay/modules/jquery.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/jquery.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/jquery.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/laydate.js b/payapi/src/main/resources/static/libs/layui/lay/modules/laydate.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/laydate.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/laydate.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/layedit.js b/payapi/src/main/resources/static/libs/layui/lay/modules/layedit.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/layedit.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/layedit.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/layer.js b/payapi/src/main/resources/static/libs/layui/lay/modules/layer.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/layer.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/layer.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/laypage.js b/payapi/src/main/resources/static/libs/layui/lay/modules/laypage.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/laypage.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/laypage.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/laytpl.js b/payapi/src/main/resources/static/libs/layui/lay/modules/laytpl.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/laytpl.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/laytpl.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/mobile.js b/payapi/src/main/resources/static/libs/layui/lay/modules/mobile.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/mobile.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/mobile.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/rate.js b/payapi/src/main/resources/static/libs/layui/lay/modules/rate.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/rate.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/rate.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/slider.js b/payapi/src/main/resources/static/libs/layui/lay/modules/slider.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/slider.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/slider.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/table.js b/payapi/src/main/resources/static/libs/layui/lay/modules/table.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/table.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/table.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/tree.js b/payapi/src/main/resources/static/libs/layui/lay/modules/tree.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/tree.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/tree.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/upload.js b/payapi/src/main/resources/static/libs/layui/lay/modules/upload.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/upload.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/upload.js
diff --git a/src/main/resources/static/libs/layui/lay/modules/util.js b/payapi/src/main/resources/static/libs/layui/lay/modules/util.js
similarity index 100%
rename from src/main/resources/static/libs/layui/lay/modules/util.js
rename to payapi/src/main/resources/static/libs/layui/lay/modules/util.js
diff --git a/src/main/resources/static/libs/layui/layui.all.js b/payapi/src/main/resources/static/libs/layui/layui.all.js
similarity index 100%
rename from src/main/resources/static/libs/layui/layui.all.js
rename to payapi/src/main/resources/static/libs/layui/layui.all.js
diff --git a/src/main/resources/static/libs/layui/layui.js b/payapi/src/main/resources/static/libs/layui/layui.js
similarity index 100%
rename from src/main/resources/static/libs/layui/layui.js
rename to payapi/src/main/resources/static/libs/layui/layui.js
diff --git a/src/main/resources/static/libs/q.js b/payapi/src/main/resources/static/libs/q.js
similarity index 100%
rename from src/main/resources/static/libs/q.js
rename to payapi/src/main/resources/static/libs/q.js
diff --git a/src/main/resources/static/libs/zTree/css/metroStyle/img/line_conn.png b/payapi/src/main/resources/static/libs/zTree/css/metroStyle/img/line_conn.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/metroStyle/img/line_conn.png
rename to payapi/src/main/resources/static/libs/zTree/css/metroStyle/img/line_conn.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/metroStyle/img/loading.gif b/payapi/src/main/resources/static/libs/zTree/css/metroStyle/img/loading.gif
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/metroStyle/img/loading.gif
rename to payapi/src/main/resources/static/libs/zTree/css/metroStyle/img/loading.gif
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/metroStyle/img/metro.gif b/payapi/src/main/resources/static/libs/zTree/css/metroStyle/img/metro.gif
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/metroStyle/img/metro.gif
rename to payapi/src/main/resources/static/libs/zTree/css/metroStyle/img/metro.gif
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/metroStyle/img/metro.png b/payapi/src/main/resources/static/libs/zTree/css/metroStyle/img/metro.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/metroStyle/img/metro.png
rename to payapi/src/main/resources/static/libs/zTree/css/metroStyle/img/metro.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/metroStyle/metroStyle.css b/payapi/src/main/resources/static/libs/zTree/css/metroStyle/metroStyle.css
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/metroStyle/metroStyle.css
rename to payapi/src/main/resources/static/libs/zTree/css/metroStyle/metroStyle.css
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/1_close.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/1_close.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/1_close.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/1_close.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/1_open.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/1_open.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/1_open.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/1_open.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/2.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/2.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/2.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/2.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/3.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/3.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/3.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/3.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/4.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/4.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/4.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/4.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/5.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/5.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/5.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/5.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/6.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/6.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/6.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/6.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/7.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/7.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/7.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/7.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/8.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/8.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/8.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/8.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/9.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/9.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/9.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/diy/9.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/line_conn.gif b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/line_conn.gif
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/line_conn.gif
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/line_conn.gif
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/loading.gif b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/loading.gif
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/loading.gif
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/loading.gif
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/zTreeStandard.gif b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/zTreeStandard.gif
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/zTreeStandard.gif
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/zTreeStandard.gif
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/img/zTreeStandard.png b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/zTreeStandard.png
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/img/zTreeStandard.png
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/img/zTreeStandard.png
Binary files differ
diff --git a/src/main/resources/static/libs/zTree/css/zTreeStyle/zTreeStyle.css b/payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/zTreeStyle.css
similarity index 100%
rename from src/main/resources/static/libs/zTree/css/zTreeStyle/zTreeStyle.css
rename to payapi/src/main/resources/static/libs/zTree/css/zTreeStyle/zTreeStyle.css
diff --git a/src/main/resources/static/libs/zTree/js/jquery.ztree.all-3.5.min.js b/payapi/src/main/resources/static/libs/zTree/js/jquery.ztree.all-3.5.min.js
similarity index 100%
rename from src/main/resources/static/libs/zTree/js/jquery.ztree.all-3.5.min.js
rename to payapi/src/main/resources/static/libs/zTree/js/jquery.ztree.all-3.5.min.js
diff --git a/src/main/resources/templates/error/403.html b/payapi/src/main/resources/templates/error/403.html
similarity index 99%
rename from src/main/resources/templates/error/403.html
rename to payapi/src/main/resources/templates/error/403.html
index 155f35a..a3843f7 100755
--- a/src/main/resources/templates/error/403.html
+++ b/payapi/src/main/resources/templates/error/403.html
@@ -1,27 +1,27 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org" >
-<head>
-  <meta charset="utf-8">
-  <title>403 无权限</title>
-  <meta name="renderer" content="webkit">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
-  <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}" media="all"/>
-  <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}" media="all"/>
-</head>
-<body>
-<div class="layui-fluid">
-  <div class="layadmin-tips">
-    <i class="layui-icon" face>&#xe664;</i>
-    <div class="layui-text">
-      <p>没有权限</p>
-      <h1>
-        <span class="layui-anim layui-anim-loop layui-anim-">4</span> 
-        <span class="layui-anim layui-anim-loop layui-anim-rotate">0</span> 
-        <span class="layui-anim layui-anim-loop layui-anim-">3</span>
-      </h1>
-    </div>
-  </div>
-</div>
-</body>
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" >
+<head>
+  <meta charset="utf-8">
+  <title>403 无权限</title>
+  <meta name="renderer" content="webkit">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+  <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}" media="all"/>
+  <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}" media="all"/>
+</head>
+<body>
+<div class="layui-fluid">
+  <div class="layadmin-tips">
+    <i class="layui-icon" face>&#xe664;</i>
+    <div class="layui-text">
+      <p>没有权限</p>
+      <h1>
+        <span class="layui-anim layui-anim-loop layui-anim-">4</span> 
+        <span class="layui-anim layui-anim-loop layui-anim-rotate">0</span> 
+        <span class="layui-anim layui-anim-loop layui-anim-">3</span>
+      </h1>
+    </div>
+  </div>
+</div>
+</body>
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/error/404.html b/payapi/src/main/resources/templates/error/404.html
similarity index 99%
rename from src/main/resources/templates/error/404.html
rename to payapi/src/main/resources/templates/error/404.html
index 89144f5..b818658 100755
--- a/src/main/resources/templates/error/404.html
+++ b/payapi/src/main/resources/templates/error/404.html
@@ -1,28 +1,28 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org" >
-<head>
-  <meta charset="utf-8">
-  <title>404 页面不存在</title>
-  <meta name="renderer" content="webkit">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
-  <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}" media="all"/>
-  <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}" media="all"/>
-</head>
-<body>
-
-<div class="layui-fluid">
-  <div class="layadmin-tips">
-    <i class="layui-icon" face>&#xe664;</i>
-    <div class="layui-text">
-      <p>页面不存在</p>
-      <h1>
-        <span class="layui-anim layui-anim-loop layui-anim-">4</span> 
-        <span class="layui-anim layui-anim-loop layui-anim-rotate">0</span> 
-        <span class="layui-anim layui-anim-loop layui-anim-">4</span>
-      </h1>
-    </div>
-  </div>
-</div>
-</body>
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" >
+<head>
+  <meta charset="utf-8">
+  <title>404 页面不存在</title>
+  <meta name="renderer" content="webkit">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+  <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}" media="all"/>
+  <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}" media="all"/>
+</head>
+<body>
+
+<div class="layui-fluid">
+  <div class="layadmin-tips">
+    <i class="layui-icon" face>&#xe664;</i>
+    <div class="layui-text">
+      <p>页面不存在</p>
+      <h1>
+        <span class="layui-anim layui-anim-loop layui-anim-">4</span> 
+        <span class="layui-anim layui-anim-loop layui-anim-rotate">0</span> 
+        <span class="layui-anim layui-anim-loop layui-anim-">4</span>
+      </h1>
+    </div>
+  </div>
+</div>
+</body>
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/error/500.html b/payapi/src/main/resources/templates/error/500.html
similarity index 99%
rename from src/main/resources/templates/error/500.html
rename to payapi/src/main/resources/templates/error/500.html
index c46acd2..fc442c7 100755
--- a/src/main/resources/templates/error/500.html
+++ b/payapi/src/main/resources/templates/error/500.html
@@ -1,28 +1,28 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org" >
-<head>
-  <meta charset="utf-8">
-  <title>500 服务出错</title>
-  <meta name="renderer" content="webkit">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
-  <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}" media="all"/>
-  <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}" media="all"/>
-</head>
-<body>
-
-<div class="layui-fluid">
-  <div class="layadmin-tips">
-    <i class="layui-icon" face>&#xe664;</i>
-    <div class="layui-text">
-      <p>服务器出错了</p>
-      <h1>
-        <span class="layui-anim layui-anim-loop layui-anim-">5</span>
-        <span class="layui-anim layui-anim-loop layui-anim-rotate">0</span> 
-        <span class="layui-anim layui-anim-loop layui-anim-">0</span>
-      </h1>
-    </div>
-  </div>
-</div>
-</body>
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" >
+<head>
+  <meta charset="utf-8">
+  <title>500 服务出错</title>
+  <meta name="renderer" content="webkit">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+  <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}" media="all"/>
+  <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}" media="all"/>
+</head>
+<body>
+
+<div class="layui-fluid">
+  <div class="layadmin-tips">
+    <i class="layui-icon" face>&#xe664;</i>
+    <div class="layui-text">
+      <p>服务器出错了</p>
+      <h1>
+        <span class="layui-anim layui-anim-loop layui-anim-">5</span>
+        <span class="layui-anim layui-anim-loop layui-anim-rotate">0</span> 
+        <span class="layui-anim layui-anim-loop layui-anim-">0</span>
+      </h1>
+    </div>
+  </div>
+</div>
+</body>
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/home/console.html b/payapi/src/main/resources/templates/home/console.html
similarity index 99%
rename from src/main/resources/templates/home/console.html
rename to payapi/src/main/resources/templates/home/console.html
index 63cb260..76b0b79 100755
--- a/src/main/resources/templates/home/console.html
+++ b/payapi/src/main/resources/templates/home/console.html
@@ -1,28 +1,28 @@
-<div class="layui-row layui-col-space15">
-
-</div>
-
-
-
-    
-
-<script>
-    layui.use(['carousel', 'element'], function () {
-        var carousel = layui.carousel;
-        var element = layui.element;
-        var device = layui.device;
-
-        layui.link('[[@{/static/custom/css/console.css}]]');
-
-        // 渲染轮播
-        carousel.render({
-            elem: '.layui-carousel',
-            width: '100%',
-            height: '60px',
-            arrow: 'none',
-            autoplay: true,
-            trigger: device.ios || device.android ? 'click' : 'hover',
-            anim: 'fade'
-        });
-    });
-</script>
+<div class="layui-row layui-col-space15">
+
+</div>
+
+
+
+    
+
+<script>
+    layui.use(['carousel', 'element'], function () {
+        var carousel = layui.carousel;
+        var element = layui.element;
+        var device = layui.device;
+
+        layui.link('[[@{/static/custom/css/console.css}]]');
+
+        // 渲染轮播
+        carousel.render({
+            elem: '.layui-carousel',
+            width: '100%',
+            height: '60px',
+            arrow: 'none',
+            autoplay: true,
+            trigger: device.ios || device.android ? 'click' : 'hover',
+            anim: 'fade'
+        });
+    });
+</script>
diff --git a/src/main/resources/templates/home/message.html b/payapi/src/main/resources/templates/home/message.html
similarity index 100%
rename from src/main/resources/templates/home/message.html
rename to payapi/src/main/resources/templates/home/message.html
diff --git a/src/main/resources/templates/home/password.html b/payapi/src/main/resources/templates/home/password.html
similarity index 99%
rename from src/main/resources/templates/home/password.html
rename to payapi/src/main/resources/templates/home/password.html
index e9e8aee..e74beba 100755
--- a/src/main/resources/templates/home/password.html
+++ b/payapi/src/main/resources/templates/home/password.html
@@ -1,58 +1,58 @@
-<div class="layui-card-header">
-    <h2 class="header-title">修改密码</h2>
-</div>
-<div class="layui-card-body" style="padding: 30px;">
-    <form class="layui-form" id="form-psw">
-        <div class="layui-form-item">
-            <input type="password" name="oldPsw" required lay-verify="required" class="layui-input"
-                   placeholder="请输入原密码" lay-verType="tips">
-        </div>
-        <div class="layui-form-item">
-            <input type="password" name="newPsw" required lay-verify="required|psw" class="layui-input"
-                   placeholder="请输入新密码" lay-verType="tips">
-        </div>
-        <div class="layui-form-item">
-            <input type="password" name="rePsw" required lay-verify="required|repsw" class="layui-input"
-                   placeholder="再次输入新密码" lay-verType="tips">
-        </div>
-        <div class="layui-form-item">
-            <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="submit-psw">确认修改</button>
-        </div>
-    </form>
-</div>
-
-<script>
-    layui.use(['form', 'admin', 'layer'], function () {
-        var form = layui.form;
-        var admin = layui.admin;
-        var layer = layui.layer;
-
-        // 监听提交
-        form.on('submit(submit-psw)', function (data) {
-            layer.load(2);
-            $.post('[[@{/system/user/updatePsw}]]', data.field, function (data) {
-                if (data.code == 200) {
-                    layer.closeAll('loading');
-                    admin.closePopupRight();
-                    layer.msg(data.msg, {icon: 1, time: 1000}, function () {
-                        location.replace('logout');
-                    });
-                } else {
-                    layer.closeAll('loading');
-                    layer.msg(data.msg, {icon: 2});
-                }
-            });
-            return false;
-        });
-
-        // 添加表单验证方法
-        form.verify({
-            psw: [/^[\S]{5,12}$/, '密码必须5到12位，且不能出现空格'],
-            repsw: function (t) {
-                if (t !== $('#form-psw input[name=newPsw]').val()) {
-                    return '两次密码输入不一致';
-                }
-            }
-        });
-    });
+<div class="layui-card-header">
+    <h2 class="header-title">修改密码</h2>
+</div>
+<div class="layui-card-body" style="padding: 30px;">
+    <form class="layui-form" id="form-psw">
+        <div class="layui-form-item">
+            <input type="password" name="oldPsw" required lay-verify="required" class="layui-input"
+                   placeholder="请输入原密码" lay-verType="tips">
+        </div>
+        <div class="layui-form-item">
+            <input type="password" name="newPsw" required lay-verify="required|psw" class="layui-input"
+                   placeholder="请输入新密码" lay-verType="tips">
+        </div>
+        <div class="layui-form-item">
+            <input type="password" name="rePsw" required lay-verify="required|repsw" class="layui-input"
+                   placeholder="再次输入新密码" lay-verType="tips">
+        </div>
+        <div class="layui-form-item">
+            <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="submit-psw">确认修改</button>
+        </div>
+    </form>
+</div>
+
+<script>
+    layui.use(['form', 'admin', 'layer'], function () {
+        var form = layui.form;
+        var admin = layui.admin;
+        var layer = layui.layer;
+
+        // 监听提交
+        form.on('submit(submit-psw)', function (data) {
+            layer.load(2);
+            $.post('[[@{/system/user/updatePsw}]]', data.field, function (data) {
+                if (data.code == 200) {
+                    layer.closeAll('loading');
+                    admin.closePopupRight();
+                    layer.msg(data.msg, {icon: 1, time: 1000}, function () {
+                        location.replace('logout');
+                    });
+                } else {
+                    layer.closeAll('loading');
+                    layer.msg(data.msg, {icon: 2});
+                }
+            });
+            return false;
+        });
+
+        // 添加表单验证方法
+        form.verify({
+            psw: [/^[\S]{5,12}$/, '密码必须5到12位，且不能出现空格'],
+            repsw: function (t) {
+                if (t !== $('#form-psw input[name=newPsw]').val()) {
+                    return '两次密码输入不一致';
+                }
+            }
+        });
+    });
 </script>
\ No newline at end of file
diff --git a/src/main/resources/templates/home/theme.html b/payapi/src/main/resources/templates/home/theme.html
similarity index 99%
rename from src/main/resources/templates/home/theme.html
rename to payapi/src/main/resources/templates/home/theme.html
index 392a02a..71700a0 100755
--- a/src/main/resources/templates/home/theme.html
+++ b/payapi/src/main/resources/templates/home/theme.html
@@ -1,37 +1,37 @@
-<div class="layui-card-header">
-    <h2 class="header-title">多标签：</h2>
-    <div class="pull-right layui-form">
-        <input type="checkbox" lay-skin="switch" lay-text="ON|OFF" id="set-tab" lay-filter="set-tab" checked/>
-    </div>
-</div>
-
-<div class="layui-card-header"><h2 class="header-title">设置主题：</h2></div>
-<div class="layui-card-body layui-text">
-    <a th:href="@{/home/setTheme}" class="layui-btn" style="background-color: #009688;">默认主题</a>
-    <a th:href="@{/home/setTheme?themeName=blue}" class="layui-btn layui-btn-normal">蓝色主题</a>
-    <br><br><br>
-  
-</div>
-
-<script>
-    layui.use(['form', 'index', 'admin'], function () {
-        var form = layui.form;
-        var index = layui.index;
-        var admin = layui.admin;
-
-        $('#set-tab').prop('checked', index.pageTabs);
-        form.render('checkbox');
-
-        form.on('switch(set-tab)', function (data) {
-            if (data.elem.checked) {
-                location.reload();
-            } else {
-                index.pageTabs = false;
-                index.checkPageTabs();
-                admin.refresh();
-                admin.closePopupRight();
-            }
-        });
-
-    });
+<div class="layui-card-header">
+    <h2 class="header-title">多标签：</h2>
+    <div class="pull-right layui-form">
+        <input type="checkbox" lay-skin="switch" lay-text="ON|OFF" id="set-tab" lay-filter="set-tab" checked/>
+    </div>
+</div>
+
+<div class="layui-card-header"><h2 class="header-title">设置主题：</h2></div>
+<div class="layui-card-body layui-text">
+    <a th:href="@{/home/setTheme}" class="layui-btn" style="background-color: #009688;">默认主题</a>
+    <a th:href="@{/home/setTheme?themeName=blue}" class="layui-btn layui-btn-normal">蓝色主题</a>
+    <br><br><br>
+  
+</div>
+
+<script>
+    layui.use(['form', 'index', 'admin'], function () {
+        var form = layui.form;
+        var index = layui.index;
+        var admin = layui.admin;
+
+        $('#set-tab').prop('checked', index.pageTabs);
+        form.render('checkbox');
+
+        form.on('switch(set-tab)', function (data) {
+            if (data.elem.checked) {
+                location.reload();
+            } else {
+                index.pageTabs = false;
+                index.checkPageTabs();
+                admin.refresh();
+                admin.closePopupRight();
+            }
+        });
+
+    });
 </script>
\ No newline at end of file
diff --git a/src/main/resources/templates/index.html b/payapi/src/main/resources/templates/index.html
similarity index 99%
rename from src/main/resources/templates/index.html
rename to payapi/src/main/resources/templates/index.html
index 1fb326d..bfea46b 100755
--- a/src/main/resources/templates/index.html
+++ b/payapi/src/main/resources/templates/index.html
@@ -1,163 +1,163 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
-
-<head>
-    <title>首页</title>
-    <meta name="_csrf_header" th:content="${_csrf.headerName}" />
-    <meta name="_csrf_token" th:content="${_csrf.parameterName}" th:value="${_csrf.token}" />
-    <meta charset="utf-8"/>
-    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-    <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}"/>
-    <link rel="stylesheet" th:href="@{/static/libs/zTree/css/zTreeStyle/zTreeStyle.css}"/>
-    <link rel="stylesheet" th:href="@{/static/custom/module/formSelects/formSelects-v4.css}"/>
-    <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}"/>
-    <link th:if="${session.theme != null}" rel="stylesheet" th:href="@{/static/custom/css/theme-blue.css}"/>
-</head>
-
-<body class="layui-layout-body">
-<div class="layui-layout layui-layout-admin">
-    <!-- 头部 -->
-    <div class="layui-header">
-        <div class="layui-logo">
-            <img th:src="@{/static/custom/images/logo.png}"/>
-            <cite>支付中心</cite>
-        </div>
-        <ul class="layui-nav layui-layout-left">
-            <li class="layui-nav-item" lay-unselect>
-                <a ew-event="flexible" title="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a>
-            </li>
-            <li class="layui-nav-item" lay-unselect>
-                <a ew-event="refresh" title="刷新"><i class="layui-icon layui-icon-refresh-3"></i></a>
-            </li>
-        </ul>
-        <ul class="layui-nav layui-layout-right">
-            <li class="layui-nav-item" lay-unselect>
-                <a ew-event="refreshDict" title="刷新字典"><i class="layui-icon layui-icon-read"></i></a>
-            </li>
-            <!--<li class="layui-nav-item" lay-unselect>-->
-                <!--<a id="btnMessage" title="消息"><i class="layui-icon layui-icon-notice"></i></a>-->
-            <!--</li>-->
-            <li class="layui-nav-item layui-hide-xs" lay-unselect>
-                <a ew-event="fullScreen" title="全屏"><i class="layui-icon layui-icon-screen-full"></i></a>
-            </li>
-            <li class="layui-nav-item" lay-unselect>
-                <a href="javascript:;">
-                    <img th:src="@{/static/custom/images/head.png}" class="layui-nav-img">
-                    <cite>[[${loginOper.opername}]]</cite>
-                </a>
-                <dl class="layui-nav-child">
-                    <dd ay-unselect><a lay-href="/operator/userinfor">基本资料</a></dd>
-                    <dd ay-unselect><a lay-href="/operator/setpwd">修改密码</a></dd>
-                    <hr>
-                    <dd layadmin-event="logout" style="text-align: center;" ><a th:href="@{/logout}">退出</a></dd>
-                </dl>
-            </li>
-            <li class="layui-nav-item" lay-unselect>
-                <a ew-event="theme" title="主题"><i class="layui-icon layui-icon-more-vertical"></i></a>
-            </li>
-        </ul>
-    </div>
-
-    <!-- 侧边栏 -->
-    <div class="layui-side">
-        <div class="layui-side-scroll">
-            <ul class="layui-nav layui-nav-tree" style="margin-top: 15px;">
-
-                <li class="layui-nav-item" th:each="menu : ${menus}">
-                    <a th:lay-href="${menu.menuUrl}"><i th:class="'layui-icon '+${menu.menuIcon}"></i>&emsp;<cite>[[${menu.menuName}]]</cite></a>
-                    <dl class="layui-nav-child" th:if="${menu.subMenus.size()} > 0">
-                        <dd th:each="subMenu : ${menu.subMenus}">
-                            <a th:lay-href="${subMenu.menuUrl}">[[${subMenu.menuName}]]</a>
-                            <dl class="layui-nav-child" th:if="${subMenu.subMenus.size()} > 0">
-                                <dd th:each="temp : ${subMenu.subMenus}"><a th:lay-href="${temp.menuUrl}">
-                                    <i th:class="'layui-icon '+${temp.menuIcon}"></i>
-                                    [[${temp.menuName}]]
-                                  </a>
-                                </dd>
-                            </dl>
-                        </dd>
-                    </dl>
-                </li>
-
-                <!--<li class="layui-nav-item">-->
-                    <!--<a href="javascript:;"><i class="layui-icon layui-icon-unlink"></i>&emsp;<cite>多级菜单</cite></a>-->
-                    <!--<dl class="layui-nav-child">-->
-                        <!--<dd>-->
-                            <!--<a href="javascript:;">二级菜单</a>-->
-                            <!--<dl class="layui-nav-child">-->
-                                <!--<dd><a href="javascript:;">三级菜单</a></dd>-->
-                                <!--<dd><a href="javascript:;">三级菜单</a></dd>-->
-                            <!--</dl>-->
-                        <!--</dd>-->
-                    <!--</dl>-->
-                <!--</li>-->
-            </ul>
-        </div>
-    </div>
-
-
-    <!-- 主体部分 -->
-    <div class="layui-body">
-        <div class="layui-tab" lay-allowClose="true" lay-filter="admin-pagetabs">
-            <ul class="layui-tab-title">
-            </ul>
-            <div class="layui-tab-content">
-            </div>
-        </div>
-        <div class="layui-icon admin-tabs-control layui-icon-prev" ew-event="leftPage"></div>
-        <div class="layui-icon admin-tabs-control layui-icon-next" ew-event="rightPage"></div>
-        <div class="layui-icon admin-tabs-control layui-icon-down">
-            <ul class="layui-nav admin-tabs-select" lay-filter="admin-pagetabs-nav">
-                <li class="layui-nav-item" lay-unselect>
-                    <a href="javascript:;"></a>
-                    <dl class="layui-nav-child layui-anim-fadein">
-                        <dd ew-event="closeThisTabs" lay-unselect><a href="javascript:;">关闭当前标签页</a></dd>
-                        <dd ew-event="closeOtherTabs" lay-unselect><a href="javascript:;">关闭其它标签页</a></dd>
-                        <dd ew-event="closeAllTabs" lay-unselect><a href="javascript:;">关闭全部标签页</a></dd>
-                    </dl>
-                </li>
-            </ul>
-        </div>
-    </div>
-
-    <!-- 底部 -->
-    <div class="layui-footer">Copyright © 2018 supwisdom All rights reserved. <span class="pull-right" th:text="${payapiVersion}">Version 1.0</span>
-    </div>
-
-    <!-- 手机屏幕遮罩层 -->
-    <div class="site-mobile-shade"></div>
-</div>
-
-<script type="text/javascript" th:src="@{/static/libs/jquery/jquery-3.2.1.min.js}"></script>
-<script type="text/javascript" th:src="@{/static/libs/q.js}"></script>
-<script type="text/javascript" th:src="@{/static/libs/layui/layui.js}"></script>
-<script type="text/javascript" th:src="@{/static/libs/zTree/js/jquery.ztree.all-3.5.min.js}"></script>
-<script type="text/javascript" th:src="@{/static/libs/custom.js}"></script>
-
-<script>
-    layui.config({
-        base: 'static/custom/module/'
-    }).extend({
-        formSelects: 'formSelects/formSelects-v4',
-        treetable: 'treetable-lay/treetable',
-        treeSelect: 'treeSelect/treeSelect'
-    }).use(['admin'], function () {
-        var admin = layui.admin;
-    });
-</script>
-
-<script>
-    layui.use(['index'], function () {
-        var index = layui.index;
-        index.checkPageTabs(true);  // 检查多标签是否开启
-        index.initRouter();  // 导航栏和tab联动
-        index.bindEvent();  // 绑定事件
-
-        var dictpool = DictPoolToolkit();
-        dictpool.initAll("[[@{/dictpool}]]"); //加载字典
-    });
-</script>
-</body>
-
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
+
+<head>
+    <title>首页</title>
+    <meta name="_csrf_header" th:content="${_csrf.headerName}" />
+    <meta name="_csrf_token" th:content="${_csrf.parameterName}" th:value="${_csrf.token}" />
+    <meta charset="utf-8"/>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}"/>
+    <link rel="stylesheet" th:href="@{/static/libs/zTree/css/zTreeStyle/zTreeStyle.css}"/>
+    <link rel="stylesheet" th:href="@{/static/custom/module/formSelects/formSelects-v4.css}"/>
+    <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}"/>
+    <link th:if="${session.theme != null}" rel="stylesheet" th:href="@{/static/custom/css/theme-blue.css}"/>
+</head>
+
+<body class="layui-layout-body">
+<div class="layui-layout layui-layout-admin">
+    <!-- 头部 -->
+    <div class="layui-header">
+        <div class="layui-logo">
+            <img th:src="@{/static/custom/images/logo.png}"/>
+            <cite>支付中心</cite>
+        </div>
+        <ul class="layui-nav layui-layout-left">
+            <li class="layui-nav-item" lay-unselect>
+                <a ew-event="flexible" title="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a>
+            </li>
+            <li class="layui-nav-item" lay-unselect>
+                <a ew-event="refresh" title="刷新"><i class="layui-icon layui-icon-refresh-3"></i></a>
+            </li>
+        </ul>
+        <ul class="layui-nav layui-layout-right">
+            <li class="layui-nav-item" lay-unselect>
+                <a ew-event="refreshDict" title="刷新字典"><i class="layui-icon layui-icon-read"></i></a>
+            </li>
+            <!--<li class="layui-nav-item" lay-unselect>-->
+                <!--<a id="btnMessage" title="消息"><i class="layui-icon layui-icon-notice"></i></a>-->
+            <!--</li>-->
+            <li class="layui-nav-item layui-hide-xs" lay-unselect>
+                <a ew-event="fullScreen" title="全屏"><i class="layui-icon layui-icon-screen-full"></i></a>
+            </li>
+            <li class="layui-nav-item" lay-unselect>
+                <a href="javascript:;">
+                    <img th:src="@{/static/custom/images/head.png}" class="layui-nav-img">
+                    <cite>[[${loginOper.opername}]]</cite>
+                </a>
+                <dl class="layui-nav-child">
+                    <dd ay-unselect><a lay-href="/operator/userinfor">基本资料</a></dd>
+                    <dd ay-unselect><a lay-href="/operator/setpwd">修改密码</a></dd>
+                    <hr>
+                    <dd layadmin-event="logout" style="text-align: center;" ><a th:href="@{/logout}">退出</a></dd>
+                </dl>
+            </li>
+            <li class="layui-nav-item" lay-unselect>
+                <a ew-event="theme" title="主题"><i class="layui-icon layui-icon-more-vertical"></i></a>
+            </li>
+        </ul>
+    </div>
+
+    <!-- 侧边栏 -->
+    <div class="layui-side">
+        <div class="layui-side-scroll">
+            <ul class="layui-nav layui-nav-tree" style="margin-top: 15px;">
+
+                <li class="layui-nav-item" th:each="menu : ${menus}">
+                    <a th:lay-href="${menu.menuUrl}"><i th:class="'layui-icon '+${menu.menuIcon}"></i>&emsp;<cite>[[${menu.menuName}]]</cite></a>
+                    <dl class="layui-nav-child" th:if="${menu.subMenus.size()} > 0">
+                        <dd th:each="subMenu : ${menu.subMenus}">
+                            <a th:lay-href="${subMenu.menuUrl}">[[${subMenu.menuName}]]</a>
+                            <dl class="layui-nav-child" th:if="${subMenu.subMenus.size()} > 0">
+                                <dd th:each="temp : ${subMenu.subMenus}"><a th:lay-href="${temp.menuUrl}">
+                                    <i th:class="'layui-icon '+${temp.menuIcon}"></i>
+                                    [[${temp.menuName}]]
+                                  </a>
+                                </dd>
+                            </dl>
+                        </dd>
+                    </dl>
+                </li>
+
+                <!--<li class="layui-nav-item">-->
+                    <!--<a href="javascript:;"><i class="layui-icon layui-icon-unlink"></i>&emsp;<cite>多级菜单</cite></a>-->
+                    <!--<dl class="layui-nav-child">-->
+                        <!--<dd>-->
+                            <!--<a href="javascript:;">二级菜单</a>-->
+                            <!--<dl class="layui-nav-child">-->
+                                <!--<dd><a href="javascript:;">三级菜单</a></dd>-->
+                                <!--<dd><a href="javascript:;">三级菜单</a></dd>-->
+                            <!--</dl>-->
+                        <!--</dd>-->
+                    <!--</dl>-->
+                <!--</li>-->
+            </ul>
+        </div>
+    </div>
+
+
+    <!-- 主体部分 -->
+    <div class="layui-body">
+        <div class="layui-tab" lay-allowClose="true" lay-filter="admin-pagetabs">
+            <ul class="layui-tab-title">
+            </ul>
+            <div class="layui-tab-content">
+            </div>
+        </div>
+        <div class="layui-icon admin-tabs-control layui-icon-prev" ew-event="leftPage"></div>
+        <div class="layui-icon admin-tabs-control layui-icon-next" ew-event="rightPage"></div>
+        <div class="layui-icon admin-tabs-control layui-icon-down">
+            <ul class="layui-nav admin-tabs-select" lay-filter="admin-pagetabs-nav">
+                <li class="layui-nav-item" lay-unselect>
+                    <a href="javascript:;"></a>
+                    <dl class="layui-nav-child layui-anim-fadein">
+                        <dd ew-event="closeThisTabs" lay-unselect><a href="javascript:;">关闭当前标签页</a></dd>
+                        <dd ew-event="closeOtherTabs" lay-unselect><a href="javascript:;">关闭其它标签页</a></dd>
+                        <dd ew-event="closeAllTabs" lay-unselect><a href="javascript:;">关闭全部标签页</a></dd>
+                    </dl>
+                </li>
+            </ul>
+        </div>
+    </div>
+
+    <!-- 底部 -->
+    <div class="layui-footer">Copyright © 2018 supwisdom All rights reserved. <span class="pull-right" th:text="${payapiVersion}">Version 1.0</span>
+    </div>
+
+    <!-- 手机屏幕遮罩层 -->
+    <div class="site-mobile-shade"></div>
+</div>
+
+<script type="text/javascript" th:src="@{/static/libs/jquery/jquery-3.2.1.min.js}"></script>
+<script type="text/javascript" th:src="@{/static/libs/q.js}"></script>
+<script type="text/javascript" th:src="@{/static/libs/layui/layui.js}"></script>
+<script type="text/javascript" th:src="@{/static/libs/zTree/js/jquery.ztree.all-3.5.min.js}"></script>
+<script type="text/javascript" th:src="@{/static/libs/custom.js}"></script>
+
+<script>
+    layui.config({
+        base: 'static/custom/module/'
+    }).extend({
+        formSelects: 'formSelects/formSelects-v4',
+        treetable: 'treetable-lay/treetable',
+        treeSelect: 'treeSelect/treeSelect'
+    }).use(['admin'], function () {
+        var admin = layui.admin;
+    });
+</script>
+
+<script>
+    layui.use(['index'], function () {
+        var index = layui.index;
+        index.checkPageTabs(true);  // 检查多标签是否开启
+        index.initRouter();  // 导航栏和tab联动
+        index.bindEvent();  // 绑定事件
+
+        var dictpool = DictPoolToolkit();
+        dictpool.initAll("[[@{/dictpool}]]"); //加载字典
+    });
+</script>
+</body>
+
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/login.html b/payapi/src/main/resources/templates/login.html
similarity index 100%
rename from src/main/resources/templates/login.html
rename to payapi/src/main/resources/templates/login.html
diff --git a/src/main/resources/templates/ologin.html b/payapi/src/main/resources/templates/ologin.html
similarity index 100%
rename from src/main/resources/templates/ologin.html
rename to payapi/src/main/resources/templates/ologin.html
diff --git a/src/main/resources/templates/system/dtl/shopdtl.html b/payapi/src/main/resources/templates/system/dtl/shopdtl.html
similarity index 100%
rename from src/main/resources/templates/system/dtl/shopdtl.html
rename to payapi/src/main/resources/templates/system/dtl/shopdtl.html
diff --git a/src/main/resources/templates/system/dtl/userdtl.html b/payapi/src/main/resources/templates/system/dtl/userdtl.html
similarity index 100%
rename from src/main/resources/templates/system/dtl/userdtl.html
rename to payapi/src/main/resources/templates/system/dtl/userdtl.html
diff --git a/src/main/resources/templates/system/function/form.html b/payapi/src/main/resources/templates/system/function/form.html
similarity index 99%
rename from src/main/resources/templates/system/function/form.html
rename to payapi/src/main/resources/templates/system/function/form.html
index e1468be..fa8d43b 100755
--- a/src/main/resources/templates/system/function/form.html
+++ b/payapi/src/main/resources/templates/system/function/form.html
@@ -1,117 +1,117 @@
-<!-- operator表单弹窗 -->
-<form id="form" lay-filter="form" class="layui-form model-form">
-    <input name="id" id="id" type="hidden"/>
-    <div class="layui-form-item">
-        <label class="layui-form-label">功能名称</label>
-        <div class="layui-input-block">
-            <input name="name" placeholder="请输入功能名称" type="text" class="layui-input" maxlength="20"
-                   lay-verify="required|name" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">路径</label>
-        <div class="layui-input-block">
-            <input name="menuUrl" placeholder="请输入路径，父节点默认为 # " type="text" class="layui-input" maxlength="60" value="#" lay-verify="required" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">节点</label>
-        <div class="layui-input-block">
-            <input type="radio" name="isLeaf" value="0" title="父" checked/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">序号</label>
-        <div class="layui-input-block">
-            <input name="orderNum" placeholder="请输入序号" type="text" class="layui-input" />
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">图标</label>
-        <div class="layui-input-block">
-            <input name="menuIcon" placeholder="请输入图标 例:layui-icon-xx " type="text" class="layui-input" />
-        </div>
-    </div>
-
-    <div class="layui-form-item model-form-footer">
-        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
-        <button class="layui-btn" lay-filter="form-submit" lay-submit  id="submitbtn">保存</button>
-    </div>
-</form>
-
-<script>
-    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
-        var layer = layui.layer;
-        var admin = layui.admin;
-        var form = layui.form;
-        var formSelects = layui.formSelects;
-        form.render('radio');
-        form.verify({
-            "name": function (e) {
-                var msg = "";
-                $.ajax({
-                    type: "GET",
-                    url: '[[@{/function/checkname}]]',
-                    async: false,
-                    data: {
-                        name: e,
-                        id: $("#id").val()
-                    },
-                    success: function (result) {
-                        if (result.code != 200) {
-                            msg = result.msg;
-                        }
-                    },
-                    error: function (error) {
-                        msg = "请求服务器校验账号失败";
-                    }
-                });
-            }
-        });
-
-        var url = '[[@{/function/add}]]';
-        // 回显user数据
-        var func = admin.getTempData('t_func');
-        if (func) {
-            $('input[name="id"]').attr('readonly', 'readonly');
-            form.val('form', func);
-        }
-        // 表单提交事件
-        form.on('submit(form-submit)', function (data) {
-            layer.load(2);
-            let token = $("meta[name='_csrf_token']").attr("value");
-            debugger
-            $.ajax({
-                type : "POST",
-                dataType : "json",
-                url : url,
-                headers: {
-                    'Accept': 'application/json',
-                    'Content-Type': 'application/json',
-                    'X-CSRF-TOKEN':token,
-                },
-                data : JSON.stringify(data.field),
-                success : function(result) {
-                    layer.closeAll('loading');
-                    if (result.code == 200) {
-                        layer.msg(result.msg, {icon: 1});
-                        admin.finishPopupCenter();
-                    } else if (result.code == 401) {
-                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('[[@{/login}]]');
-                        }, 1000);
-                        return;
-                    } else {
-                        console.log('err:' + result.code);
-                        layer.msg(result.msg, {icon: 2});
-                    }
-                },
-                error : function() {
-                    layer.closeAll('loading');
-                    layer.msg("请求服务器失败！", {icon: 2});
-                }
-            });
-            return false;
-        });
-    });
+<!-- operator表单弹窗 -->
+<form id="form" lay-filter="form" class="layui-form model-form">
+    <input name="id" id="id" type="hidden"/>
+    <div class="layui-form-item">
+        <label class="layui-form-label">功能名称</label>
+        <div class="layui-input-block">
+            <input name="name" placeholder="请输入功能名称" type="text" class="layui-input" maxlength="20"
+                   lay-verify="required|name" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">路径</label>
+        <div class="layui-input-block">
+            <input name="menuUrl" placeholder="请输入路径，父节点默认为 # " type="text" class="layui-input" maxlength="60" value="#" lay-verify="required" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">节点</label>
+        <div class="layui-input-block">
+            <input type="radio" name="isLeaf" value="0" title="父" checked/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">序号</label>
+        <div class="layui-input-block">
+            <input name="orderNum" placeholder="请输入序号" type="text" class="layui-input" />
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">图标</label>
+        <div class="layui-input-block">
+            <input name="menuIcon" placeholder="请输入图标 例:layui-icon-xx " type="text" class="layui-input" />
+        </div>
+    </div>
+
+    <div class="layui-form-item model-form-footer">
+        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+        <button class="layui-btn" lay-filter="form-submit" lay-submit  id="submitbtn">保存</button>
+    </div>
+</form>
+
+<script>
+    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
+        var layer = layui.layer;
+        var admin = layui.admin;
+        var form = layui.form;
+        var formSelects = layui.formSelects;
+        form.render('radio');
+        form.verify({
+            "name": function (e) {
+                var msg = "";
+                $.ajax({
+                    type: "GET",
+                    url: '[[@{/function/checkname}]]',
+                    async: false,
+                    data: {
+                        name: e,
+                        id: $("#id").val()
+                    },
+                    success: function (result) {
+                        if (result.code != 200) {
+                            msg = result.msg;
+                        }
+                    },
+                    error: function (error) {
+                        msg = "请求服务器校验账号失败";
+                    }
+                });
+            }
+        });
+
+        var url = '[[@{/function/add}]]';
+        // 回显user数据
+        var func = admin.getTempData('t_func');
+        if (func) {
+            $('input[name="id"]').attr('readonly', 'readonly');
+            form.val('form', func);
+        }
+        // 表单提交事件
+        form.on('submit(form-submit)', function (data) {
+            layer.load(2);
+            let token = $("meta[name='_csrf_token']").attr("value");
+            debugger
+            $.ajax({
+                type : "POST",
+                dataType : "json",
+                url : url,
+                headers: {
+                    'Accept': 'application/json',
+                    'Content-Type': 'application/json',
+                    'X-CSRF-TOKEN':token,
+                },
+                data : JSON.stringify(data.field),
+                success : function(result) {
+                    layer.closeAll('loading');
+                    if (result.code == 200) {
+                        layer.msg(result.msg, {icon: 1});
+                        admin.finishPopupCenter();
+                    } else if (result.code == 401) {
+                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('[[@{/login}]]');
+                        }, 1000);
+                        return;
+                    } else {
+                        console.log('err:' + result.code);
+                        layer.msg(result.msg, {icon: 2});
+                    }
+                },
+                error : function() {
+                    layer.closeAll('loading');
+                    layer.msg("请求服务器失败！", {icon: 2});
+                }
+            });
+            return false;
+        });
+    });
 </script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/function/index.html b/payapi/src/main/resources/templates/system/function/index.html
similarity index 99%
rename from src/main/resources/templates/system/function/index.html
rename to payapi/src/main/resources/templates/system/function/index.html
index 2e85a8c..5cff759 100755
--- a/src/main/resources/templates/system/function/index.html
+++ b/payapi/src/main/resources/templates/system/function/index.html
@@ -1,175 +1,175 @@
-<div class="layui-card">
-    <div class="layui-card-header">
-        <h2 class="header-title">功能维护</h2>
-        <span class="layui-breadcrumb pull-right">
-          <a href="#">系统中心</a>
-          <a><cite>功能维护</cite></a>
-        </span>
-    </div>
-    <div class="layui-card-body">
-        <div class="layui-form toolbar">
-            搜索：
-            <input id="search-value" class="layui-input search-input" type="text" placeholder="输入功能名称"/>&emsp;
-            <button id="btn-search-func" class="layui-btn icon-btn" data-type="search"><i class="layui-icon">&#xe615;</i>搜索
-            </button>
-            <button id="btn-add-func" class="layui-btn icon-btn" data-type="add"><i class="layui-icon"></i>添加父功能</button>
-        </div>
-        <table class="layui-table" id="table" lay-filter="table"></table>
-    </div>
-</div>
-
-<script>
-    layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
-        let form = layui.form;
-        let table = layui.table;
-        let admin = layui.admin;
-
-        form.render('select');
-
-        // 渲染表格
-        table.render({
-            elem: '#table',
-            url: '[[@{/function/list}]]',
-            page: true,
-            cols: [
-                [
-                    {field: 'id', title: '功能ID', width: 80,fixed: 'left', sort: true},
-                    {field: 'name', title: '功能名称', sort: true},
-                    {
-                        field: 'isLeaf', title: '节点', sort: true, width: 80, align: 'center', templet: function (item) {
-                            if (item.isLeaf == 0) {
-                                return '<span class="layui-badge ">父</span>'
-                            } else if (item.isLeaf == 1) {
-                                return '<span class="layui-badge layui-bg-green">子</span>'
-                            } else {
-                                return ''
-                            }
-                        }
-                    },
-                    {field: 'menuUrl', title: '路径'},
-                    {field: 'orderNum', sort: true, width: 80,title: '序号'},
-                    {
-                        field: 'menuIcon', title: '图标', width: 80,align: 'center', templet: function (item) {
-                            return '<i class="layui-icon ' + item.menuIcon + '"></i> '
-                        }
-                    },
-                    {
-                        field: 'id', align: 'center', title: '操作', fixed: 'right', width:350, templet: function (item) {
-                            if (item.isLeaf == 0) {
-                                return ' <a class="layui-btn  layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
-                                    ' <a class="layui-btn layui-btn-normal  layui-btn-xs" lay-event="addsub"><i class="layui-icon layui-icon-set-sm"></i>添加子功能</a> ' +
-                                    ' <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
-                            } else {
-                                return ' <a class="layui-btn  layui-btn-xs" lay-event="editsub"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
-                                    ' <a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="addres"><i class="layui-icon layui-icon-set-sm"></i>添加资源</a> ' +
-                                    ' <a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="listres"><i class="layui-icon layui-icon-set-sm"></i>维护资源</a> ' +
-                                    ' <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
-                            }
-                        }
-                    }
-                ]
-            ]
-        });
-        // 搜索按钮点击事件
-        $('#btn-search-func').click(function () {
-            let key = $('#search-value').val();
-            table.reload('table', {where: {searchkey: key}, page: {curr: 1}});
-        });
-        $('#btn-add-func').click(function () {
-            showModel();
-        });
-        let showModel = function (data) {
-            let title = data ? '编辑父功能' : '添加父功能';
-            admin.putTempData('t_func', data);
-            admin.popupCenter({
-                title: title,
-                path: '[[@{/function/loadadd}]]',
-                finish: function () {
-                    table.reload('table', {});
-                }
-            });
-        };
-        let showModelSub = function (data,parentid) {
-            let title = data ? '编辑子功能' : '添加子功能';
-            admin.putTempData('parentId', parentid);
-            admin.putTempData('t_func', data);
-            admin.popupCenter({
-                title: title,
-                path: '[[@{/function/loadsubadd}]]',
-                finish: function () {
-                    table.reload('table', {});
-                }
-            });
-        };
-
-        let showResModel = function (functionid) {
-            let title = '维护资源';
-            admin.putTempData('functionid', functionid);
-            admin.popupCenter({
-                title: title,
-                area:'70%',
-                path: '[[@{/function/loadres}]]?functionid='+functionid
-            });
-        };
-        let showAddResModelSub = function (functionid) {
-            let title = '添加资源';
-            admin.putTempData('functionid', functionid);
-            admin.popupCenter({
-                title: title,
-                path: '[[@{/function/loadresadd}]]',
-                finish: function () {
-                    table.reload('table', {});
-                }
-            });
-        };
-        // 工具条点击事件
-        table.on('tool(table)', function (obj) {
-            let data = obj.data;
-            let layEvent = obj.event;
-            console.log(data);
-            if (layEvent === 'edit') {
-                showModel(data);
-            } else if (layEvent === 'addsub') {
-                showModelSub(null,data.id);
-            } else if (layEvent === 'editsub') {
-                showModelSub(data,data.parentId);
-            } else if (layEvent === 'del') {
-                showDelete(data);
-            } else if(layEvent === 'listres'){
-                showResModel(data.id);
-            } else if(layEvent === 'addres'){
-                showAddResModelSub(data.id);
-            }
-        });
-        let showDelete = function (data) {
-            layer.confirm('确定删除吗，该功能下的子功能、资源、角色分配的该功能都将被删除？', function (i) {
-                layer.close(i);
-                layer.load(2);
-                let token = $("meta[name='_csrf_token']").attr("value");
-                admin.go('[[@{/function/delfunc}]]', {
-                    funcid: data.id,
-                    _csrf:token
-                }, function (data) {
-                    console.log(data.code);
-                    layer.closeAll('loading');
-                    if (data.code == 200) {
-                        layer.msg(data.msg, {icon: 1});
-                    } else if (data.code == 401) {
-                        layer.msg(data.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('[[@{/login}]]');
-                        }, 1000);
-                        return;
-                    }
-                    else {
-                        layer.msg(data.msg, {icon: 2});
-                    }
-                    table.reload('table', {});
-                },function(ret){
-                    console.log(ret);
-                    layer.closeAll('loading');
-                    layer.msg('请求失败了，请稍后再试', {icon: 2});
-                });
-            });
-        }
-    });
-</script>
+<div class="layui-card">
+    <div class="layui-card-header">
+        <h2 class="header-title">功能维护</h2>
+        <span class="layui-breadcrumb pull-right">
+          <a href="#">系统中心</a>
+          <a><cite>功能维护</cite></a>
+        </span>
+    </div>
+    <div class="layui-card-body">
+        <div class="layui-form toolbar">
+            搜索：
+            <input id="search-value" class="layui-input search-input" type="text" placeholder="输入功能名称"/>&emsp;
+            <button id="btn-search-func" class="layui-btn icon-btn" data-type="search"><i class="layui-icon">&#xe615;</i>搜索
+            </button>
+            <button id="btn-add-func" class="layui-btn icon-btn" data-type="add"><i class="layui-icon"></i>添加父功能</button>
+        </div>
+        <table class="layui-table" id="table" lay-filter="table"></table>
+    </div>
+</div>
+
+<script>
+    layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
+        let form = layui.form;
+        let table = layui.table;
+        let admin = layui.admin;
+
+        form.render('select');
+
+        // 渲染表格
+        table.render({
+            elem: '#table',
+            url: '[[@{/function/list}]]',
+            page: true,
+            cols: [
+                [
+                    {field: 'id', title: '功能ID', width: 80,fixed: 'left', sort: true},
+                    {field: 'name', title: '功能名称', sort: true},
+                    {
+                        field: 'isLeaf', title: '节点', sort: true, width: 80, align: 'center', templet: function (item) {
+                            if (item.isLeaf == 0) {
+                                return '<span class="layui-badge ">父</span>'
+                            } else if (item.isLeaf == 1) {
+                                return '<span class="layui-badge layui-bg-green">子</span>'
+                            } else {
+                                return ''
+                            }
+                        }
+                    },
+                    {field: 'menuUrl', title: '路径'},
+                    {field: 'orderNum', sort: true, width: 80,title: '序号'},
+                    {
+                        field: 'menuIcon', title: '图标', width: 80,align: 'center', templet: function (item) {
+                            return '<i class="layui-icon ' + item.menuIcon + '"></i> '
+                        }
+                    },
+                    {
+                        field: 'id', align: 'center', title: '操作', fixed: 'right', width:350, templet: function (item) {
+                            if (item.isLeaf == 0) {
+                                return ' <a class="layui-btn  layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
+                                    ' <a class="layui-btn layui-btn-normal  layui-btn-xs" lay-event="addsub"><i class="layui-icon layui-icon-set-sm"></i>添加子功能</a> ' +
+                                    ' <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
+                            } else {
+                                return ' <a class="layui-btn  layui-btn-xs" lay-event="editsub"><i class="layui-icon layui-icon-edit"></i>编辑</a> ' +
+                                    ' <a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="addres"><i class="layui-icon layui-icon-set-sm"></i>添加资源</a> ' +
+                                    ' <a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="listres"><i class="layui-icon layui-icon-set-sm"></i>维护资源</a> ' +
+                                    ' <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
+                            }
+                        }
+                    }
+                ]
+            ]
+        });
+        // 搜索按钮点击事件
+        $('#btn-search-func').click(function () {
+            let key = $('#search-value').val();
+            table.reload('table', {where: {searchkey: key}, page: {curr: 1}});
+        });
+        $('#btn-add-func').click(function () {
+            showModel();
+        });
+        let showModel = function (data) {
+            let title = data ? '编辑父功能' : '添加父功能';
+            admin.putTempData('t_func', data);
+            admin.popupCenter({
+                title: title,
+                path: '[[@{/function/loadadd}]]',
+                finish: function () {
+                    table.reload('table', {});
+                }
+            });
+        };
+        let showModelSub = function (data,parentid) {
+            let title = data ? '编辑子功能' : '添加子功能';
+            admin.putTempData('parentId', parentid);
+            admin.putTempData('t_func', data);
+            admin.popupCenter({
+                title: title,
+                path: '[[@{/function/loadsubadd}]]',
+                finish: function () {
+                    table.reload('table', {});
+                }
+            });
+        };
+
+        let showResModel = function (functionid) {
+            let title = '维护资源';
+            admin.putTempData('functionid', functionid);
+            admin.popupCenter({
+                title: title,
+                area:'70%',
+                path: '[[@{/function/loadres}]]?functionid='+functionid
+            });
+        };
+        let showAddResModelSub = function (functionid) {
+            let title = '添加资源';
+            admin.putTempData('functionid', functionid);
+            admin.popupCenter({
+                title: title,
+                path: '[[@{/function/loadresadd}]]',
+                finish: function () {
+                    table.reload('table', {});
+                }
+            });
+        };
+        // 工具条点击事件
+        table.on('tool(table)', function (obj) {
+            let data = obj.data;
+            let layEvent = obj.event;
+            console.log(data);
+            if (layEvent === 'edit') {
+                showModel(data);
+            } else if (layEvent === 'addsub') {
+                showModelSub(null,data.id);
+            } else if (layEvent === 'editsub') {
+                showModelSub(data,data.parentId);
+            } else if (layEvent === 'del') {
+                showDelete(data);
+            } else if(layEvent === 'listres'){
+                showResModel(data.id);
+            } else if(layEvent === 'addres'){
+                showAddResModelSub(data.id);
+            }
+        });
+        let showDelete = function (data) {
+            layer.confirm('确定删除吗，该功能下的子功能、资源、角色分配的该功能都将被删除？', function (i) {
+                layer.close(i);
+                layer.load(2);
+                let token = $("meta[name='_csrf_token']").attr("value");
+                admin.go('[[@{/function/delfunc}]]', {
+                    funcid: data.id,
+                    _csrf:token
+                }, function (data) {
+                    console.log(data.code);
+                    layer.closeAll('loading');
+                    if (data.code == 200) {
+                        layer.msg(data.msg, {icon: 1});
+                    } else if (data.code == 401) {
+                        layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('[[@{/login}]]');
+                        }, 1000);
+                        return;
+                    }
+                    else {
+                        layer.msg(data.msg, {icon: 2});
+                    }
+                    table.reload('table', {});
+                },function(ret){
+                    console.log(ret);
+                    layer.closeAll('loading');
+                    layer.msg('请求失败了，请稍后再试', {icon: 2});
+                });
+            });
+        }
+    });
+</script>
diff --git a/src/main/resources/templates/system/function/resform.html b/payapi/src/main/resources/templates/system/function/resform.html
similarity index 99%
rename from src/main/resources/templates/system/function/resform.html
rename to payapi/src/main/resources/templates/system/function/resform.html
index 4ac8b98..50cd1aa 100755
--- a/src/main/resources/templates/system/function/resform.html
+++ b/payapi/src/main/resources/templates/system/function/resform.html
@@ -1,94 +1,94 @@
-<!-- operator表单弹窗 -->
-<form id="resform" lay-filter="resform" class="layui-form model-form">
-    <input name="id" id="id" type="hidden"/>
-    <div class="layui-form-item">
-        <label class="layui-form-label">资源名称</label>
-        <div class="layui-input-block">
-            <input name="name" placeholder="请输入资源名称" type="text" class="layui-input" maxlength="60"
-                   lay-verify="required|name" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">路径</label>
-        <div class="layui-input-block">
-            <input name="uri" placeholder="请输入资源路径 " type="text" class="layui-input" maxlength="100"
-                   lay-verify="required" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">所属功能</label>
-        <div class="layui-input-block">
-            <select name="functionId" id="functionId" lay-verify="required">
-                <option th:each="func : ${list}" th:value="${func.id}">[[${func.name}]]</option>
-            </select>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">代码</label>
-        <div class="layui-input-block">
-            <input name="code" placeholder="请输入代码" type="text" class="layui-input"/>
-        </div>
-    </div>
-    <div class="layui-form-item model-form-footer">
-        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
-        <button class="layui-btn" lay-filter="resform-submit" lay-submit id="submitbtn">保存</button>
-    </div>
-</form>
-
-<script>
-    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
-        var layer = layui.layer;
-        var admin = layui.admin;
-        var form = layui.form;
-        form.render('select');
-        form.render('radio');
-        var url = '[[@{/function/addres}]]';
-        // 回显user数据
-        var func = admin.getTempData('t_res');
-        if (func) {
-            $('input[name="id"]').attr('readonly', 'readonly');
-            form.val('resform', func);
-        }
-        let functionid = admin.getTempData("functionid");
-        if (functionid) {
-            form.val('resform', {"functionId": functionid});
-        }
-        // 表单提交事件
-        form.on('submit(resform-submit)', function (data) {
-            layer.load(2);
-            let token = $("meta[name='_csrf_token']").attr("value");
-            debugger
-            $.ajax({
-                type: "POST",
-                dataType: "json",
-                url: url,
-                headers: {
-                    'Accept': 'application/json',
-                    'Content-Type': 'application/json',
-                    'X-CSRF-TOKEN': token,
-                },
-                data: JSON.stringify(data.field),
-                success: function (result) {
-                    layer.closeAll('loading');
-                    if (result.code == 200) {
-                        layer.msg(result.msg, {icon: 1});
-                        admin.finishPopupCenter();
-                    } else if (result.code == 401) {
-                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('[[@{/login}]]');
-                        }, 1000);
-                        return;
-                    } else {
-                        console.log('err:' + result.code);
-                        layer.msg(result.msg, {icon: 2});
-                    }
-                },
-                error: function () {
-                    layer.closeAll('loading');
-                    layer.msg("请求服务器失败！", {icon: 2});
-                }
-            });
-            return false;
-        });
-    });
+<!-- operator表单弹窗 -->
+<form id="resform" lay-filter="resform" class="layui-form model-form">
+    <input name="id" id="id" type="hidden"/>
+    <div class="layui-form-item">
+        <label class="layui-form-label">资源名称</label>
+        <div class="layui-input-block">
+            <input name="name" placeholder="请输入资源名称" type="text" class="layui-input" maxlength="60"
+                   lay-verify="required|name" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">路径</label>
+        <div class="layui-input-block">
+            <input name="uri" placeholder="请输入资源路径 " type="text" class="layui-input" maxlength="100"
+                   lay-verify="required" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">所属功能</label>
+        <div class="layui-input-block">
+            <select name="functionId" id="functionId" lay-verify="required">
+                <option th:each="func : ${list}" th:value="${func.id}">[[${func.name}]]</option>
+            </select>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">代码</label>
+        <div class="layui-input-block">
+            <input name="code" placeholder="请输入代码" type="text" class="layui-input"/>
+        </div>
+    </div>
+    <div class="layui-form-item model-form-footer">
+        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+        <button class="layui-btn" lay-filter="resform-submit" lay-submit id="submitbtn">保存</button>
+    </div>
+</form>
+
+<script>
+    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
+        var layer = layui.layer;
+        var admin = layui.admin;
+        var form = layui.form;
+        form.render('select');
+        form.render('radio');
+        var url = '[[@{/function/addres}]]';
+        // 回显user数据
+        var func = admin.getTempData('t_res');
+        if (func) {
+            $('input[name="id"]').attr('readonly', 'readonly');
+            form.val('resform', func);
+        }
+        let functionid = admin.getTempData("functionid");
+        if (functionid) {
+            form.val('resform', {"functionId": functionid});
+        }
+        // 表单提交事件
+        form.on('submit(resform-submit)', function (data) {
+            layer.load(2);
+            let token = $("meta[name='_csrf_token']").attr("value");
+            debugger
+            $.ajax({
+                type: "POST",
+                dataType: "json",
+                url: url,
+                headers: {
+                    'Accept': 'application/json',
+                    'Content-Type': 'application/json',
+                    'X-CSRF-TOKEN': token,
+                },
+                data: JSON.stringify(data.field),
+                success: function (result) {
+                    layer.closeAll('loading');
+                    if (result.code == 200) {
+                        layer.msg(result.msg, {icon: 1});
+                        admin.finishPopupCenter();
+                    } else if (result.code == 401) {
+                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('[[@{/login}]]');
+                        }, 1000);
+                        return;
+                    } else {
+                        console.log('err:' + result.code);
+                        layer.msg(result.msg, {icon: 2});
+                    }
+                },
+                error: function () {
+                    layer.closeAll('loading');
+                    layer.msg("请求服务器失败！", {icon: 2});
+                }
+            });
+            return false;
+        });
+    });
 </script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/function/reslist.html b/payapi/src/main/resources/templates/system/function/reslist.html
similarity index 99%
rename from src/main/resources/templates/system/function/reslist.html
rename to payapi/src/main/resources/templates/system/function/reslist.html
index 63ba042..9a39b92 100755
--- a/src/main/resources/templates/system/function/reslist.html
+++ b/payapi/src/main/resources/templates/system/function/reslist.html
@@ -1,90 +1,90 @@
-<div style="padding:20px;">
-    <table class="layui-table" id="restable" lay-filter="restable">
-    </table>
-    <input type="hidden" id="functionid" th:value="${function.id}">
-    <input type="hidden" id="functionname" th:value="${function.name}">
-</div>
-<script>
-    layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
-        let form = layui.form;
-        let admin = layui.admin;
-        form.render('select');
-        let table = layui.table;
-        let func = admin.getTempData('functionid');
-        table.render({
-            elem: '#restable',
-            url: '[[@{/function/reslist}]]?functionid=' + func,
-            cols: [
-                [
-                    {field: 'id', title: '资源ID', width: 80, fixed: 'left', sort: true},
-                    {field: 'name', title: '资源名称', sort: true},
-                    {
-                        field: 'functionId', title: '所属功能', sort: true, align: 'center', templet: function (item) {
-                            return $("#functionname").val();
-                        }
-                    },
-                    {field: 'uri', title: '路径'},
-                    {field: 'code', sort: true, width: 80, title: '代码'},
-                    {
-                        field: 'id', align: 'center', title: '操作',  templet: function (item) {
-                            return '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
-                        }
-                    }
-                ]
-            ]
-        });
-        // 工具条点击事件
-        table.on('tool(restable)', function (obj) {
-            let data = obj.data;
-            let layEvent = obj.event;
-            console.log(data);
-            if (layEvent === 'edit') {
-                showAddResModelSub(data);
-            } else if (layEvent === 'del') {
-                showDelete(data);
-            }
-        });
-        let showAddResModelSub = function (data) {
-            let title = '编辑资源';
-            admin.putTempData('functionid', $("#functionid").val());
-            admin.putTempData('t_data',data);
-            admin.popupCenter({
-                title: title,
-                path: '[[@{/function/loadresadd}]]',
-                finish: function () {
-                    table.reload('table', {});
-                }
-            });
-        };
-        let showDelete = function (data) {
-            layer.confirm('确定删除吗？', function (i) {
-                layer.close(i);
-                layer.load(2);
-                let token = $("meta[name='_csrf_token']").attr("value");
-                admin.go('[[@{/function/delres}]]', {
-                    resid: data.id,
-                    _csrf:token
-                }, function (data) {
-                    console.log(data.code);
-                    layer.closeAll('loading');
-                    if (data.code == 200) {
-                        layer.msg(data.msg, {icon: 1});
-                    } else if (data.code == 401) {
-                        layer.msg(data.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('[[@{/login}]]');
-                        }, 1000);
-                        return;
-                    }
-                    else {
-                        layer.msg(data.msg, {icon: 2});
-                    }
-                    table.reload('restable', {});
-                },function(ret){
-                    console.log(ret);
-                    layer.closeAll('loading');
-                    layer.msg('请求失败了，请稍后再试', {icon: 2});
-                });
-            });
-        }
-    });
-</script>
+<div style="padding:20px;">
+    <table class="layui-table" id="restable" lay-filter="restable">
+    </table>
+    <input type="hidden" id="functionid" th:value="${function.id}">
+    <input type="hidden" id="functionname" th:value="${function.name}">
+</div>
+<script>
+    layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
+        let form = layui.form;
+        let admin = layui.admin;
+        form.render('select');
+        let table = layui.table;
+        let func = admin.getTempData('functionid');
+        table.render({
+            elem: '#restable',
+            url: '[[@{/function/reslist}]]?functionid=' + func,
+            cols: [
+                [
+                    {field: 'id', title: '资源ID', width: 80, fixed: 'left', sort: true},
+                    {field: 'name', title: '资源名称', sort: true},
+                    {
+                        field: 'functionId', title: '所属功能', sort: true, align: 'center', templet: function (item) {
+                            return $("#functionname").val();
+                        }
+                    },
+                    {field: 'uri', title: '路径'},
+                    {field: 'code', sort: true, width: 80, title: '代码'},
+                    {
+                        field: 'id', align: 'center', title: '操作',  templet: function (item) {
+                            return '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
+                        }
+                    }
+                ]
+            ]
+        });
+        // 工具条点击事件
+        table.on('tool(restable)', function (obj) {
+            let data = obj.data;
+            let layEvent = obj.event;
+            console.log(data);
+            if (layEvent === 'edit') {
+                showAddResModelSub(data);
+            } else if (layEvent === 'del') {
+                showDelete(data);
+            }
+        });
+        let showAddResModelSub = function (data) {
+            let title = '编辑资源';
+            admin.putTempData('functionid', $("#functionid").val());
+            admin.putTempData('t_data',data);
+            admin.popupCenter({
+                title: title,
+                path: '[[@{/function/loadresadd}]]',
+                finish: function () {
+                    table.reload('table', {});
+                }
+            });
+        };
+        let showDelete = function (data) {
+            layer.confirm('确定删除吗？', function (i) {
+                layer.close(i);
+                layer.load(2);
+                let token = $("meta[name='_csrf_token']").attr("value");
+                admin.go('[[@{/function/delres}]]', {
+                    resid: data.id,
+                    _csrf:token
+                }, function (data) {
+                    console.log(data.code);
+                    layer.closeAll('loading');
+                    if (data.code == 200) {
+                        layer.msg(data.msg, {icon: 1});
+                    } else if (data.code == 401) {
+                        layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('[[@{/login}]]');
+                        }, 1000);
+                        return;
+                    }
+                    else {
+                        layer.msg(data.msg, {icon: 2});
+                    }
+                    table.reload('restable', {});
+                },function(ret){
+                    console.log(ret);
+                    layer.closeAll('loading');
+                    layer.msg('请求失败了，请稍后再试', {icon: 2});
+                });
+            });
+        }
+    });
+</script>
diff --git a/src/main/resources/templates/system/function/subform.html b/payapi/src/main/resources/templates/system/function/subform.html
similarity index 99%
rename from src/main/resources/templates/system/function/subform.html
rename to payapi/src/main/resources/templates/system/function/subform.html
index f04a15e..d207807 100755
--- a/src/main/resources/templates/system/function/subform.html
+++ b/payapi/src/main/resources/templates/system/function/subform.html
@@ -1,106 +1,106 @@
-<!-- operator表单弹窗 -->
-<form id="form" lay-filter="subform" class="layui-form model-form">
-    <input name="id" id="id" type="hidden"/>
-    <div class="layui-form-item">
-        <label class="layui-form-label">功能名称</label>
-        <div class="layui-input-block">
-            <input name="name" placeholder="请输入功能名称" type="text" class="layui-input" maxlength="20"
-                   lay-verify="required|name" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">路径</label>
-        <div class="layui-input-block">
-            <input name="menuUrl" placeholder="请输入路径，父节点默认为 # " type="text" class="layui-input" maxlength="60" lay-verify="required" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">父功能</label>
-        <div class="layui-input-block">
-            <select name="parentId" id="parentId" lay-verify="required">
-                <option th:each="func : ${list}" th:value="${func.id}">[[${func.name}]]</option>
-            </select>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">节点</label>
-        <div class="layui-input-block">
-            <input type="radio" name="isLeaf" value="1" title="子" checked/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">序号</label>
-        <div class="layui-input-block">
-            <input name="orderNum" placeholder="请输入序号" type="text" class="layui-input" />
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">图标</label>
-        <div class="layui-input-block">
-            <input name="menuIcon" placeholder="请输入图标 例:layui-icon-xx " type="text" class="layui-input" />
-        </div>
-    </div>
-
-    <div class="layui-form-item model-form-footer">
-        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
-        <button class="layui-btn" lay-filter="subform-submit" lay-submit  id="submitbtn">保存</button>
-    </div>
-</form>
-
-<script>
-    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
-        var layer = layui.layer;
-        var admin = layui.admin;
-        var form = layui.form;
-        form.render('select');
-        form.render('radio');
-        var url = '[[@{/function/add}]]';
-        // 回显user数据
-        var func = admin.getTempData('t_func');
-        if (func) {
-            $('input[name="id"]').attr('readonly', 'readonly');
-            form.val('subform', func);
-        }
-        let parentId = admin.getTempData("parentId");
-        if(parentId){
-            form.val('subform', {"parentId":parentId});
-        }
-        // 表单提交事件
-        form.on('submit(subform-submit)', function (data) {
-            layer.load(2);
-            let token = $("meta[name='_csrf_token']").attr("value");
-            debugger
-            $.ajax({
-                type : "POST",
-                dataType : "json",
-                url : url,
-                headers: {
-                    'Accept': 'application/json',
-                    'Content-Type': 'application/json',
-                    'X-CSRF-TOKEN':token,
-                },
-                data : JSON.stringify(data.field),
-                success : function(result) {
-                    layer.closeAll('loading');
-                    if (result.code == 200) {
-                        layer.msg(result.msg, {icon: 1});
-                        admin.finishPopupCenter();
-                    } else if (result.code == 401) {
-                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('[[@{/login}]]');
-                        }, 1000);
-                        return;
-                    } else {
-                        console.log('err:' + result.code);
-                        layer.msg(result.msg, {icon: 2});
-                    }
-                },
-                error : function() {
-                    layer.closeAll('loading');
-                    layer.msg("请求服务器失败！", {icon: 2});
-                }
-            });
-            return false;
-        });
-    });
+<!-- operator表单弹窗 -->
+<form id="form" lay-filter="subform" class="layui-form model-form">
+    <input name="id" id="id" type="hidden"/>
+    <div class="layui-form-item">
+        <label class="layui-form-label">功能名称</label>
+        <div class="layui-input-block">
+            <input name="name" placeholder="请输入功能名称" type="text" class="layui-input" maxlength="20"
+                   lay-verify="required|name" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">路径</label>
+        <div class="layui-input-block">
+            <input name="menuUrl" placeholder="请输入路径，父节点默认为 # " type="text" class="layui-input" maxlength="60" lay-verify="required" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">父功能</label>
+        <div class="layui-input-block">
+            <select name="parentId" id="parentId" lay-verify="required">
+                <option th:each="func : ${list}" th:value="${func.id}">[[${func.name}]]</option>
+            </select>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">节点</label>
+        <div class="layui-input-block">
+            <input type="radio" name="isLeaf" value="1" title="子" checked/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">序号</label>
+        <div class="layui-input-block">
+            <input name="orderNum" placeholder="请输入序号" type="text" class="layui-input" />
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">图标</label>
+        <div class="layui-input-block">
+            <input name="menuIcon" placeholder="请输入图标 例:layui-icon-xx " type="text" class="layui-input" />
+        </div>
+    </div>
+
+    <div class="layui-form-item model-form-footer">
+        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+        <button class="layui-btn" lay-filter="subform-submit" lay-submit  id="submitbtn">保存</button>
+    </div>
+</form>
+
+<script>
+    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
+        var layer = layui.layer;
+        var admin = layui.admin;
+        var form = layui.form;
+        form.render('select');
+        form.render('radio');
+        var url = '[[@{/function/add}]]';
+        // 回显user数据
+        var func = admin.getTempData('t_func');
+        if (func) {
+            $('input[name="id"]').attr('readonly', 'readonly');
+            form.val('subform', func);
+        }
+        let parentId = admin.getTempData("parentId");
+        if(parentId){
+            form.val('subform', {"parentId":parentId});
+        }
+        // 表单提交事件
+        form.on('submit(subform-submit)', function (data) {
+            layer.load(2);
+            let token = $("meta[name='_csrf_token']").attr("value");
+            debugger
+            $.ajax({
+                type : "POST",
+                dataType : "json",
+                url : url,
+                headers: {
+                    'Accept': 'application/json',
+                    'Content-Type': 'application/json',
+                    'X-CSRF-TOKEN':token,
+                },
+                data : JSON.stringify(data.field),
+                success : function(result) {
+                    layer.closeAll('loading');
+                    if (result.code == 200) {
+                        layer.msg(result.msg, {icon: 1});
+                        admin.finishPopupCenter();
+                    } else if (result.code == 401) {
+                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('[[@{/login}]]');
+                        }, 1000);
+                        return;
+                    } else {
+                        console.log('err:' + result.code);
+                        layer.msg(result.msg, {icon: 2});
+                    }
+                },
+                error : function() {
+                    layer.closeAll('loading');
+                    layer.msg("请求服务器失败！", {icon: 2});
+                }
+            });
+            return false;
+        });
+    });
 </script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/operator/index.html b/payapi/src/main/resources/templates/system/operator/index.html
similarity index 100%
rename from src/main/resources/templates/system/operator/index.html
rename to payapi/src/main/resources/templates/system/operator/index.html
diff --git a/src/main/resources/templates/system/operator/logs.html b/payapi/src/main/resources/templates/system/operator/logs.html
similarity index 100%
rename from src/main/resources/templates/system/operator/logs.html
rename to payapi/src/main/resources/templates/system/operator/logs.html
diff --git a/src/main/resources/templates/system/operator/operator.html b/payapi/src/main/resources/templates/system/operator/operator.html
similarity index 100%
rename from src/main/resources/templates/system/operator/operator.html
rename to payapi/src/main/resources/templates/system/operator/operator.html
diff --git a/src/main/resources/templates/system/operator/setpwd.html b/payapi/src/main/resources/templates/system/operator/setpwd.html
similarity index 100%
rename from src/main/resources/templates/system/operator/setpwd.html
rename to payapi/src/main/resources/templates/system/operator/setpwd.html
diff --git a/src/main/resources/templates/system/operator/userinfor.html b/payapi/src/main/resources/templates/system/operator/userinfor.html
similarity index 100%
rename from src/main/resources/templates/system/operator/userinfor.html
rename to payapi/src/main/resources/templates/system/operator/userinfor.html
diff --git a/src/main/resources/templates/system/param/apiclientform.html b/payapi/src/main/resources/templates/system/param/apiclientform.html
similarity index 100%
rename from src/main/resources/templates/system/param/apiclientform.html
rename to payapi/src/main/resources/templates/system/param/apiclientform.html
diff --git a/src/main/resources/templates/system/param/apiclientpara.html b/payapi/src/main/resources/templates/system/param/apiclientpara.html
similarity index 100%
rename from src/main/resources/templates/system/param/apiclientpara.html
rename to payapi/src/main/resources/templates/system/param/apiclientpara.html
diff --git a/src/main/resources/templates/system/param/businesspara.html b/payapi/src/main/resources/templates/system/param/businesspara.html
similarity index 100%
rename from src/main/resources/templates/system/param/businesspara.html
rename to payapi/src/main/resources/templates/system/param/businesspara.html
diff --git a/src/main/resources/templates/system/param/busparaform.html b/payapi/src/main/resources/templates/system/param/busparaform.html
similarity index 100%
rename from src/main/resources/templates/system/param/busparaform.html
rename to payapi/src/main/resources/templates/system/param/busparaform.html
diff --git a/src/main/resources/templates/system/param/paytype.html b/payapi/src/main/resources/templates/system/param/paytype.html
similarity index 100%
rename from src/main/resources/templates/system/param/paytype.html
rename to payapi/src/main/resources/templates/system/param/paytype.html
diff --git a/src/main/resources/templates/system/param/paytypeconfig.html b/payapi/src/main/resources/templates/system/param/paytypeconfig.html
similarity index 100%
rename from src/main/resources/templates/system/param/paytypeconfig.html
rename to payapi/src/main/resources/templates/system/param/paytypeconfig.html
diff --git a/src/main/resources/templates/system/param/paytypeform.html b/payapi/src/main/resources/templates/system/param/paytypeform.html
similarity index 100%
rename from src/main/resources/templates/system/param/paytypeform.html
rename to payapi/src/main/resources/templates/system/param/paytypeform.html
diff --git a/src/main/resources/templates/system/param/syspara.html b/payapi/src/main/resources/templates/system/param/syspara.html
similarity index 100%
rename from src/main/resources/templates/system/param/syspara.html
rename to payapi/src/main/resources/templates/system/param/syspara.html
diff --git a/src/main/resources/templates/system/report/shopbusiness.html b/payapi/src/main/resources/templates/system/report/shopbusiness.html
similarity index 100%
rename from src/main/resources/templates/system/report/shopbusiness.html
rename to payapi/src/main/resources/templates/system/report/shopbusiness.html
diff --git a/src/main/resources/templates/system/report/subjectday.html b/payapi/src/main/resources/templates/system/report/subjectday.html
similarity index 100%
rename from src/main/resources/templates/system/report/subjectday.html
rename to payapi/src/main/resources/templates/system/report/subjectday.html
diff --git a/src/main/resources/templates/system/report/subjectdetail.html b/payapi/src/main/resources/templates/system/report/subjectdetail.html
similarity index 100%
rename from src/main/resources/templates/system/report/subjectdetail.html
rename to payapi/src/main/resources/templates/system/report/subjectdetail.html
diff --git a/src/main/resources/templates/system/role/form.html b/payapi/src/main/resources/templates/system/role/form.html
similarity index 99%
rename from src/main/resources/templates/system/role/form.html
rename to payapi/src/main/resources/templates/system/role/form.html
index d60bac8..607c1f3 100755
--- a/src/main/resources/templates/system/role/form.html
+++ b/payapi/src/main/resources/templates/system/role/form.html
@@ -1,73 +1,73 @@
-<!-- operator表单弹窗 -->
-<form id="form" lay-filter="form" class="layui-form model-form">
-    <input name="roleId" id="roleId" type="hidden"/>
-    <div class="layui-form-item">
-        <label class="layui-form-label">角色名称</label>
-        <div class="layui-input-block">
-            <input name="roleName" placeholder="请输入角色名称" type="text" class="layui-input" maxlength="20"
-                   lay-verify="required|roleName" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">角色描述</label>
-        <div class="layui-input-block">
-            <textarea name="roleDesc" placeholder="请输入描述" class="layui-textarea"></textarea>
-        </div>
-    </div>
-
-    <div class="layui-form-item model-form-footer">
-        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
-        <button class="layui-btn" lay-filter="form-submit" lay-submit  id="submitbtn">保存</button>
-    </div>
-</form>
-
-<script>
-    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
-        var layer = layui.layer;
-        var admin = layui.admin;
-        var form = layui.form;
-        var url = '[[@{/role/add}]]';
-        // 回显user数据
-        var func = admin.getTempData('t_func');
-        if (func) {
-            $('input[name="roleId"]').attr('readonly', 'readonly');
-            form.val('form', func);
-        }
-        // 表单提交事件
-        form.on('submit(form-submit)', function (data) {
-            layer.load(2);
-            let token = $("meta[name='_csrf_token']").attr("value");
-            $.ajax({
-                type : "POST",
-                dataType : "json",
-                url : url,
-                headers: {
-                    'Accept': 'application/json',
-                    'Content-Type': 'application/json',
-                    'X-CSRF-TOKEN':token,
-                },
-                data : JSON.stringify(data.field),
-                success : function(result) {
-                    layer.closeAll('loading');
-                    if (result.code == 200) {
-                        layer.msg(result.msg, {icon: 1});
-                        admin.finishPopupCenter();
-                    } else if (result.code == 401) {
-                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('[[@{/login}]]');
-                        }, 1000);
-                        return;
-                    } else {
-                        console.log('err:' + result.code);
-                        layer.msg(result.msg, {icon: 2});
-                    }
-                },
-                error : function() {
-                    layer.closeAll('loading');
-                    layer.msg("请求服务器失败！", {icon: 2});
-                }
-            });
-            return false;
-        });
-    });
+<!-- operator表单弹窗 -->
+<form id="form" lay-filter="form" class="layui-form model-form">
+    <input name="roleId" id="roleId" type="hidden"/>
+    <div class="layui-form-item">
+        <label class="layui-form-label">角色名称</label>
+        <div class="layui-input-block">
+            <input name="roleName" placeholder="请输入角色名称" type="text" class="layui-input" maxlength="20"
+                   lay-verify="required|roleName" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">角色描述</label>
+        <div class="layui-input-block">
+            <textarea name="roleDesc" placeholder="请输入描述" class="layui-textarea"></textarea>
+        </div>
+    </div>
+
+    <div class="layui-form-item model-form-footer">
+        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+        <button class="layui-btn" lay-filter="form-submit" lay-submit  id="submitbtn">保存</button>
+    </div>
+</form>
+
+<script>
+    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
+        var layer = layui.layer;
+        var admin = layui.admin;
+        var form = layui.form;
+        var url = '[[@{/role/add}]]';
+        // 回显user数据
+        var func = admin.getTempData('t_func');
+        if (func) {
+            $('input[name="roleId"]').attr('readonly', 'readonly');
+            form.val('form', func);
+        }
+        // 表单提交事件
+        form.on('submit(form-submit)', function (data) {
+            layer.load(2);
+            let token = $("meta[name='_csrf_token']").attr("value");
+            $.ajax({
+                type : "POST",
+                dataType : "json",
+                url : url,
+                headers: {
+                    'Accept': 'application/json',
+                    'Content-Type': 'application/json',
+                    'X-CSRF-TOKEN':token,
+                },
+                data : JSON.stringify(data.field),
+                success : function(result) {
+                    layer.closeAll('loading');
+                    if (result.code == 200) {
+                        layer.msg(result.msg, {icon: 1});
+                        admin.finishPopupCenter();
+                    } else if (result.code == 401) {
+                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('[[@{/login}]]');
+                        }, 1000);
+                        return;
+                    } else {
+                        console.log('err:' + result.code);
+                        layer.msg(result.msg, {icon: 2});
+                    }
+                },
+                error : function() {
+                    layer.closeAll('loading');
+                    layer.msg("请求服务器失败！", {icon: 2});
+                }
+            });
+            return false;
+        });
+    });
 </script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/role/func.html b/payapi/src/main/resources/templates/system/role/func.html
similarity index 99%
rename from src/main/resources/templates/system/role/func.html
rename to payapi/src/main/resources/templates/system/role/func.html
index f3ebd5e..917c8d9 100755
--- a/src/main/resources/templates/system/role/func.html
+++ b/payapi/src/main/resources/templates/system/role/func.html
@@ -1,89 +1,89 @@
-<div style="padding: 0 20px">
-    <div class="layui-form-item" style="max-height: 490px;overflow: auto;">
-        <ul id="funclist" class="ztree"></ul>
-    </div>
-    <div class="layui-form-item model-form-footer">
-        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
-        <button class="layui-btn" lay-filter="form-submit" id="submitbtn">保存</button>
-    </div>
-</div>
-<script>
-    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
-        var layer = layui.layer;
-        var admin = layui.admin;
-        var form = layui.form;
-        var func = admin.getTempData('roleId');
-        let initTree = function (nodes) {
-            let menuSetting = {
-                view: {
-                    dblClickExpand: true,
-                    showLine: true,
-                    showIcon: false
-                },
-                check: {
-                    enable: true,
-                },
-                data: {
-                    simpleData: {
-                        enable: true
-                    }
-                }
-            };
-            $.fn.zTree.init($("#funclist"), menuSetting, nodes);
-        }
-        admin.dgo('[[@{/role/func}]]', {
-            roleId: func,
-        }, function (data) {
-            layer.closeAll('loading');
-            if (data.code == 200) {
-                initTree(data.node);
-            } else if (data.code == 401) {
-                layer.msg(data.msg, {icon: 2, time: 1500}, function () {
-                    location.replace('[[@{/login}]]');
-                }, 1000);
-                return;
-            } else {
-                layer.msg(data.msg, {icon: 2});
-            }
-        }, function (ret) {
-            layer.closeAll('loading');
-            layer.msg('请求失败了，请稍后再试', {icon: 2});
-        });
-        $("#submitbtn").on('click', function (e) {
-            let ids = [];
-            let treeObj = $.fn.zTree.getZTreeObj("funclist");
-            let nodes = treeObj.getCheckedNodes(true);
-            for (let i = 0; i < nodes.length; i++) {
-
-                ids.push(nodes[i].id);//存功能ID
-            }
-            if (ids.length < 1) {
-                return;
-            }
-            let idStr = ids.toString();
-            let token = $("meta[name='_csrf_token']").attr("value");
-            admin.go('[[@{/role/addfunc}]]', {
-                roleId: func,
-                funcs: idStr,
-                _csrf: token,
-            }, function (data) {
-                layer.closeAll('loading');
-                if (data.code == 200) {
-                    layer.msg(data.msg, {icon: 1});
-                    admin.finishPopupCenter();
-                } else if (data.code == 401) {
-                    layer.msg(data.msg, {icon: 2, time: 1500}, function () {
-                        location.replace('[[@{/login}]]');
-                    }, 1000);
-                    return;
-                } else {
-                    layer.msg(data.msg, {icon: 2});
-                }
-            }, function (ret) {
-                console.log(ret);
-                layer.closeAll('loading');
-                layer.msg('请求失败了，请稍后再试', {icon: 2});
-            });
-        })
-    });
+<div style="padding: 0 20px">
+    <div class="layui-form-item" style="max-height: 490px;overflow: auto;">
+        <ul id="funclist" class="ztree"></ul>
+    </div>
+    <div class="layui-form-item model-form-footer">
+        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+        <button class="layui-btn" lay-filter="form-submit" id="submitbtn">保存</button>
+    </div>
+</div>
+<script>
+    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
+        var layer = layui.layer;
+        var admin = layui.admin;
+        var form = layui.form;
+        var func = admin.getTempData('roleId');
+        let initTree = function (nodes) {
+            let menuSetting = {
+                view: {
+                    dblClickExpand: true,
+                    showLine: true,
+                    showIcon: false
+                },
+                check: {
+                    enable: true,
+                },
+                data: {
+                    simpleData: {
+                        enable: true
+                    }
+                }
+            };
+            $.fn.zTree.init($("#funclist"), menuSetting, nodes);
+        }
+        admin.dgo('[[@{/role/func}]]', {
+            roleId: func,
+        }, function (data) {
+            layer.closeAll('loading');
+            if (data.code == 200) {
+                initTree(data.node);
+            } else if (data.code == 401) {
+                layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                    location.replace('[[@{/login}]]');
+                }, 1000);
+                return;
+            } else {
+                layer.msg(data.msg, {icon: 2});
+            }
+        }, function (ret) {
+            layer.closeAll('loading');
+            layer.msg('请求失败了，请稍后再试', {icon: 2});
+        });
+        $("#submitbtn").on('click', function (e) {
+            let ids = [];
+            let treeObj = $.fn.zTree.getZTreeObj("funclist");
+            let nodes = treeObj.getCheckedNodes(true);
+            for (let i = 0; i < nodes.length; i++) {
+
+                ids.push(nodes[i].id);//存功能ID
+            }
+            if (ids.length < 1) {
+                return;
+            }
+            let idStr = ids.toString();
+            let token = $("meta[name='_csrf_token']").attr("value");
+            admin.go('[[@{/role/addfunc}]]', {
+                roleId: func,
+                funcs: idStr,
+                _csrf: token,
+            }, function (data) {
+                layer.closeAll('loading');
+                if (data.code == 200) {
+                    layer.msg(data.msg, {icon: 1});
+                    admin.finishPopupCenter();
+                } else if (data.code == 401) {
+                    layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                        location.replace('[[@{/login}]]');
+                    }, 1000);
+                    return;
+                } else {
+                    layer.msg(data.msg, {icon: 2});
+                }
+            }, function (ret) {
+                console.log(ret);
+                layer.closeAll('loading');
+                layer.msg('请求失败了，请稍后再试', {icon: 2});
+            });
+        })
+    });
 </script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/role/index.html b/payapi/src/main/resources/templates/system/role/index.html
similarity index 100%
rename from src/main/resources/templates/system/role/index.html
rename to payapi/src/main/resources/templates/system/role/index.html
diff --git a/src/main/resources/templates/system/shop/config.html b/payapi/src/main/resources/templates/system/shop/config.html
similarity index 100%
rename from src/main/resources/templates/system/shop/config.html
rename to payapi/src/main/resources/templates/system/shop/config.html
diff --git a/src/main/resources/templates/system/shop/configform.html b/payapi/src/main/resources/templates/system/shop/configform.html
similarity index 100%
rename from src/main/resources/templates/system/shop/configform.html
rename to payapi/src/main/resources/templates/system/shop/configform.html
diff --git a/src/main/resources/templates/system/shop/configpara.html b/payapi/src/main/resources/templates/system/shop/configpara.html
similarity index 100%
rename from src/main/resources/templates/system/shop/configpara.html
rename to payapi/src/main/resources/templates/system/shop/configpara.html
diff --git a/src/main/resources/templates/system/shop/index.html b/payapi/src/main/resources/templates/system/shop/index.html
similarity index 100%
rename from src/main/resources/templates/system/shop/index.html
rename to payapi/src/main/resources/templates/system/shop/index.html
diff --git a/src/main/resources/templates/system/user/account.html b/payapi/src/main/resources/templates/system/user/account.html
similarity index 100%
rename from src/main/resources/templates/system/user/account.html
rename to payapi/src/main/resources/templates/system/user/account.html
diff --git a/src/main/resources/templates/system/user/add.html b/payapi/src/main/resources/templates/system/user/add.html
similarity index 99%
rename from src/main/resources/templates/system/user/add.html
rename to payapi/src/main/resources/templates/system/user/add.html
index d04999d..7badc58 100755
--- a/src/main/resources/templates/system/user/add.html
+++ b/payapi/src/main/resources/templates/system/user/add.html
@@ -1,110 +1,110 @@
-<!-- operator表单弹窗 -->
-<form id="user-form" lay-filter="user-form" class="layui-form model-form">
-    <input name="userid" id="userid" type="hidden"/>
-    <div class="layui-form-item">
-        <label class="layui-form-label">姓名*</label>
-        <div class="layui-input-block">
-            <input name="name" placeholder="请输入名称" type="text" class="layui-input" maxlength="100"
-                   lay-verify="required" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">性别</label>
-        <div class="layui-input-block">
-            <input type="radio" name="sex" value="male" title="男" checked/>
-            <input type="radio" name="sex" value="female" title="女"/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">证件类型*</label>
-        <div class="layui-input-block">
-            <select name="idtype" id="idtype" lay-verify="required">
-                <option th:each="bean : ${idtypeList}" th:value="${bean.dictval}">[[${bean.dictcaption}]]</option>
-            </select>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">证件号*</label>
-        <div class="layui-input-block">
-            <input name="idno" placeholder="请输入证件号" type="text" class="layui-input" maxlength="100"
-                   lay-verify="required" required/>
-        </div>
-    </div>
-
-    <div class="layui-form-item">
-        <label class="layui-form-label">手机号*</label>
-        <div class="layui-input-block">
-            <input name="mobile" placeholder="请输入手机号" type="text" class="layui-input" maxlength="11"
-                   lay-verify="required" required/>
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">邮箱</label>
-        <div class="layui-input-block">
-            <input name="email" placeholder="请输入邮箱" type="text" class="layui-input" maxlength="100" />
-        </div>
-    </div>
-    <div class="layui-form-item">
-        <label class="layui-form-label">地址</label>
-        <div class="layui-input-block">
-            <input name="addr" placeholder="请输入地址" type="text" class="layui-input" maxlength="300" />
-        </div>
-    </div>
-
-    <div class="layui-form-item model-form-footer">
-        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
-        <button class="layui-btn" lay-filter="user-form-submit" lay-submit  id="submitbtn">保存</button>
-    </div>
-</form>
-
-<script>
-    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
-        var layer = layui.layer;
-        var admin = layui.admin;
-        var form = layui.form;
-        var url = '[[@{/user/add}]]';
-        form.render('radio');
-        form.render('select');
-        // 回显user数据
-        var bean = admin.getTempData('t_bean');
-        if (bean) {
-            form.val('user-form', bean);
-        }
-        // 表单提交事件
-        form.on('submit(user-form-submit)', function (data) {
-            layer.load(2);
-            let token = $("meta[name='_csrf_token']").attr("value");
-            $.ajax({
-                type : "POST",
-                dataType : "json",
-                url : url,
-                headers: {
-                    'Accept': 'application/json',
-                    'Content-Type': 'application/json',
-                    'X-CSRF-TOKEN':token,
-                },
-                data : JSON.stringify(data.field),
-                success : function(result) {
-                    layer.closeAll('loading');
-                    if (result.code == 200) {
-                        layer.msg(result.msg, {icon: 1});
-                        admin.finishPopupCenter();
-                    } else if (result.code == 401) {
-                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('[[@{/login}]]');
-                        }, 1000);
-                        return;
-                    } else {
-                        console.log('err:' + result.code);
-                        layer.msg(result.msg, {icon: 2});
-                    }
-                },
-                error : function() {
-                    layer.closeAll('loading');
-                    layer.msg("请求服务器失败！", {icon: 2});
-                }
-            });
-            return false;
-        });
-    });
+<!-- operator表单弹窗 -->
+<form id="user-form" lay-filter="user-form" class="layui-form model-form">
+    <input name="userid" id="userid" type="hidden"/>
+    <div class="layui-form-item">
+        <label class="layui-form-label">姓名*</label>
+        <div class="layui-input-block">
+            <input name="name" placeholder="请输入名称" type="text" class="layui-input" maxlength="100"
+                   lay-verify="required" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">性别</label>
+        <div class="layui-input-block">
+            <input type="radio" name="sex" value="male" title="男" checked/>
+            <input type="radio" name="sex" value="female" title="女"/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">证件类型*</label>
+        <div class="layui-input-block">
+            <select name="idtype" id="idtype" lay-verify="required">
+                <option th:each="bean : ${idtypeList}" th:value="${bean.dictval}">[[${bean.dictcaption}]]</option>
+            </select>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">证件号*</label>
+        <div class="layui-input-block">
+            <input name="idno" placeholder="请输入证件号" type="text" class="layui-input" maxlength="100"
+                   lay-verify="required" required/>
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <label class="layui-form-label">手机号*</label>
+        <div class="layui-input-block">
+            <input name="mobile" placeholder="请输入手机号" type="text" class="layui-input" maxlength="11"
+                   lay-verify="required" required/>
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">邮箱</label>
+        <div class="layui-input-block">
+            <input name="email" placeholder="请输入邮箱" type="text" class="layui-input" maxlength="100" />
+        </div>
+    </div>
+    <div class="layui-form-item">
+        <label class="layui-form-label">地址</label>
+        <div class="layui-input-block">
+            <input name="addr" placeholder="请输入地址" type="text" class="layui-input" maxlength="300" />
+        </div>
+    </div>
+
+    <div class="layui-form-item model-form-footer">
+        <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
+        <button class="layui-btn" lay-filter="user-form-submit" lay-submit  id="submitbtn">保存</button>
+    </div>
+</form>
+
+<script>
+    layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
+        var layer = layui.layer;
+        var admin = layui.admin;
+        var form = layui.form;
+        var url = '[[@{/user/add}]]';
+        form.render('radio');
+        form.render('select');
+        // 回显user数据
+        var bean = admin.getTempData('t_bean');
+        if (bean) {
+            form.val('user-form', bean);
+        }
+        // 表单提交事件
+        form.on('submit(user-form-submit)', function (data) {
+            layer.load(2);
+            let token = $("meta[name='_csrf_token']").attr("value");
+            $.ajax({
+                type : "POST",
+                dataType : "json",
+                url : url,
+                headers: {
+                    'Accept': 'application/json',
+                    'Content-Type': 'application/json',
+                    'X-CSRF-TOKEN':token,
+                },
+                data : JSON.stringify(data.field),
+                success : function(result) {
+                    layer.closeAll('loading');
+                    if (result.code == 200) {
+                        layer.msg(result.msg, {icon: 1});
+                        admin.finishPopupCenter();
+                    } else if (result.code == 401) {
+                        layer.msg(result.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('[[@{/login}]]');
+                        }, 1000);
+                        return;
+                    } else {
+                        console.log('err:' + result.code);
+                        layer.msg(result.msg, {icon: 2});
+                    }
+                },
+                error : function() {
+                    layer.closeAll('loading');
+                    layer.msg("请求服务器失败！", {icon: 2});
+                }
+            });
+            return false;
+        });
+    });
 </script>
\ No newline at end of file
diff --git a/src/main/resources/templates/system/user/bind.html b/payapi/src/main/resources/templates/system/user/bind.html
similarity index 99%
rename from src/main/resources/templates/system/user/bind.html
rename to payapi/src/main/resources/templates/system/user/bind.html
index e5ea4d5..cba5937 100755
--- a/src/main/resources/templates/system/user/bind.html
+++ b/payapi/src/main/resources/templates/system/user/bind.html
@@ -1,76 +1,76 @@
-<div style="padding:20px;">
-    <table class="layui-table" id="userbindtable" lay-filter="userbindtable">
-    </table>
-    <input type="hidden" id="userid" th:value="${userid}">
-</div>
-<script>
-    layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
-        let form = layui.form;
-        let admin = layui.admin;
-        form.render('select');
-        let table = layui.table;
-        let userid = admin.getTempData('userid');
-        table.render({
-            elem: '#userbindtable',
-            url: '[[@{/user/bind}]]?userid=' + userid,
-            cols: [
-                [
-                    {field: 'id', title: '资源ID', width: 80, fixed: 'left', sort: true},
-                    {field: 'name', title: '资源名称', sort: true},
-                    {
-                        field: 'functionId', title: '所属功能', sort: true, align: 'center', templet: function (item) {
-                            return $("#functionname").val();
-                        }
-                    },
-                    {field: 'uri', title: '路径'},
-                    {field: 'code', sort: true, width: 80, title: '代码'},
-                    {
-                        field: 'id', align: 'center', title: '操作',  templet: function (item) {
-                            return '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
-                        }
-                    }
-                ]
-            ]
-        });
-        // 工具条点击事件
-        table.on('tool(userbindtable)', function (obj) {
-            let data = obj.data;
-            let layEvent = obj.event;
-            console.log(data);
-            if (layEvent === 'del') {
-                showDelete(data);
-            }
-        });
-
-        let showDelete = function (data) {
-            layer.confirm('确定删除吗？', function (i) {
-                layer.close(i);
-                layer.load(2);
-                let token = $("meta[name='_csrf_token']").attr("value");
-                admin.go('[[@{/user/delbind}]]', {
-                    resid: data.id,
-                    _csrf:token
-                }, function (data) {
-                    console.log(data.code);
-                    layer.closeAll('loading');
-                    if (data.code == 200) {
-                        layer.msg(data.msg, {icon: 1});
-                    } else if (data.code == 401) {
-                        layer.msg(data.msg, {icon: 2, time: 1500}, function () {
-                            location.replace('[[@{/login}]]');
-                        }, 1000);
-                        return;
-                    }
-                    else {
-                        layer.msg(data.msg, {icon: 2});
-                    }
-                    table.reload('restable', {});
-                },function(ret){
-                    console.log(ret);
-                    layer.closeAll('loading');
-                    layer.msg('请求失败了，请稍后再试', {icon: 2});
-                });
-            });
-        }
-    });
-</script>
+<div style="padding:20px;">
+    <table class="layui-table" id="userbindtable" lay-filter="userbindtable">
+    </table>
+    <input type="hidden" id="userid" th:value="${userid}">
+</div>
+<script>
+    layui.use(['form', 'table', 'layer', 'admin', 'element'], function () {
+        let form = layui.form;
+        let admin = layui.admin;
+        form.render('select');
+        let table = layui.table;
+        let userid = admin.getTempData('userid');
+        table.render({
+            elem: '#userbindtable',
+            url: '[[@{/user/bind}]]?userid=' + userid,
+            cols: [
+                [
+                    {field: 'id', title: '资源ID', width: 80, fixed: 'left', sort: true},
+                    {field: 'name', title: '资源名称', sort: true},
+                    {
+                        field: 'functionId', title: '所属功能', sort: true, align: 'center', templet: function (item) {
+                            return $("#functionname").val();
+                        }
+                    },
+                    {field: 'uri', title: '路径'},
+                    {field: 'code', sort: true, width: 80, title: '代码'},
+                    {
+                        field: 'id', align: 'center', title: '操作',  templet: function (item) {
+                            return '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>'
+                        }
+                    }
+                ]
+            ]
+        });
+        // 工具条点击事件
+        table.on('tool(userbindtable)', function (obj) {
+            let data = obj.data;
+            let layEvent = obj.event;
+            console.log(data);
+            if (layEvent === 'del') {
+                showDelete(data);
+            }
+        });
+
+        let showDelete = function (data) {
+            layer.confirm('确定删除吗？', function (i) {
+                layer.close(i);
+                layer.load(2);
+                let token = $("meta[name='_csrf_token']").attr("value");
+                admin.go('[[@{/user/delbind}]]', {
+                    resid: data.id,
+                    _csrf:token
+                }, function (data) {
+                    console.log(data.code);
+                    layer.closeAll('loading');
+                    if (data.code == 200) {
+                        layer.msg(data.msg, {icon: 1});
+                    } else if (data.code == 401) {
+                        layer.msg(data.msg, {icon: 2, time: 1500}, function () {
+                            location.replace('[[@{/login}]]');
+                        }, 1000);
+                        return;
+                    }
+                    else {
+                        layer.msg(data.msg, {icon: 2});
+                    }
+                    table.reload('restable', {});
+                },function(ret){
+                    console.log(ret);
+                    layer.closeAll('loading');
+                    layer.msg('请求失败了，请稍后再试', {icon: 2});
+                });
+            });
+        }
+    });
+</script>
diff --git a/src/main/resources/templates/system/user/index.html b/payapi/src/main/resources/templates/system/user/index.html
similarity index 100%
rename from src/main/resources/templates/system/user/index.html
rename to payapi/src/main/resources/templates/system/user/index.html
diff --git a/src/main/resources/templates/system/user/point.html b/payapi/src/main/resources/templates/system/user/point.html
similarity index 100%
rename from src/main/resources/templates/system/user/point.html
rename to payapi/src/main/resources/templates/system/user/point.html
diff --git a/src/main/resources/templates/system/user/pointdtl.html b/payapi/src/main/resources/templates/system/user/pointdtl.html
similarity index 100%
rename from src/main/resources/templates/system/user/pointdtl.html
rename to payapi/src/main/resources/templates/system/user/pointdtl.html
diff --git a/src/main/webapp/WEB-INF/web.xml b/payapi/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from src/main/webapp/WEB-INF/web.xml
rename to payapi/src/main/webapp/WEB-INF/web.xml
diff --git a/src/test/kotlin/com/supwisdom/dlpay/DlpayApplicationTests.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/DlpayApplicationTests.kt
similarity index 100%
rename from src/test/kotlin/com/supwisdom/dlpay/DlpayApplicationTests.kt
rename to payapi/src/test/kotlin/com/supwisdom/dlpay/DlpayApplicationTests.kt
diff --git a/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt
similarity index 100%
rename from src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt
rename to payapi/src/test/kotlin/com/supwisdom/dlpay/MvcBaseTest.kt
diff --git a/src/test/kotlin/com/supwisdom/dlpay/controller/ApiControllerTest.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/controller/ApiControllerTest.kt
similarity index 100%
rename from src/test/kotlin/com/supwisdom/dlpay/controller/ApiControllerTest.kt
rename to payapi/src/test/kotlin/com/supwisdom/dlpay/controller/ApiControllerTest.kt
diff --git a/src/test/kotlin/com/supwisdom/dlpay/controller/ShopControllerTest.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/controller/ShopControllerTest.kt
similarity index 100%
rename from src/test/kotlin/com/supwisdom/dlpay/controller/ShopControllerTest.kt
rename to payapi/src/test/kotlin/com/supwisdom/dlpay/controller/ShopControllerTest.kt
diff --git a/src/test/kotlin/com/supwisdom/dlpay/controller/UserControllerTest.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/controller/UserControllerTest.kt
similarity index 100%
rename from src/test/kotlin/com/supwisdom/dlpay/controller/UserControllerTest.kt
rename to payapi/src/test/kotlin/com/supwisdom/dlpay/controller/UserControllerTest.kt
diff --git a/src/test/kotlin/com/supwisdom/dlpay/controller/security_controller_test.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/controller/security_controller_test.kt
similarity index 100%
rename from src/test/kotlin/com/supwisdom/dlpay/controller/security_controller_test.kt
rename to payapi/src/test/kotlin/com/supwisdom/dlpay/controller/security_controller_test.kt
diff --git a/src/test/kotlin/com/supwisdom/dlpay/password_test.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/password_test.kt
similarity index 100%
rename from src/test/kotlin/com/supwisdom/dlpay/password_test.kt
rename to payapi/src/test/kotlin/com/supwisdom/dlpay/password_test.kt
diff --git a/settings.gradle b/settings.gradle
index 60cb130..4a2e583 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,2 +1,2 @@
 rootProject.name = 'payapi'
-include 'payapi-sdk', 'common'
+include 'payapi', 'payapi-sdk', 'common'
