diff --git a/par-core/src/main/java/com/par/core/service/impl/AccessResultServiceImpl.java b/par-core/src/main/java/com/par/core/service/impl/AccessResultServiceImpl.java index 7caa6a2..651989e 100644 --- a/par-core/src/main/java/com/par/core/service/impl/AccessResultServiceImpl.java +++ b/par-core/src/main/java/com/par/core/service/impl/AccessResultServiceImpl.java @@ -4,9 +4,12 @@ import com.par.core.dto.AccessPageSummaryDTO; import com.par.core.dto.AccessResultDTO; import com.par.core.dto.SiteAccessSummaryDTO; import com.par.core.entity.AccessResult; +import com.par.core.entity.Site; import com.par.core.entity.SiteConfig; +import com.par.core.enums.SiteStatus; import com.par.core.mapper.AccessResultMapper; import com.par.core.mapper.SiteConfigMapper; +import com.par.core.mapper.SiteMapper; import com.par.core.service.AccessResultService; import com.par.core.storage.CachedStorageService; import lombok.RequiredArgsConstructor; @@ -25,6 +28,7 @@ public class AccessResultServiceImpl implements AccessResultService { private final AccessResultMapper mapper; private final SiteConfigMapper siteConfigMapper; + private final SiteMapper siteMapper; private final CachedStorageService storageService; @Override @@ -170,6 +174,20 @@ public class AccessResultServiceImpl implements AccessResultService { site.setPendingConfigCount(site.getPendingConfigCount() + 1); } + // 补充所有活跃站点(即使没有访问结果和待审配置也显示,方便重新验证已批准适配) + List activeSites = siteMapper.selectList( + new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(Site::getStatus, SiteStatus.ACTIVE) + .eq(Site::getDeleted, 0)); + for (Site s : activeSites) { + siteMap.computeIfAbsent(s.getSiteId(), k -> { + SiteAccessSummaryDTO dto = new SiteAccessSummaryDTO(); + dto.setSiteId(k); + dto.setPages(new ArrayList<>()); + return dto; + }); + } + return new ArrayList<>(siteMap.values()); }