diff --git a/changelog/REQ-2324.md b/changelog/REQ-2324.md new file mode 100644 index 00000000..4379120b --- /dev/null +++ b/changelog/REQ-2324.md @@ -0,0 +1,5 @@ +# DDL +```mysql +ALTER TABLE todo + ADD support_batch_process VARCHAR(10) DEFAULT 'NO' NOT NULL COMMENT '是否支持批量处理. YES: 支持, NO: 不支持'; +``` \ No newline at end of file diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/PendingMessagePushParam.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/PendingMessagePushParam.java index a172e78c..c64e8993 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/PendingMessagePushParam.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/domain/param/PendingMessagePushParam.java @@ -4,6 +4,7 @@ import cn.axzo.core.utils.converter.BeanConverter; import cn.axzo.msg.center.api.request.v3.PendingSendInfo; import cn.axzo.msg.center.service.dto.PersonDTO; import cn.axzo.msg.center.service.enums.OrganizationTypeEnum; +import cn.axzo.msg.center.service.enums.YesOrNo; import cn.axzo.msg.center.service.pending.request.PendingMessagePushRequest; import cn.axzo.msg.center.service.util.JSONUtils; import com.alibaba.fastjson.JSON; @@ -78,6 +79,11 @@ public class PendingMessagePushParam extends PendingSendInfo implements Serializ */ private String routerParams; + /** + * 是否支持批量处理 + */ + private YesOrNo supportBatchProcess; + public static PendingMessagePushParam from(PendingMessagePushRequest request) { return BeanConverter.convert(request, PendingMessagePushParam.class); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/StateAdvanceBuilder.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/StateAdvanceBuilder.java index 007c3f68..92a4291d 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/StateAdvanceBuilder.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/todo/manage/StateAdvanceBuilder.java @@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapp import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import lombok.Getter; +import java.util.stream.Stream; + /** * @author yanglin */ @@ -41,6 +43,24 @@ class StateAdvanceBuilder { return this; } + StateAdvanceBuilder in(SFunction column, Object... values) { + query.in(column, values); + update.in(column, values); + boolean statePresent = Stream.of(values).anyMatch(v -> v instanceof PendingMessageStateEnum); + if (!statePresent) + noStateQuery.in(column, values); + return this; + } + + StateAdvanceBuilder in(boolean condition, SFunction column, Object... values) { + query.in(condition, column, values); + update.in(condition, column, values); + boolean statePresent = Stream.of(values).anyMatch(v -> v instanceof PendingMessageStateEnum); + if (!statePresent) + noStateQuery.in(condition, column, values); + return this; + } + StateAdvanceBuilder set(SFunction column, Object val) { update.set(column, val); return this; 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 a769bee9..97a7c87c 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 @@ -531,7 +531,9 @@ public class TodoManager { return new StateAdvanceBuilder(todoDao) .set(Todo::getHideUntil, null) .eq(Todo::getType, TodoType.EXECUTABLE) - .eq(Todo::getState, PendingMessageStateEnum.HAS_BEEN_SENT) + .in(Todo::getState, + PendingMessageStateEnum.HAS_BEEN_SENT, + PendingMessageStateEnum.PROCESSING) .eq(Todo::getIsDelete, TableIsDeleteEnum.NORMAL.value); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/PendingMessageStateEnum.java b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/PendingMessageStateEnum.java index e877f092..85fda1b6 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/PendingMessageStateEnum.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/service/enums/PendingMessageStateEnum.java @@ -25,6 +25,7 @@ public enum PendingMessageStateEnum { RETRACT(6, "已撤回"), DELETED(7, "已删除"), READ(8, "已读"), + PROCESSING(9, "处理中") ; private final Integer code;