From b721c42dcbbf3e34003af8f6f1b9d9fc862938cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Mon, 21 Apr 2025 19:41:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/v1/app/data/ReactionResultControler.java | 8 +++++++ .../app/service/data/ReactionRecordMgrService.java | 27 ++++++++++++++++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/main/java/a8k/app/controler/api/v1/app/data/ReactionResultControler.java b/src/main/java/a8k/app/controler/api/v1/app/data/ReactionResultControler.java index 267405a..390d854 100644 --- a/src/main/java/a8k/app/controler/api/v1/app/data/ReactionResultControler.java +++ b/src/main/java/a8k/app/controler/api/v1/app/data/ReactionResultControler.java @@ -81,6 +81,14 @@ public class ReactionResultControler { return ApiRet.success(); } + + @PostMapping("/deleteRecordByIds") + public ApiRet deleteRecord(String ids) { + reactionRecordMgrService.deleteRecordByIds(ids); + return ApiRet.success(); + } + + @PostMapping("/getRecords") public ApiRet> getRecords(Integer pageNum, Integer pageSize) { return ApiRet.success(reactionRecordMgrService.getRecords(pageNum, pageSize)); diff --git a/src/main/java/a8k/app/service/data/ReactionRecordMgrService.java b/src/main/java/a8k/app/service/data/ReactionRecordMgrService.java index 4a12e07..6b79ebb 100644 --- a/src/main/java/a8k/app/service/data/ReactionRecordMgrService.java +++ b/src/main/java/a8k/app/service/data/ReactionRecordMgrService.java @@ -1,14 +1,15 @@ package a8k.app.service.data; -import a8k.app.type.a8k.opt.OptScanResult; -import a8k.app.type.a8k.state.SampleInfo; import a8k.app.dao.ReactionReportDao; +import a8k.app.dao.type.common.CommonPage; import a8k.app.dao.type.db.ReactionReport; import a8k.app.service.statemgr.GStateMgrService; -import a8k.app.type.a8k.state.ProjectTaskContext; -import a8k.app.dao.type.common.CommonPage; +import a8k.app.type.a8k.opt.OptScanResult; import a8k.app.type.a8k.proj.ProjInfo; +import a8k.app.type.a8k.state.ProjectTaskContext; +import a8k.app.type.a8k.state.SampleInfo; import a8k.app.utils.ZJsonHelper; +import io.micrometer.common.util.StringUtils; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import org.slf4j.Logger; @@ -16,6 +17,7 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; @Component @@ -108,6 +110,23 @@ public class ReactionRecordMgrService { reactionReportDao.delete(id); } + public void deleteRecordByIds(String ids){ + if (StringUtils.isBlank(ids)) { + return; + } + Arrays.stream(ids.split(",")) + .map(String::trim) + .filter(StringUtils::isNotBlank) + .forEach(idStr -> { + try { + int id = Integer.parseInt(idStr); + deleteRecord(id); + } catch (NumberFormatException ex) { + logger.warn("批量删除历史记录,跳过无效ID:{}", idStr); + } + }); + } + public CommonPage getRecords(Integer pageNum, Integer pageSize) { return reactionReportDao.getPageDesc(pageNum, pageSize); }