Merge branch 'feature/REQ-3045' into dev

This commit is contained in:
yanglin 2024-10-21 11:23:18 +08:00
commit a839b57a39
8 changed files with 108 additions and 7 deletions

View File

@ -61,13 +61,13 @@ public class ParsedModel3Walker {
private static void visitGroupDetail(ParsedModel3Visitor visitor,
ParsedGroupV3 group,
ParsedGroupInfo groupInfo) {
if (groupInfo.getDetail() == null) return;
visitor.visitGroupDetail(group, groupInfo.getDetail());
if (groupInfo.getDetail().getUrlConfig() != null) {
visitor.visitGroupDetailUrl(group, groupInfo.getDetail().getUrlConfig());
visitor.exitGroupDetailUrl(group, groupInfo.getDetail().getUrlConfig());
if (groupInfo.getDetailConfig() == null) return;
visitor.visitGroupDetail(group, groupInfo.getDetailConfig());
if (groupInfo.getDetailConfig().getUrlConfig() != null) {
visitor.visitGroupDetailUrl(group, groupInfo.getDetailConfig().getUrlConfig());
visitor.exitGroupDetailUrl(group, groupInfo.getDetailConfig().getUrlConfig());
}
visitor.exitGroupDetail(group, groupInfo.getDetail());
visitor.exitGroupDetail(group, groupInfo.getDetailConfig());
}
private static void visitButton(ParsedModel3Visitor visitor,

View File

@ -8,6 +8,8 @@ import cn.axzo.msg.center.service.enums.RouterCategoryEnum;
import cn.axzo.msg.center.service.pending.response.MessageButton;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
@ -56,8 +58,14 @@ public class ParsedButtonV3 implements MessageButton {
/**
* 按钮链接配置
*/
@JsonIgnore @JSONField(serialize = false)
private UrlConfig urlConfig;
/**
* 按钮链接
*/
private ParsedUrl url;
/**
* 按钮style配置
*/

View File

@ -0,0 +1,16 @@
package cn.axzo.msg.center.service.pending.response.v3.model;
import lombok.Getter;
import lombok.Setter;
/**
* @author yanglin
*/
@Setter
@Getter
public class ParsedCardUrl {
/**
* 链接信息
*/
private ParsedUrl url;
}

View File

@ -0,0 +1,32 @@
package cn.axzo.msg.center.service.pending.response.v3.model;
import cn.axzo.msg.center.service.domain.UrlConfig;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
/**
* @author yanglin
*/
@Setter
@Getter
public class ParsedGroupDetail {
/**
* 详情名称
*/
private String name;
/**
* 链接配置
*/
@JsonIgnore @JSONField(serialize = false)
private UrlConfig urlConfig;
/**
* 链接
*/
private ParsedUrl url;
}

View File

@ -25,7 +25,13 @@ public class ParsedGroupInfo {
/**
* 详情的配置
*/
private DetailConfig detail;
@JsonIgnore @JSONField(serialize = false)
private DetailConfig detailConfig;
/**
* 详情信息
*/
private ParsedGroupDetail detail;
/**
* 用于debug, 前端忽略

View File

@ -2,6 +2,8 @@ package cn.axzo.msg.center.service.pending.response.v3.model;
import cn.axzo.msg.center.service.enums.GroupType;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;

View File

@ -7,6 +7,8 @@ import cn.axzo.msg.center.service.enums.StatusEnum;
import cn.axzo.msg.center.service.enums.YesOrNo;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
@ -74,8 +76,14 @@ public class ParsedTemplateV3 {
/**
* 卡片跳转配置. 在links的基础上再包一层, 避免以后卡片增加自己的配置
*/
@JsonIgnore @JSONField(serialize = false)
private CardUrlConfig cardUrlConfig;
/**
* 卡片链接
*/
private ParsedCardUrl cardUrl;
/**
* IM发送优先级
*/

View File

@ -0,0 +1,29 @@
package cn.axzo.msg.center.service.pending.response.v3.model;
import cn.axzo.msg.center.service.enums.WebPageOpenStrategy;
import lombok.Getter;
import lombok.Setter;
/**
* @author yanglin
*/
@Setter
@Getter
public class ParsedUrl {
/**
* 链接地址
*/
private String url;
/**
* web打开策略
*/
private WebPageOpenStrategy webOpenStrategy;
/**
* 是否有安卓链接
*/
private boolean hasAndroidUrl;
/**
* 是否有ios链接
*/
private boolean hasIosUrl;
}