fix: 适配验证列表补全所有活跃站点,即使无访问结果也能进入重新验证

This commit is contained in:
mediabot-pt
2026-06-30 23:20:31 +08:00
parent 2d8fce78ea
commit d232b2dad0

View File

@@ -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<Site> activeSites = siteMapper.selectList(
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<Site>()
.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());
}