From 0eb538b68c394fe4a99eceb9c162103be5ab9d7c Mon Sep 17 00:00:00 2001 From: Tang Cheng Date: Tue, 6 Aug 2019 20:17:14 +0800 Subject: [PATCH] =?utf8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E5=AF=B9=E8=B4=A6?= =?utf8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../dlpay/api/scheduler_sourcetype_chk.kt | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_sourcetype_chk.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_sourcetype_chk.kt index 2bee46c8..b7f5a142 100644 --- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_sourcetype_chk.kt +++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_sourcetype_chk.kt @@ -1,6 +1,7 @@ package com.supwisdom.dlpay.api import com.supwisdom.dlpay.agent.AgentCode +import com.supwisdom.dlpay.agent.AgentResponse import com.supwisdom.dlpay.agent.CheckFileProvider import com.supwisdom.dlpay.api.domain.TSourceType import com.supwisdom.dlpay.api.domain.TSourceTypeCheckStatus @@ -165,8 +166,8 @@ class SourceTypeCheckExecutor { private fun downloadFile(provider: CheckFileProvider, checkStatus: TSourceTypeCheckStatus): ExecutorResult { return provider.downloadCheckFile(checkStatus.checkFileDate).let { resp -> when { - resp.code == AgentCode.SUCCESS -> ExecutorResult(checkStatus, SUCCESS, "成功") - resp.code == AgentCode.REQUIRE_QUERY -> ExecutorResult(checkStatus, WAIT, "等待查询对账文件") + resp.code == AgentCode.SUCCESS -> ExecutorResult(resp.payload, SUCCESS, "成功") + resp.code == AgentCode.REQUIRE_QUERY -> ExecutorResult(resp.payload, WAIT, "等待查询对账文件") else -> ExecutorResult(checkStatus, FAIL, resp.agentMsg) } } @@ -178,20 +179,23 @@ class SourceTypeCheckExecutor { val result = getProvider(checkStatus.sourceType)?.let { provider -> val acResp = provider.acquireCheckFile(checkStatus.checkFileDate) if (acResp.code == AgentCode.REQUIRE_QUERY) { - var success = false + var success: AgentResponse = + AgentResponse().apply { + code = AgentCode.FAIL + } repeat(10) { - if (!success) { + if (success.code != AgentCode.SUCCESS) { Thread.sleep(3000) - success = provider.queryCheckFile(checkStatus.checkFileDate).code == AgentCode.SUCCESS + success = provider.queryCheckFile(checkStatus.checkFileDate) } } - if (success) { - downloadFile(provider, checkStatus) + if (success.code == AgentCode.SUCCESS) { + downloadFile(provider, success.payload) } else { ExecutorResult(checkStatus, FAIL, "下载失败,未能查到对账文件") } } else if (acResp.code == AgentCode.SUCCESS) { - downloadFile(provider, checkStatus) + downloadFile(provider, acResp.payload) } else { ExecutorResult(checkStatus, FAIL, acResp.agentMsg) } -- 2.17.1