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);