diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoManager.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoManager.java index 617377b1..35eee888 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoManager.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/TodoManager.java @@ -280,10 +280,11 @@ public class TodoManager { */ @Transactional(rollbackFor = Exception.class) public boolean completeById(CompletePendingMessageByIdRequest request) { - BizAssertions.assertNotEmpty(request.determineIds(), "待办id不能为空"); + Set ids = request.determineIds(); + BizAssertions.assertNotEmpty(ids, "待办id不能为空"); TodoRequestContext ctx = TodoRequestContext.create("completeById", request); StateAdvanceResult advanceResult = advanceState(ctx, execAdvanceBuilder() - .in(Todo::getId, request.determineIds()) + .in(Todo::getId, ids.toArray(new Object[0])) .set(Todo::getState, PendingMessageStateEnum.COMPLETED)); boolean businessUpdated = false; if (advanceResult.getBusiness() != null && request.getBizExtParams() != null) { diff --git a/start/src/test/java/cn/axzo/msg/center/message/service/todo/manage/TodoManagerTest.java b/start/src/test/java/cn/axzo/msg/center/message/service/todo/manage/TodoManagerTest.java index fa8cb82a..b28c6b2c 100644 --- a/start/src/test/java/cn/axzo/msg/center/message/service/todo/manage/TodoManagerTest.java +++ b/start/src/test/java/cn/axzo/msg/center/message/service/todo/manage/TodoManagerTest.java @@ -1,12 +1,16 @@ package cn.axzo.msg.center.message.service.todo.manage; import cn.axzo.msg.center.MsgCenterApplication; +import cn.axzo.msg.center.service.pending.request.CompletePendingMessageByIdRequest; import cn.axzo.msg.center.service.pending.request.TodoHandoverRequest; import lombok.RequiredArgsConstructor; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Commit; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; /** * @author yanglin @@ -17,15 +21,12 @@ class TodoManagerTest { private final TodoManager todoManager; - @Test @Commit + @Test @Transactional @Commit void foo() { - TodoHandoverRequest request = new TodoHandoverRequest(); - request.setFromPersonId(16068L); - request.setFromOuId(5140L); - request.setFromPersonName("假杨林"); - request.setToPersonId(9000394L); - request.setToOuId(5140L); - todoManager.handover(request); + CompletePendingMessageByIdRequest request = new CompletePendingMessageByIdRequest(); + request.setIds(Arrays.asList(825648L, 825647L, 825646L, 825645L, 825644L, 825643L, 825642L, 825641L, 825640L, 825639L)); + boolean b = todoManager.completeById(request); + System.out.println(); } } \ No newline at end of file