+详情按钮

This commit is contained in:
wuyu 2023-12-14 09:54:00 +08:00
parent d553bc9132
commit fb07deee6c
9 changed files with 86 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import cn.axzo.msg.center.domain.entity.MessageRouterConfig;
import cn.axzo.msg.center.service.dto.MessageButtonRouteStrategyDTO;
import cn.axzo.msg.center.service.dto.MessageDetailRouteStrategyDTO;
import cn.axzo.msg.center.service.dto.MessageRouterTerminalDTO;
import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum;
import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum;
import cn.axzo.msg.center.service.enums.RouterButtonSourceEnum;
import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
@ -103,6 +104,10 @@ public class MessageTemplateRouterDTO implements Serializable {
* 业务详情展示策略
*/
private BizDetailShowStrategyEnum showStrategy;
/**
* 业务详情跳转策略
*/
private BizDetailJumpStrategyEnum jumpStrategy;
/**
* 跳转路由的配置列表
*/
@ -117,6 +122,7 @@ public class MessageTemplateRouterDTO implements Serializable {
.name(msgRouteDetail.getName())
.templateCode(msgRouteDetail.getTemplateCode())
.showStrategy(msgRouteDetail.getShowStrategy())
.jumpStrategy(msgRouteDetail.getJumpStrategy())
.routerConfigs(routerConfigs.stream().map(MessageRouterConfigDTO::from).collect(Collectors.toList()))
.build();
}
@ -132,6 +138,7 @@ public class MessageTemplateRouterDTO implements Serializable {
.name(MessageRouterUtil.DETAIL_ROUTER_DESC)
.templateCode(templateCode)
.showStrategy(bizDetailShowStrategy.getShowStrategy())
.jumpStrategy(bizDetailShowStrategy.getJumpStrategy())
.routerConfigs(configs)
.build();
}
@ -140,6 +147,7 @@ public class MessageTemplateRouterDTO implements Serializable {
return MessageRouteDetail.builder()
.name(this.name)
.showStrategy(this.showStrategy)
.jumpStrategy(this.jumpStrategy)
.templateCode(this.templateCode)
.build();
}
@ -155,7 +163,7 @@ public class MessageTemplateRouterDTO implements Serializable {
List<MessageRouterTerminalDTO> terminals = this.routerConfigs.stream()
.map(e -> MessageRouterTerminalDTO.builder().terminalType(e.terminalType).url(e.url).build())
.collect(Collectors.toList());
return MessageDetailRouteStrategyDTO.builder().showStrategy(this.showStrategy).terminals(terminals).build();
return MessageDetailRouteStrategyDTO.builder().showStrategy(this.showStrategy).jumpStrategy(this.jumpStrategy).terminals(terminals).build();
}
public MessageRouteDetailDTO deepClone() {
@ -165,6 +173,7 @@ public class MessageTemplateRouterDTO implements Serializable {
.name(this.name)
.templateCode(this.templateCode)
.showStrategy(this.showStrategy)
.jumpStrategy(this.jumpStrategy)
.routerConfigs(configs)
.build();
}
@ -215,6 +224,14 @@ public class MessageTemplateRouterDTO implements Serializable {
* 按钮style配置
*/
private JSONArray style;
/**
* 执行人可见true 不可见false
*/
private Boolean executorShow;
/**
* 待办状态可见可见true 不可见false
*/
private Boolean pendingShow;
/**
* 按钮优先级数值越大优先级越低
*/
@ -234,6 +251,8 @@ public class MessageTemplateRouterDTO implements Serializable {
.category(routeButton.getCategory())
.apiUrl(routeButton.getApiUrl())
.style(routeButton.getStyle())
.executorShow(routeButton.getExecutorShow())
.pendingShow(routeButton.getPendingShow())
.priority(routeButton.getPriority())
.routerConfigs(configs)
.build();
@ -258,6 +277,8 @@ public class MessageTemplateRouterDTO implements Serializable {
.apiUrl(btnRouter.getApiUrl())
.routerConfigs(routerConfigs)
.style(style)
.executorShow(btnRouter.getExecutorShow())
.pendingShow(btnRouter.getPendingShow())
.build();
}
@ -270,6 +291,8 @@ public class MessageTemplateRouterDTO implements Serializable {
.category(this.category)
.apiUrl(this.apiUrl)
.style(this.style)
.executorShow(this.executorShow)
.pendingShow(this.pendingShow)
.build();
}
@ -298,6 +321,8 @@ public class MessageTemplateRouterDTO implements Serializable {
.identityCode(this.btnCode)
.source(this.source)
.style(MessageRouterUtil.parseButtonStyle(this.style))
.executorShow(this.executorShow)
.pendingShow(this.pendingShow)
.apiUrl(this.apiUrl)
.terminals(terminals)
.build();

View File

@ -19,6 +19,7 @@ import cn.axzo.msg.center.message.domain.param.RelationTemplateMapInitParam;
import cn.axzo.msg.center.message.service.MessageTemplateGroupService;
import cn.axzo.msg.center.message.service.MessageTemplateRouterService;
import cn.axzo.msg.center.message.service.RelationTemplateMapService;
import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum;
import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum;
import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
import cn.axzo.msg.center.service.enums.PushTerminalEnum;
@ -188,6 +189,7 @@ public class RelationTemplateMapServiceImpl implements RelationTemplateMapServic
.name(MessageRouterUtil.DETAIL_ROUTER_DESC)
.templateCode(templateCode)
.showStrategy(BizDetailShowStrategyEnum.JUMP_TO)
.jumpStrategy(BizDetailJumpStrategyEnum.DETAIL)
.routerConfigs(routerConfigs)
.build();
return MessageTemplateRouterDTO.builder().routeDetail(detailRouter).build();

View File

@ -228,6 +228,7 @@ public final class MessageRouterUtil {
MessageRouterConfigDTO routerTerminal = select(detailRouteStrategy.getRouterConfigs(), terminalType);
return DetailRouterDTO.builder()
.showStrategy(detailRouteStrategy.getShowStrategy())
.jumpStrategy(detailRouteStrategy.getJumpStrategy())
.url(routerTerminal.getUrl())
.terminalType(routerTerminal.getTerminalType())
.build();

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.service.dto;
import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum;
import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum;
import cn.axzo.msg.center.service.enums.TerminalTypeEnum;
import com.alibaba.fastjson.JSON;
@ -29,6 +30,10 @@ public class DetailRouterDTO implements Serializable {
* 展示策略
*/
private BizDetailShowStrategyEnum showStrategy;
/**
* 展示策略
*/
private BizDetailJumpStrategyEnum jumpStrategy;
/**
* 页面地址
*/

View File

@ -57,6 +57,14 @@ public class MessageButtonRouteStrategyDTO implements Serializable {
* OVER_CARD: 按钮显示在卡片上
*/
private List<ButtonStyleEnum> style;
/**
* 执行人可见true 不可见false
*/
private Boolean executorShow;
/**
* 待办状态可见可见true 不可见false
*/
private Boolean pendingShow;
/**
* 路由按钮的跳转url配置
*/

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.service.dto;
import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum;
import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum;
import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
@ -29,6 +30,10 @@ public class MessageDetailRouteStrategyDTO implements Serializable {
* 展示策略
*/
private BizDetailShowStrategyEnum showStrategy;
/**
* 业务详情跳转策略
*/
private BizDetailJumpStrategyEnum jumpStrategy;
/**
* 路由终端列表若当前按钮为ACTION则只能配一个接口地址
*/

View File

@ -0,0 +1,26 @@
package cn.axzo.msg.center.service.enums;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @description
* 业务详情展示策略
* @author cold_blade
* @date 2023/11/6
* @version 1.0
*/
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum BizDetailJumpStrategyEnum {
/**
* 跳转详情
*/
DETAIL,
/**
* 跳转业务
*/
BUSINESS;
}

View File

@ -62,6 +62,14 @@ public class MessageRouteButton extends BaseEntityExt<MessageRouteButton> implem
*/
@TableField(typeHandler = FastjsonTypeHandler.class)
private JSONArray style;
/**
* 执行人可见true 不可见false
*/
private Boolean executorShow;
/**
* 待办状态可见可见true 不可见false
*/
private Boolean pendingShow;
/**
* 按钮优先级数值越大优先级越低
*/

View File

@ -1,6 +1,7 @@
package cn.axzo.msg.center.domain.entity;
import cn.axzo.msg.center.domain.persistence.BaseEntityExt;
import cn.axzo.msg.center.service.enums.BizDetailJumpStrategyEnum;
import cn.axzo.msg.center.service.enums.BizDetailShowStrategyEnum;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.annotation.TableName;
@ -41,6 +42,10 @@ public class MessageRouteDetail extends BaseEntityExt<MessageRouteDetail> implem
* 业务详情展示策略
*/
private BizDetailShowStrategyEnum showStrategy;
/**
* 业务详情跳转策略
*/
private BizDetailJumpStrategyEnum jumpStrategy;
@Override
public String toString() {