diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 288641d..538f23a 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -13,8 +13,6 @@
 spring.datasource.initialization-mode=always
 # Redis settings
 #spring.redis.host=ykt.supwisdom.com
-#spring.redis.host=172.28.201.101
-#spring.redis.port=16379
 spring.redis.host=172.28.201.70
 spring.redis.port=10021
 spring.redis.password=kingstar
@@ -50,7 +48,7 @@
 #===============kafka consumer  =======================
 # 指定默认消费者group id
 spring.kafka.listen.auto.start=false
-spring.kafka.listener.missing-topics-fatal: false
+spring.kafka.listener.missing-topics-fatal=false
 spring.kafka.consumer.group-id=epaymessager1
 spring.kafka.consumer.auto-offset-reset=earliest
 spring.kafka.consumer.enable-auto-commit=true
diff --git a/payapi/build.gradle b/payapi/build.gradle
index 656a319..455aa28 100644
--- a/payapi/build.gradle
+++ b/payapi/build.gradle
@@ -76,6 +76,7 @@
     implementation "org.springframework.boot:spring-boot-starter-web"
     implementation "org.springframework.boot:spring-boot-starter-security"
     implementation "org.springframework.boot:spring-boot-starter-cache"
+    runtime "org.springframework.boot:spring-boot-starter-actuator"
     implementation "org.springframework.boot:spring-boot-autoconfigure"
     implementation "org.springframework.security:spring-security-oauth2-jose"
     implementation "org.springframework.security:spring-security-oauth2-client"
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/api/ConsumeApiController.java b/payapi/src/main/java/com/supwisdom/dlpay/api/ConsumeApiController.java
deleted file mode 100644
index 7aac744..0000000
--- a/payapi/src/main/java/com/supwisdom/dlpay/api/ConsumeApiController.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.supwisdom.dlpay.api;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.context.request.NativeWebRequest;
-import java.util.Optional;
-//@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2020-03-12T16:09:45.966+08:00[Asia/Shanghai]")
-//
-//@Controller
-//@RequestMapping("${openapi.aPITitle.base-path:/api}")
-//public class ConsumeApiController implements ConsumeApi {
-//
-//    private final NativeWebRequest request;
-//
-//    @org.springframework.beans.factory.annotation.Autowired
-//    public ConsumeApiController(NativeWebRequest request) {
-//        this.request = request;
-//    }
-//
-//    @Override
-//    public Optional<NativeWebRequest> getRequest() {
-//        return Optional.ofNullable(request);
-//    }
-//
-//}
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationFailureHandler.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationFailureHandler.java
index f18d092..70f17c2 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationFailureHandler.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/security/MyAuthenticationFailureHandler.java
@@ -19,8 +19,11 @@
 @Component("myAuthenticationFailureHandler")
 public class MyAuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler {
 
-  @Autowired
-  private ObjectMapper objectMapper;
+  private final ObjectMapper objectMapper;
+
+  public MyAuthenticationFailureHandler(ObjectMapper objectMapper) {
+    this.objectMapper = objectMapper;
+  }
 
 
   @Override
diff --git a/payapi/src/main/java/org/openapitools/configuration/HomeController.java b/payapi/src/main/java/org/openapitools/configuration/HomeController.java
deleted file mode 100644
index 2697428..0000000
--- a/payapi/src/main/java/org/openapitools/configuration/HomeController.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openapitools.configuration;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-
-/**
- * Home redirection to OpenAPI api documentation
- */
-//@Controller
-//public class HomeController {
-//
-//    @RequestMapping("/")
-//    public String index() {
-//        return "redirect:swagger-ui.html";
-//    }
-//
-//
-//}
diff --git a/payapi/src/main/java/org/openapitools/configuration/OpenApiHomeController.java b/payapi/src/main/java/org/openapitools/configuration/OpenApiHomeController.java
new file mode 100644
index 0000000..ec38d66
--- /dev/null
+++ b/payapi/src/main/java/org/openapitools/configuration/OpenApiHomeController.java
@@ -0,0 +1,20 @@
+package org.openapitools.configuration;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+
+/**
+ * Home redirection to OpenAPI api documentation
+ */
+
+@Controller
+public class OpenApiHomeController {
+
+    @RequestMapping("/swagger")
+    public String index() {
+        return "redirect:swagger-ui.html";
+    }
+
+
+}
diff --git a/payapi/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
index cfccf8d..f500327 100644
--- a/payapi/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
@@ -31,18 +31,18 @@
 @RestController
 @RequestMapping("/api/consume")
 @Validated
-class ConsumeAPIController(private val qrCodeService: QRCodeService,
-                           private val accountUtilServcie: AccountUtilServcie,
-                           private val userService: UserService,
-                           private val systemUtilService: SystemUtilService,
-                           private val consumePayService: ConsumePayService,
-                           private val transactionService: TransactionServiceProxy,
-                           private val cardService: CardService,
-                           private val agentPayServiceContext: AgentPayServiceContext,
-                           private val sourceTypeService: SourceTypeService,
-                           private val agentQueryResultTask: AgentQueryResultTask,
-                           private val agentServiceProxy: AgentServiceProxy,
-                           redisConnectionFactory: RedisConnectionFactory) {
+class DaliConsumeAPIController(private val qrCodeService: QRCodeService,
+                               private val accountUtilServcie: AccountUtilServcie,
+                               private val userService: UserService,
+                               private val systemUtilService: SystemUtilService,
+                               private val consumePayService: ConsumePayService,
+                               private val transactionService: TransactionServiceProxy,
+                               private val cardService: CardService,
+                               private val agentPayServiceContext: AgentPayServiceContext,
+                               private val sourceTypeService: SourceTypeService,
+                               private val agentQueryResultTask: AgentQueryResultTask,
+                               private val agentServiceProxy: AgentServiceProxy,
+                               redisConnectionFactory: RedisConnectionFactory) {
 
     private val redisTemplate = RedisTemplate<String, String>()
 
@@ -449,7 +449,7 @@
                 .fail(TradeErrorCode.BUSINESS_DEAL_ERROR, "交易扣费失败"))
     }
 
-    @RequestMapping("/qrcode/init", method = [RequestMethod.POST, RequestMethod.GET])
+//    @RequestMapping("/qrcode/init", method = [RequestMethod.POST, RequestMethod.GET])
     fun qrcodePayInit(@Validated(InitAction::class) @RequestBody param: QrcodePayParam)
             : ResponseEntity<QrcodePayResponse> {
         val apiResp = QrcodePayResponse()
@@ -528,7 +528,7 @@
 
     private fun qrcodeSummary(st: TSourceType): String = st.paydesc + "扫码付"
 
-    @PostMapping("/qrcode/confirm")
+//    @PostMapping("/qrcode/confirm")
     fun qrcodePayConfirm(@Validated(ConfirmAction::class) @RequestBody param: QrcodePayParam)
             : ResponseEntity<ApiResponse> {
         //1. 交易检查
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/k12_consume_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/k12_consume_api_controller.kt
index 9aff498..7d86677 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/k12_consume_api_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/k12_consume_api_controller.kt
@@ -1,4 +1,4 @@
-package com.supwisdom.dlpay.api
+package com.supwisdom.dlpay.api.controller
 
 import com.supwisdom.dlpay.agent.AgentCode
 import com.supwisdom.dlpay.agent.AgentPayService
@@ -6,27 +6,26 @@
 import com.supwisdom.dlpay.agent.domain.QrcodePattern
 import com.supwisdom.dlpay.agent.domain.QrcodePayTrans
 import com.supwisdom.dlpay.agent.service.AgentServiceProxy
-import com.supwisdom.dlpay.api.bean.QrcodePayResponse
+import com.supwisdom.dlpay.api.ConsumeApi
 import com.supwisdom.dlpay.api.service.*
 import com.supwisdom.dlpay.exception.BadRequestError
 import com.supwisdom.dlpay.exception.TransactionCheckException
 import com.supwisdom.dlpay.framework.ResponseBodyBuilder
 import com.supwisdom.dlpay.framework.service.SystemUtilService
-import com.supwisdom.dlpay.framework.util.*
-import com.supwisdom.dlpay.payapi.model.QrcodePayConfirmRequest
+import com.supwisdom.dlpay.framework.util.StringUtil
+import com.supwisdom.dlpay.framework.util.TradeErrorCode
 import com.supwisdom.dlpay.payapi.model.QrcodePayInitRequest
 import com.supwisdom.dlpay.payapi.model.QrcodePayInitResponse
 import com.supwisdom.multitenant.TenantContextHolder
 import org.apache.commons.lang3.StringUtils
 import org.springframework.http.ResponseEntity
-import org.springframework.stereotype.Controller
 import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
 import org.springframework.web.context.request.NativeWebRequest
-
+import java.util.*
 import javax.validation.Valid
-import java.util.Optional
 
-@Controller
+@RestController
 @RequestMapping("\${openapi.aPITitle.base-path:/api}")
 class K12ConsumeApiController
 constructor(private val request: NativeWebRequest,
@@ -44,7 +43,6 @@
     }
 
     override fun qrcodePayInit(xTenantId: String, @Valid param: QrcodePayInitRequest): ResponseEntity<QrcodePayInitResponse> {
-        TenantContextHolder.getContext().tenant.id = "{tenantid}"
         val apiResp = QrcodePayInitResponse()
         // 1. 检查 qrcode
         val qrcode: QrcodePattern
diff --git a/payapi/src/main/resources/application.properties b/payapi/src/main/resources/application.properties
index bdd8bfe..3223e1c 100644
--- a/payapi/src/main/resources/application.properties
+++ b/payapi/src/main/resources/application.properties
@@ -52,7 +52,6 @@
 springfox.documentation.swagger.v2.path=/api-docs
 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
 spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
-
 multi-tenant.header.key=X-TENANT-ID
 multi-tenant.session.name=tenant-id
 multi-tenant.session.enableSessionScopedBean=false
