diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/IPaymentApplicationService.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/IPaymentApplicationService.java index 5824514a..1cf969ba 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/IPaymentApplicationService.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/IPaymentApplicationService.java @@ -89,14 +89,13 @@ public interface IPaymentApplicationService extends BaseService log.warn("金蝶删单回调暂不支持的单据类型:targetBillType={}(映射预留)", lockRecord.getTargetBillType()); diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java index 4c4b0e0f..8f81a0f0 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/PaymentApplicationServiceImpl.java @@ -26,7 +26,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; -import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.jackson.JsonUtil; import org.springblade.core.tool.utils.BeanUtil; @@ -135,7 +134,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; -import java.util.concurrent.TimeUnit; import java.util.function.Consumer; import java.util.stream.Collectors; @@ -153,12 +151,6 @@ public class PaymentApplicationServiceImpl extends BaseServiceImpl= PAY_RESULT_MISS_UNLOCK_ROUNDS) { - log.warn("付款申请[{}]A103-2 连续[{}]轮未查得金蝶付款申请单,判定金蝶侧已反审核删除,执行解锁", - application.getPaymentNo(), rounds); - self().unlockBill(application.getId(), "A103-2 连续" + rounds + "轮查询消失"); - } else { - log.warn("付款申请[{}]A103-2 未查得金蝶付款申请单(第[{}]轮),金蝶侧可能已反审核删除,下一轮复核", - application.getPaymentNo(), rounds); - } - } - - /** A103-2 消失轮次计数键 */ - private String payApplyMissKey(Long id) { - return PAY_RESULT_MISS_KEY_PREFIX + id; - } - - /** 清除 A103-2 消失轮次计数(金蝶重新查得或单据解锁后调用) */ - private void clearPayApplyMissKey(Long id) { - if (id == null) return; - try { - bladeRedis.getStringRedisTemplate().delete(payApplyMissKey(id)); - } catch (Exception exception) { - log.warn("付款申请[{}]清除 A103-2 消失轮次计数失败", id, exception); - } - } - @Override public List syncKingdeeBatch(List ids) { if (ids == null || ids.isEmpty()) throw new ServiceException("请至少选择一条审批通过的付款申请"); @@ -963,7 +905,7 @@ public class PaymentApplicationServiceImpl extends BaseServiceImpl payApplyMap.putAll(this.latestPayApplyBySrcCode(this.queryPayApplyPagesByBillNo(batch)))); this.batchForeach(fallbackSrcCodes, PAY_RESULT_QUERY_BATCH, batch -> payApplyMap.putAll(this.latestPayApplyBySrcCode(this.queryPayApplyPages(batch)))); - // 逐单回写:查得即回填并清零消失计数;未查得累计消失轮次(批次其余单据正常返回,排除服务整体故障) + // 逐单回写:未查得保持现状等待下一轮,查得即回填(解锁仅由金蝶删单回调触发) for (PaymentApplication application : applications) { BfiPayApplyVO payApply = payApplyMap.get(application.getPaymentNo()); if (payApply == null) { - // 累计消失轮次,连续两轮视为金蝶已反审核删除,解锁置失败交人工核实重推 - this.handlePayApplyMissed(application); continue; } - this.clearPayApplyMissKey(application.getId()); try { // 返回 true 表示付款完成(终态),预结算/正式结算联动由 applyPayApplyResult 内部处理 if (self.applyPayApplyResult(application, payApply)) {