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