From 4ed373da975686346110acfc3009fecd665316da Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Mon, 28 Sep 2026 15:32:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=89=93=E5=88=86=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biutag/supervision/service/NegativeScoreService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/biutag/supervision/service/NegativeScoreService.java b/src/main/java/com/biutag/supervision/service/NegativeScoreService.java index 19fa2b2..72d3d49 100644 --- a/src/main/java/com/biutag/supervision/service/NegativeScoreService.java +++ b/src/main/java/com/biutag/supervision/service/NegativeScoreService.java @@ -12,6 +12,7 @@ import com.biutag.supervision.util.ScoreRule; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -44,6 +45,7 @@ public class NegativeScoreService { private AtomicBoolean flag = new AtomicBoolean(false); + @Transactional(rollbackFor = Exception.class) public void updateNegativeScore() { if (flag.get()) { throw new RuntimeException("风险指数正在计算中"); @@ -59,8 +61,8 @@ public class NegativeScoreService { try { String formula = "%s + (%s * %s) + (%s * %s)"; List scoreDeparts = new ArrayList<>(); - negativeScorePoliceService.remove(new LambdaQueryWrapper<>()); - negativeScoreDepartService.remove(new LambdaQueryWrapper<>()); + negativeScorePoliceService.remove(new LambdaQueryWrapper().isNotNull(NegativeScorePolice::getNegativeId)); + negativeScoreDepartService.remove(new LambdaQueryWrapper().isNotNull(NegativeScoreDepart::getNegativeId)); Set negativeIds = negativeBlames.stream().map(NegativeBlame::getNegativeId).collect(Collectors.toSet()); List problemsAll = problemRelationService.list(negativeIds); List negatives = negativeService.listByIds(negativeIds);