From 76605c3e1800109bed6461ae6537e6d7f39d1e8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E6=89=BF?= Date: Thu, 13 Mar 2025 13:40:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=B0=83=E6=95=B4=E4=B8=80=E9=94=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=84=E7=90=86=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xydl/cac/controller/WarningController.java | 10 +++++----- .../com/xydl/cac/repository/WarningRepository.java | 7 +++++++ src/main/java/com/xydl/cac/service/DataService.java | 1 - .../java/com/xydl/cac/service/WarningService.java | 2 +- .../com/xydl/cac/service/impl/DataServiceImpl.java | 6 ------ .../com/xydl/cac/service/impl/WarningServiceImpl.java | 11 ++--------- 6 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/xydl/cac/controller/WarningController.java b/src/main/java/com/xydl/cac/controller/WarningController.java index d56afb6..5713a58 100644 --- a/src/main/java/com/xydl/cac/controller/WarningController.java +++ b/src/main/java/com/xydl/cac/controller/WarningController.java @@ -69,20 +69,20 @@ public class WarningController extends BasicController { } - Boolean isFlat = false; + Boolean isHandle = false; @PostMapping("oneKeyUpdateState") @ApiOperation("一键修改处理状态") public Response oneKeyUpdateState() throws Exception { try { - if (isFlat) { + if (isHandle) { throw new BusinessException("相同请求正在处理中, 请勿重复处理"); } - isFlat = true; - dataService.updateWarningState("warning" , "0" , "1"); + isHandle = true; + service.oneKeyUpdateState(); return Response.success("OK"); } finally { - isFlat = false; + isHandle = false; } } } diff --git a/src/main/java/com/xydl/cac/repository/WarningRepository.java b/src/main/java/com/xydl/cac/repository/WarningRepository.java index 22aa099..933c844 100644 --- a/src/main/java/com/xydl/cac/repository/WarningRepository.java +++ b/src/main/java/com/xydl/cac/repository/WarningRepository.java @@ -3,10 +3,17 @@ package com.xydl.cac.repository; import com.xydl.cac.entity.Warning; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @Repository public interface WarningRepository extends JpaRepository, JpaSpecificationExecutor { + @Modifying + @Query("update Warning set state = :frontState where state = :afterState") + int updateWarningState(@Param("frontState") String frontState , @Param("afterState") String afterState); + } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/DataService.java b/src/main/java/com/xydl/cac/service/DataService.java index c9b1e05..5820210 100644 --- a/src/main/java/com/xydl/cac/service/DataService.java +++ b/src/main/java/com/xydl/cac/service/DataService.java @@ -24,5 +24,4 @@ public interface DataService { void insertData(String tableName, Integer devId, String time, String colname, String value); - void updateWarningState(String tableName, String frontState , String afterState); } diff --git a/src/main/java/com/xydl/cac/service/WarningService.java b/src/main/java/com/xydl/cac/service/WarningService.java index c643197..c754f80 100644 --- a/src/main/java/com/xydl/cac/service/WarningService.java +++ b/src/main/java/com/xydl/cac/service/WarningService.java @@ -15,5 +15,5 @@ public interface WarningService { void updateState(Warning warning) throws Exception; - void oneKeyUpdateState(List warnings); + void oneKeyUpdateState(); } diff --git a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java index 95ebe5b..7a24e89 100644 --- a/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/DataServiceImpl.java @@ -322,10 +322,4 @@ public class DataServiceImpl implements DataService { } } - @Override - public void updateWarningState(String tableName, String frontState, String afterState) { - String sql = "UPDATE " + tableName + " set state = " + frontState + " where state = " + afterState; - jdbcTemplate.execute(sql); - } - } diff --git a/src/main/java/com/xydl/cac/service/impl/WarningServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/WarningServiceImpl.java index aee38db..922da6f 100644 --- a/src/main/java/com/xydl/cac/service/impl/WarningServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/WarningServiceImpl.java @@ -106,15 +106,8 @@ public class WarningServiceImpl implements WarningService { } @Override - public void oneKeyUpdateState(List warnings) { - Date date = new Date(); - for (Warning warning : warnings) { - warning.setState("0"); - warning.setProcessTime(date); - } - if (null != warnings && warnings.size() > 0) { - repository.saveAll(warnings); - } + public void oneKeyUpdateState() { + repository.updateWarningState("0" , "1"); }