REQ-2303: 返回待办业务和路由扩展参数

This commit is contained in:
yanglin 2024-04-29 11:00:17 +08:00
parent a7c1f1364f
commit 07a1610ed1
4 changed files with 25 additions and 8 deletions

View File

@ -207,7 +207,8 @@ public class PendingMessageDTO implements Serializable {
*/
private List<ProposedButton> proposedButtons;
private JSONObject bizExtParam;
private JSONObject bizExtParamObj;
private JSONObject routerExtParamObj;
@Deprecated
public static PendingMessageDTO from(PendingMessageRecord pendingMessageRecord) {
@ -276,7 +277,8 @@ public class PendingMessageDTO implements Serializable {
.executorWorkspaceName(executorWorkspaceName)
.executorWorkspaceType(executorWorkspaceType)
// 其它信息
.bizExtParam(bizExtParam)
.bizExtParamObj(bizExtParamObj)
.routerExtParamObj(routerExtParamObj)
//页面展示
.ouId(this.ouId)
.workspaceId(workspaceId)

View File

@ -781,10 +781,8 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
pendingMessage.setTodoType(adapter.getTodoType());
pendingMessage.setIsRead(adapter.isRead());
pendingMessage.setProposedButtons(adapter.getCustomButtons());
String bizExtParam = adapter.getBizExtParam();
if (StringUtils.isNotBlank(bizExtParam)) {
pendingMessage.setBizExtParam(JSON.parseObject(bizExtParam));
}
pendingMessage.setBizExtParamObj(adapter.getBizExtParamObj());
pendingMessage.setRouterExtParamObj(adapter.getRouterParamObj());
Map<String, MessageTemplateDTO> templateCode2Template = messageTemplates.stream()
.collect(toMap(MessageTemplateDTO::getCode, identity()));
@ -831,7 +829,7 @@ public class PendingMessageNewServiceImpl implements PendingMessageNewService {
.map(MessageTemplateDTO::getMsgCardContentItems)
.orElse(null);
// 解析并替换卡片信息里面的动态参数变量
msgCardContentItems = MessageCardUtil.parseMessageCard(msgCardContentItems, bizExtParam);
msgCardContentItems = MessageCardUtil.parseMessageCard(msgCardContentItems, adapter.getBizExtParam());
pendingMessage.setCardItems(msgCardContentItems);
return pendingMessage;
}

View File

@ -231,7 +231,8 @@ public class PendingMessageResponse implements Serializable {
*/
private List<ProposedButton> proposedButtons;
private JSONObject bizExtParam;
private JSONObject bizExtParamObj;
private JSONObject routerExtParamObj;
public void adjustProposedButtons(boolean forPromoter) {
ProposedButtonFilter.adjustProposedButtons(this, forPromoter);

View File

@ -8,6 +8,9 @@ import cn.axzo.msg.center.service.enums.OrganizationTypeEnum;
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
import cn.axzo.msg.center.service.enums.TodoType;
import cn.axzo.msg.center.service.enums.YesOrNo;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import java.util.Collections;
import java.util.Date;
@ -125,4 +128,17 @@ public interface PendingRecordAdapter {
default List<ProposedButton> getCustomButtons() {
return Collections.emptyList();
}
default JSONObject getBizExtParamObj() {
return parseJsonObj(getBizExtParam());
}
default JSONObject getRouterParamObj() {
return parseJsonObj(getRouterParams());
}
static JSONObject parseJsonObj(String json) {
return StringUtils.isBlank(json) ? new JSONObject() : JSON.parseObject(json);
}
}