REQ-3502: 添加按钮类型
This commit is contained in:
parent
79010b65f7
commit
3ec0837f2e
@ -21,6 +21,10 @@
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.workflow</groupId>
|
||||
<artifactId>workflow-engine-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.org</groupId>
|
||||
<artifactId>org-api</artifactId>
|
||||
|
||||
@ -7,6 +7,7 @@ import cn.axzo.msg.center.service.domain.UrlConfig;
|
||||
import cn.axzo.msg.center.service.dto.MessageCardContentItemDTO;
|
||||
import cn.axzo.msg.center.service.enums.ButtonStyleEnum;
|
||||
import cn.axzo.msg.center.service.enums.PresetButtonType;
|
||||
import cn.axzo.msg.center.service.enums.RouterButtonSourceEnum;
|
||||
import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
|
||||
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
|
||||
import cn.axzo.msg.center.service.pending.card.domain.CardElementConfig;
|
||||
@ -238,6 +239,11 @@ public class GeneralMessagePushVO implements Serializable {
|
||||
*/
|
||||
private UrlConfig urlConfig;
|
||||
|
||||
/**
|
||||
* 按钮来源
|
||||
*/
|
||||
private RouterButtonSourceEnum source;
|
||||
|
||||
/**
|
||||
* 调用api的地址. action=ACTION时, 消费这个字段
|
||||
*/
|
||||
|
||||
@ -154,6 +154,7 @@ class CardParser {
|
||||
String actionPerformed = buttonInterceptor
|
||||
.getActionPerformedName(button)
|
||||
.orElse(button.getActionPerformedName());
|
||||
imButton.setSource(button.getSource());
|
||||
imButton.setTitle(isActionPerformed ? actionPerformed : button.getName());
|
||||
imButton.setAction(button.getCategory().name());
|
||||
imButton.setIsHighlight(button.getStyles().contains(ButtonStyleEnum.HIGH_LIGHT));
|
||||
|
||||
@ -7,6 +7,7 @@ import cn.axzo.msg.center.service.enums.BizFinalStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
|
||||
import cn.axzo.msg.center.service.enums.RouterButtonSourceEnum;
|
||||
import cn.axzo.msg.center.utils.desision.DecisionValue;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.util.Optional;
|
||||
@ -17,6 +18,7 @@ import java.util.Optional;
|
||||
@RequiredArgsConstructor
|
||||
class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor {
|
||||
|
||||
private final BpmnTaskButtonVo workflowButtons;
|
||||
private final Todo todo;
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,12 +1,17 @@
|
||||
package cn.axzo.msg.center.message.service.todo.card.workflow;
|
||||
|
||||
import cn.axzo.msg.center.dal.TodoBusinessDao;
|
||||
import cn.axzo.msg.center.dal.TodoDao;
|
||||
import cn.axzo.msg.center.domain.entity.Todo;
|
||||
import cn.axzo.msg.center.domain.entity.TodoBusiness;
|
||||
import cn.axzo.msg.center.message.service.card.interceptor.CardButtonInterceptor;
|
||||
import cn.axzo.msg.center.message.service.card.interceptor.CardButtonInterceptorFactory;
|
||||
import cn.axzo.msg.center.message.service.todo.card.TodoSyncCardService;
|
||||
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||
import cn.axzo.msg.center.service.pending.request.CardContent;
|
||||
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskButtonSearchDTO;
|
||||
import cn.axzo.workflow.common.model.response.bpmn.task.BpmnTaskButtonVo;
|
||||
import cn.axzo.workflow.starter.api.WorkflowCoreService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -21,7 +26,9 @@ import javax.annotation.Nullable;
|
||||
@RequiredArgsConstructor
|
||||
class WorkflowTodoCardButtonInterceptorFactory implements CardButtonInterceptorFactory {
|
||||
|
||||
private final TodoBusinessDao todoBusinessDao;
|
||||
private final TodoDao todoDao;
|
||||
private final WorkflowCoreService workflowCoreService;
|
||||
|
||||
@Override @Nullable
|
||||
public CardButtonInterceptor create(CardContent card) {
|
||||
@ -36,7 +43,18 @@ class WorkflowTodoCardButtonInterceptorFactory implements CardButtonInterceptorF
|
||||
log.warn("todo not found. identityCode={}", identityCode);
|
||||
return null;
|
||||
}
|
||||
return new WorkflowTodoCardButtonInterceptor(todo);
|
||||
TodoBusiness business = todoBusinessDao.getBusinesses(todo).findBusiness(todo).orElse(null);
|
||||
if (business == null) {
|
||||
log.warn("todo business not found. identityCode={}", identityCode);
|
||||
return null;
|
||||
}
|
||||
BpmnTaskButtonSearchDTO workflowRequest = new BpmnTaskButtonSearchDTO();
|
||||
workflowRequest.setProcessInstanceId(todo.getBizCode());
|
||||
workflowRequest.setTaskId(todo.getSubBizCode());
|
||||
workflowRequest.setInitiatorPersonId(business.getPromoterPersonId());
|
||||
workflowRequest.setExecutorPersonId(todo.getExecutorPersonId());
|
||||
BpmnTaskButtonVo workflowButtons = workflowCoreService.findProcessSingleTaskButtons(workflowRequest);
|
||||
return new WorkflowTodoCardButtonInterceptor(workflowButtons, todo);
|
||||
}
|
||||
|
||||
}
|
||||
6
pom.xml
6
pom.xml
@ -42,6 +42,7 @@
|
||||
<feign-httpclient.version>11.8</feign-httpclient.version>
|
||||
<jetbrains.version>26.0.0</jetbrains.version>
|
||||
<epic.version>1.0.0-SNAPSHOT</epic.version>
|
||||
<workflow.version>1.5.1-SNAPSHOT</workflow.version>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
@ -106,6 +107,11 @@
|
||||
<artifactId>msg-center-api-v2</artifactId>
|
||||
<version>${msg-center-api-v2-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.workflow</groupId>
|
||||
<artifactId>workflow-engine-spring-boot-starter</artifactId>
|
||||
<version>${workflow.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user