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
