From 0f3e1c440f23f4d19dd633d2265035679bfe90cb Mon Sep 17 00:00:00 2001 From: yanglin Date: Wed, 15 Jan 2025 17:01:37 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3502:=20=E6=8C=89=E9=92=AE=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/todo/manage/TodoLogger.java | 10 ++++++++- .../java/cn/axzo/msg/center/dal/TodoDao.java | 22 ------------------- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoLogger.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoLogger.java index 478ad8fe..6fa11f62 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoLogger.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoLogger.java @@ -2,6 +2,7 @@ package cn.axzo.msg.center.message.service.todo.manage; import cn.axzo.msg.center.dal.TodoBusinessDao; import cn.axzo.msg.center.dal.TodoBusinesses; +import cn.axzo.msg.center.dal.TodoDao; import cn.axzo.msg.center.dal.TodoLogDao; import cn.axzo.msg.center.domain.entity.Todo; import cn.axzo.msg.center.domain.entity.TodoBusiness; @@ -19,6 +20,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import static java.util.stream.Collectors.toList; + /** * @author yanglin */ @@ -28,6 +31,7 @@ public class TodoLogger { private final TodoLogDao todoLogDao; private final TodoBusinessDao todoBusinessDao; + private final TodoDao todoDao; private final PendingMessageBizConfig cfg; void logBusinessUpdated(TodoRequestContext ctx, TodoBusiness business) { @@ -67,7 +71,11 @@ public class TodoLogger { if (CollectionUtils.isEmpty(todos)) return; TodoBusinesses businesses = todoBusinessDao.getBusinesses(todos); ArrayList logs = new ArrayList<>(); - for (Todo todo : todos) { + List todoCodes = todos.stream() + .map(Todo::getIdentityCode) + .distinct().collect(toList()); + // reload to get the up-to-date update time + for (Todo todo : todoDao.getByCodes(todoCodes)) { logs.add(createTodoLog(ctx, businesses, todo) .addLogContents(ctx.getLogContents())); } diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/TodoDao.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/TodoDao.java index 4e39eeba..0a44c4af 100644 --- a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/TodoDao.java +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/TodoDao.java @@ -17,9 +17,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Nullable; import java.util.Collections; -import java.util.Date; import java.util.List; -import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -157,24 +155,4 @@ public class TodoDao extends ServiceImpl { .set(Todo::getState, PendingMessageStateEnum.PROCESSING) .update(); } - - public boolean setExecutableHide(String subBizCode, Date expireTime) { - return lambdaUpdate() - .eq(Todo::getType, TodoType.EXECUTABLE) - .eq(Todo::getSubBizCode, subBizCode) - .eq(Todo::getState, PendingMessageStateEnum.HAS_BEEN_SENT) - .set(Todo::getHideUntil, expireTime) - .update(); - } - - public List findByCondition(String templateCode, String bizCode, String subBizCode, Long executorPersonId, Long ouId, Long workspaceId) { - return lambdaQuery() - .eq(StringUtils.isNotBlank(templateCode), Todo::getTemplateCode, templateCode) - .eq(StringUtils.isNotBlank(bizCode), Todo::getBizCode, bizCode) - .eq(StringUtils.isNotBlank(subBizCode), Todo::getSubBizCode, subBizCode) - .eq(Objects.nonNull(executorPersonId), Todo::getExecutorPersonId, executorPersonId) - .eq(Objects.nonNull(ouId), Todo::getOuId, ouId) - .eq(Objects.nonNull(workspaceId), Todo::getReceiverWorkspaceId, workspaceId) - .list(); - } } \ No newline at end of file