优化 gradle
diff --git a/payapi/build.gradle b/payapi/build.gradle
index 76f80e3..2a68a1d 100644
--- a/payapi/build.gradle
+++ b/payapi/build.gradle
@@ -1,51 +1,55 @@
 import java.text.SimpleDateFormat
 
 plugins {
-    id 'java'
-    id 'org.springframework.boot'
-    id 'io.spring.dependency-management'
-    id 'org.jetbrains.kotlin.jvm'
-    id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.31'
-    id 'org.jetbrains.kotlin.plugin.spring'
-    id "com.palantir.git-version"
-    id 'com.palantir.docker'
+    id "java"
+    id "org.springframework.boot"
+    id "org.jetbrains.kotlin.jvm"
+    id "org.jetbrains.kotlin.plugin.jpa"
+    id "org.jetbrains.kotlin.plugin.spring"
+    id "com.palantir.docker"
 }
 
-payapiVersion = gitVersion()
-def details = versionDetails()
+payapiVersion = version
 
-group = rootProject.group
-version = '1'
-sourceCompatibility = jdkVersion
-def payapiStartClass = 'com.supwisdom.dlpay.PayApiApplicationKt'
+def payapiStartClass = "com.supwisdom.dlpay.PayApiApplicationKt"
 
 println("Build version: $payapiVersion")
 
 bootJar {
     mainClassName = payapiStartClass
     manifest {
-        attributes('Payapi-Version': payapiVersion,
-                'Payapi-Buildtime': new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date()))
+        attributes("Payapi-Version": payapiVersion,
+                "Payapi-Buildtime": new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date()))
     }
 }
 
 jar {
-    baseName = 'payapi'
+    baseName = "payapi"
 }
 
-ext {
-    set('springCloudVersion', "Greenwich.SR2")
+compileKotlin {
+    kotlinOptions {
+        freeCompilerArgs = ["-Xjsr305=strict"]
+        jvmTarget = jdkVersion
+    }
+}
+
+compileTestKotlin {
+    kotlinOptions {
+        freeCompilerArgs = ["-Xjsr305=strict"]
+        jvmTarget = jdkVersion
+    }
 }
 
 docker {
     def imageVersion
     if (details.gitHashFull.startsWith(details.lastTag) || !details.isCleanTag) {
-        imageVersion = 'dev'
+        imageVersion = "dev"
     } else {
         imageVersion = details.lastTag
     }
     println("Docker image tag : " + imageVersion)
-    name 'harbor.supwisdom.com/dali/payapi:' + imageVersion
+    name "harbor.supwisdom.com/dali/payapi:" + imageVersion
     println(jar.archivePath)
     files jar.archivePath
 }
@@ -53,88 +57,44 @@
 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.kafka:spring-kafka'
-    implementation 'org.springframework.social:spring-social-web:1.1.6.RELEASE'
-    implementation 'org.springframework.kafka:spring-kafka:2.2.8.RELEASE'
-    implementation 'org.jetbrains.kotlin:kotlin-reflect'
-    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
-    implementation 'commons-codec:commons-codec:1.12'
-    implementation 'org.apache.commons:commons-lang3:3.9'
-    implementation 'net.javacrumbs.shedlock:shedlock-spring:2.5.0'
-    implementation 'net.javacrumbs.shedlock:shedlock-provider-redis-spring:2.5.0'
+    implementation project(":payapi-common")
 
-    implementation 'org.springframework.cloud:spring-cloud-starter'
-    implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery'
-    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix'
-    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard'
+    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.kafka:spring-kafka"
+    implementation "org.springframework.social:spring-social-web:${springSocialVersion}"
+    implementation "org.springframework.kafka:spring-kafka:${springKafkaVersion}"
 
-    implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
+    implementation "org.springframework.cloud:spring-cloud-starter"
+    implementation "org.springframework.cloud:spring-cloud-starter-consul-discovery"
+    implementation "org.springframework.cloud:spring-cloud-starter-netflix-hystrix"
+    implementation "org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard"
+
     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.5'
-    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.13'
-    implementation files('libs/masmgc.sdk.sms-0.0.1-SNAPSHOT.jar')
-//    implementation files('libs/ojdbc6.jar')
-    implementation 'commons-dbcp:commons-dbcp:1.4'
-    implementation 'commons-beanutils:commons-beanutils:1.9.3'
+    implementation "org.thymeleaf.extras:thymeleaf-extras-springsecurity5"
 
-    implementation 'log4j:log4j:1.2.17'
-    implementation 'com.alibaba:fastjson:1.2.60'
+    implementation "org.apache.commons:commons-lang3:${lang3Version}"
+    implementation "net.javacrumbs.shedlock:shedlock-spring:${shedlockVersion}"
+    implementation "net.javacrumbs.shedlock:shedlock-provider-redis-spring:${shedlockVersion}"
 
-    implementation project(':payapi-common')
+    implementation "org.bitbucket.b_c:jose4j:${jose4jVersion}"
+    implementation files("libs/masmgc.sdk.sms-0.0.1-SNAPSHOT.jar")
+    implementation "commons-beanutils:commons-beanutils:${beanutilsVersion}"
     /*支付宝SDK*/
-    implementation group: 'com.alipay.sdk', name: 'alipay-sdk-java', version: '3.7.110.ALL'
+    implementation "com.alipay.sdk:alipay-sdk-java:${alipaySDKVersion}"
 
-    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"
-    annotationProcessor 'org.projectlombok:lombok:1.18.8'
-    compileOnly 'org.projectlombok:lombok:1.18.8'
+    implementation "com.github.penggle:kaptcha:${kaptchaVersion}"
+    implementation "com.sun.jersey:jersey-client:${jerseyClientVersion}"
 
-//    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'
 }
 
-dependencyManagement {
-    imports {
-        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
-    }
-}
-
-compileKotlin {
-    kotlinOptions {
-        freeCompilerArgs = ['-Xjsr305=strict']
-        jvmTarget = jdkVersion
-    }
-}
-
-compileTestKotlin {
-    kotlinOptions {
-        freeCompilerArgs = ['-Xjsr305=strict']
-        jvmTarget = jdkVersion
-    }
-}