REQ-2324: 调整代码

This commit is contained in:
yanglin 2024-05-13 19:54:19 +08:00
parent 8319075251
commit 184e389fbf
4 changed files with 22 additions and 9 deletions

View File

@ -1,10 +1,12 @@
package cn.axzo.msg.center.message.domain.dto; package cn.axzo.msg.center.message.domain.dto;
import cn.axzo.msg.center.domain.entity.MessageBaseTemplate; import cn.axzo.msg.center.domain.entity.MessageBaseTemplate;
import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO.MessageRouteButtonDTO;
import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO; import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO;
import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum; import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum;
import cn.axzo.msg.center.service.enums.MessageCategoryEnum; import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
import cn.axzo.msg.center.service.enums.PushTerminalEnum; import cn.axzo.msg.center.service.enums.PushTerminalEnum;
import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
import cn.axzo.msg.center.utils.JSONObjectUtil; import cn.axzo.msg.center.utils.JSONObjectUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -13,6 +15,7 @@ import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import org.apache.commons.collections.CollectionUtils;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@ -97,6 +100,15 @@ public class MessageTemplateDTO implements Serializable {
private JSONObject pushData; private JSONObject pushData;
public boolean hasPresetButtons() {
List<MessageRouteButtonDTO> buttons = msgTemplateRouter.getRouteButtons();
if (CollectionUtils.isEmpty(buttons)) {
return false;
}
return buttons.stream()
.anyMatch(btn -> btn.getCategory() == RouterCategoryEnum.PRESET_BUTTON);
}
public boolean isCardJumpToBiz() { public boolean isCardJumpToBiz() {
if (msgTemplateRouter == null) { if (msgTemplateRouter == null) {
return false; return false;

View File

@ -132,7 +132,7 @@ public class TodoRangeQueryService {
.eq(Todo::getType, request.determineToDoType()) .eq(Todo::getType, request.determineToDoType())
.eq(Todo::getExecutorPersonId, request.getPersonId()) .eq(Todo::getExecutorPersonId, request.getPersonId())
//判断是否支持批量过滤 //判断是否支持批量过滤
.and(request.getSupportBatchProcess() != null, nested -> nested.eq(Todo::getSupportBatchProcess, request.getSupportBatchProcess().getCode())) .eq(request.getSupportBatchProcess() != null, Todo::getSupportBatchProcess, request.getSupportBatchProcess())
// like search // like search
.and(StringUtils.isNotBlank(request.getTitle()), nested -> nested .and(StringUtils.isNotBlank(request.getTitle()), nested -> nested
.like(Todo::getTitle, request.getTitle()) .like(Todo::getTitle, request.getTitle())

View File

@ -40,6 +40,11 @@ class TodoLogger {
logTodosUpdated(ctx, todos); logTodosUpdated(ctx, todos);
} }
void logSetTodoProcessing(TodoRequestContext ctx, List<Todo> todos) {
ctx.addLogContent("state", PendingMessageStateEnum.PROCESSING);
logTodosUpdated(ctx, todos);
}
void logTodoRollback(TodoRequestContext ctx, List<Todo> todos) { void logTodoRollback(TodoRequestContext ctx, List<Todo> todos) {
ctx.addLogContent("state", PendingMessageStateEnum.HAS_BEEN_SENT); ctx.addLogContent("state", PendingMessageStateEnum.HAS_BEEN_SENT);
logTodosUpdated(ctx, todos); logTodosUpdated(ctx, todos);

View File

@ -11,7 +11,6 @@ import cn.axzo.msg.center.domain.entity.Todo;
import cn.axzo.msg.center.domain.entity.TodoBusiness; import cn.axzo.msg.center.domain.entity.TodoBusiness;
import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig; import cn.axzo.msg.center.inside.notices.config.PendingMessageBizConfig;
import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO; import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO;
import cn.axzo.msg.center.message.domain.dto.MessageTemplateRouterDTO;
import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam; import cn.axzo.msg.center.message.domain.param.PendingMessagePushParam;
import cn.axzo.msg.center.message.service.MessageTemplateNewService; import cn.axzo.msg.center.message.service.MessageTemplateNewService;
import cn.axzo.msg.center.message.service.todo.manage.event.NewTodoEvent; import cn.axzo.msg.center.message.service.todo.manage.event.NewTodoEvent;
@ -133,12 +132,9 @@ public class TodoManager {
//批量默认为false //批量默认为false
YesOrNo supportBatchProcess = request.getSupportBatchProcess() == null ? YesOrNo.NO : request.getSupportBatchProcess(); YesOrNo supportBatchProcess = request.getSupportBatchProcess() == null ? YesOrNo.NO : request.getSupportBatchProcess();
//业务待办设置是否批量处理 //业务待办设置是否批量处理
if (template.getMsgCategory().equals(MessageCategoryEnum.BIZ_PENDING_MESSAGE)) { if (template.getMsgCategory() == MessageCategoryEnum.BIZ_PENDING_MESSAGE
List<MessageTemplateRouterDTO.MessageRouteButtonDTO> routeButtons = template.getMsgTemplateRouter().getRouteButtons(); && template.hasPresetButtons())
if (CollectionUtils.isNotEmpty(routeButtons)) { supportBatchProcess = YesOrNo.YES;
supportBatchProcess = YesOrNo.YES;
}
}
request.setSupportBatchProcess(supportBatchProcess); request.setSupportBatchProcess(supportBatchProcess);
List<Todo> todos = todoRecordBuilder.buildTodos( List<Todo> todos = todoRecordBuilder.buildTodos(
request, ctx.getRequestNo(), ext, business); request, ctx.getRequestNo(), ext, business);
@ -397,7 +393,7 @@ public class TodoManager {
if (updated) { if (updated) {
List<Todo> updatedTodos = todoDao.getByIdentityCodes(identityCodes); List<Todo> updatedTodos = todoDao.getByIdentityCodes(identityCodes);
TodoRequestContext ctx = TodoRequestContext.create("batchSetProcessing", identityCodes); TodoRequestContext ctx = TodoRequestContext.create("batchSetProcessing", identityCodes);
todoLogger.logTodosUpdated(ctx, updatedTodos); todoLogger.logSetTodoProcessing(ctx, updatedTodos);
} }
return updated; return updated;
} }