diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperMasterDataSyncService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperMasterDataSyncService.java index b679eb16b..cd79a3a0a 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperMasterDataSyncService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperMasterDataSyncService.java @@ -149,6 +149,9 @@ public class UserShipperMasterDataSyncService { break; } for (MdmMerchantRecordDTO record : pageData.getDataInfo()) { + // 无论记录是否被跳过,都需要记录其 lastModifyRecordTime,确保增量水位不断向前推进 + maxModifyTime = maxTime(maxModifyTime, record.getLastModifyRecordTime()); + MdmMerchantSyncFilter.SkipReason skipReason = MdmMerchantSyncFilter.resolveSkipReason( record, orgNcCode, organizationId, topOrganizationId); if (skipReason != null) { @@ -196,7 +199,6 @@ public class UserShipperMasterDataSyncService { saveTarget.getOrganizationName(), saveTarget.getTopOrganizationId()); resultVo.setUpdateCount(resultVo.getUpdateCount() + 1); } - maxModifyTime = maxTime(maxModifyTime, record.getLastModifyRecordTime()); } catch (Exception e) { resultVo.setFailCount(resultVo.getFailCount() + 1); String msg = "CODE=" + record.getCode() + " 同步失败:" + e.getMessage(); @@ -229,7 +231,7 @@ public class UserShipperMasterDataSyncService { MdmMerchantQueryDTO queryDTO = new MdmMerchantQueryDTO(); queryDTO.setOrgNcCode(orgNcCode); if (StringUtils.isNotEmpty(lastModifyRecordTime)) { - queryDTO.setLastModifyRecordTime(lastModifyRecordTime + "~"); + queryDTO.setLastModifyRecordTime(lastModifyRecordTime); } queryDTO.setCurrentPage(currentPage); queryDTO.setCountPerPage(PAGE_SIZE);