diff --git a/src/main/java/com/realtime/protection/server/task/TaskMapper.java b/src/main/java/com/realtime/protection/server/task/TaskMapper.java index e4284ae..a0abe01 100644 --- a/src/main/java/com/realtime/protection/server/task/TaskMapper.java +++ b/src/main/java/com/realtime/protection/server/task/TaskMapper.java @@ -130,4 +130,6 @@ public interface TaskMapper { String queryEventTypeAct(String eventType); List queryAuditInfoNotification(String userId , Integer auditStatus); + + void updateNotificationByTaskId(@Param("taskIds") List taskIdList); } diff --git a/src/main/java/com/realtime/protection/server/task/TaskService.java b/src/main/java/com/realtime/protection/server/task/TaskService.java index c14e085..09d1562 100644 --- a/src/main/java/com/realtime/protection/server/task/TaskService.java +++ b/src/main/java/com/realtime/protection/server/task/TaskService.java @@ -622,7 +622,16 @@ public class TaskService { } + @Transactional public List auditInfoNotification(String userId) { - return taskMapper.queryAuditInfoNotification(userId,AuditStatusEnum.RETURNED.getNum()); + List tasksNotification = taskMapper.queryAuditInfoNotification(userId,AuditStatusEnum.RETURNED.getNum()); + if (tasksNotification.isEmpty()){ + return tasksNotification; + } + List taskIdList = tasksNotification.stream().map(Task::getTaskId).toList(); + taskMapper.updateNotificationByTaskId(taskIdList); + + return tasksNotification; + } } diff --git a/src/main/resources/mappers/TaskMapper.xml b/src/main/resources/mappers/TaskMapper.xml index 50478ee..ac36640 100644 --- a/src/main/resources/mappers/TaskMapper.xml +++ b/src/main/resources/mappers/TaskMapper.xml @@ -304,6 +304,14 @@ AND expire_time IS NULL + + UPDATE t_task + SET is_need_notification = 0 + WHERE task_id IN + + #{taskId} + + DELETE