feat: 新增 access-result 删除接口,同时清理存储文件

This commit is contained in:
mediabot-pt
2026-07-01 09:27:31 +08:00
parent daa84cf82a
commit 47b96c3937
4 changed files with 31 additions and 1 deletions

View File

@@ -136,4 +136,17 @@ public class AccessResultController {
int affected = accessResultService.batchValidateUrl(siteId, url, isValid);
return ApiResponse.success(Map.of("affected", affected));
}
/**
* 删除访问结果(含存储文件)
*/
@DeleteMapping("/api/v1/admin/access-results/{id}")
public ApiResponse<Void> delete(@PathVariable("id") Long id) {
try {
accessResultService.delete(id);
return ApiResponse.success();
} catch (IllegalArgumentException e) {
return ApiResponse.error(404, e.getMessage());
}
}
}

View File

@@ -103,7 +103,7 @@ public class AdapterController {
try { adapterConfig = objectMapper.readValue(configJson, AdapterConfig.class); }
catch (Exception e) { return ApiResponse.error(400, "配置格式无效: " + e.getMessage()); }
// 获取该站点所有结果,按URL分组取最新(过滤无URL的旧数据)
// 获取该站点所有结果,按URL分组取最新
List<AccessResult> allResults = accessResultMapper.selectBySiteId(siteId);
Map<String, AccessResult> latestByUrl = allResults.stream()
.filter(r -> r.getUrl() != null && !r.getUrl().isBlank())
@@ -112,6 +112,8 @@ public class AdapterController {
r -> r,
(a, b) -> a.getCreatedAt().isAfter(b.getCreatedAt()) ? a : b));
int skippedNoUrl = (int) allResults.stream().filter(r -> r.getUrl() == null || r.getUrl().isBlank()).count();
// 批量解析
Map<String, Object> response = new LinkedHashMap<>();
response.put("configId", configId);