优化了对账逻辑
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 2bee46c..b7f5a14 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 @@
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 @@
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<TSourceTypeCheckStatus> =
+ AgentResponse<TSourceTypeCheckStatus>().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)
}