diff --git a/common/src/main/java/cn/wildfirechat/messagecontentbuilder/ArticlesContentBuilder.java b/common/src/main/java/cn/wildfirechat/messagecontentbuilder/ArticlesContentBuilder.java deleted file mode 100644 index 49c38c66..00000000 --- a/common/src/main/java/cn/wildfirechat/messagecontentbuilder/ArticlesContentBuilder.java +++ /dev/null @@ -1,88 +0,0 @@ -package cn.wildfirechat.messagecontentbuilder; - -import cn.wildfirechat.pojos.MessagePayload; -import cn.wildfirechat.proto.ProtoConstants; -import io.netty.util.internal.StringUtil; -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; - -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Base64; -import java.util.List; -import java.util.function.Consumer; - -public class ArticlesContentBuilder extends MessageContentBuilder{ - public static class Article { - public String id; - public String cover; - public String title; - public String digest; - public String url; - public boolean readReport; - } - public Article topArticle; - public List
subArticles; - - public static ArticlesContentBuilder newBuilder(String id, String cover, String title, String digest, String url, boolean readReport) { - ArticlesContentBuilder builder = new ArticlesContentBuilder(); - builder.topArticle = new Article(); - builder.topArticle.id = id; - builder.topArticle.cover = cover; - builder.topArticle.title = title; - builder.topArticle.digest = digest; - builder.topArticle.url = url; - builder.topArticle.readReport = readReport; - return builder; - } - - public ArticlesContentBuilder addSubArticle(String id, String cover, String title, String digest, String url, boolean readReport) { - Article article = new Article(); - article.id = id; - article.cover = cover; - article.title = title; - article.digest = digest; - article.url = url; - article.readReport = readReport; - if(subArticles == null) { - subArticles = new ArrayList<>(); - } - subArticles.add(article); - return this; - } - - private static JSONObject toJSON(Article article) { - JSONObject top = new JSONObject(); - if(!StringUtil.isNullOrEmpty(article.id)) - top.put("id", article.id); - if(!StringUtil.isNullOrEmpty(article.cover)) - top.put("cover", article.cover); - if(!StringUtil.isNullOrEmpty(article.title)) - top.put("title", article.title); - if(!StringUtil.isNullOrEmpty(article.digest)) - top.put("digest", article.digest); - if(!StringUtil.isNullOrEmpty(article.url)) - top.put("url", article.url); - if(article.readReport) - top.put("rr", article.readReport); - return top; - } - - @Override - public MessagePayload build() { - MessagePayload payload = encodeBase(); - payload.setType(ProtoConstants.ContentType.Articles); - payload.setPersistFlag(ProtoConstants.PersistFlag.Persist_And_Count); - payload.setSearchableContent(topArticle.title); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("top", toJSON(topArticle)); - if(subArticles != null && !subArticles.isEmpty()) { - JSONArray jsonArray = new JSONArray(); - subArticles.forEach(article -> jsonArray.add(toJSON(article))); - jsonObject.put("subArticles", jsonArray); - } - - payload.setBase64edData(Base64.getEncoder().encodeToString(jsonObject.toJSONString().getBytes(StandardCharsets.UTF_8))); - return payload; - } -} diff --git a/common/src/main/java/cn/wildfirechat/pojos/ArticleContent.java b/common/src/main/java/cn/wildfirechat/pojos/ArticleContent.java index cfd224ff..68ade037 100644 --- a/common/src/main/java/cn/wildfirechat/pojos/ArticleContent.java +++ b/common/src/main/java/cn/wildfirechat/pojos/ArticleContent.java @@ -13,16 +13,18 @@ public class ArticleContent { public String id; public String cover; public String title; + public String digest; public String url; public boolean rr; public Article() { } - public Article(String id, String cover, String title, String url, boolean rr) { + public Article(String id, String cover, String title, String digest, String url, boolean rr) { this.id = id; this.cover = cover; this.title = title; + this.digest = digest; this.url = url; this.rr = rr; } @@ -33,14 +35,14 @@ public class ArticleContent { public ArticleContent() { } - public ArticleContent(String id, String cover, String title, String url, boolean rr) { - this.top = new Article(id, cover, title, url, rr); + public ArticleContent(String id, String cover, String title, String digest, String url, boolean rr) { + this.top = new Article(id, cover, title, digest, url, rr); } - public ArticleContent addSubArticle(String id, String cover, String title, String url, boolean rr) { + public ArticleContent addSubArticle(String id, String cover, String title, String digest, String url, boolean rr) { if (subArticles == null) subArticles = new ArrayList<>(); - subArticles.add(new Article(id, cover, title, url, rr)); + subArticles.add(new Article(id, cover, title, digest, url, rr)); return this; } diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java index 27718553..0b5915b9 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/Main.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/Main.java @@ -1454,9 +1454,9 @@ public class Main { System.exit(-1); } - ArticleContent articleContent = new ArticleContent("article1", "https://media.wfcoss.cn/channel-assets/20220816/2dd76540daa9444dae44e942aa1c2bbc.png", "这是一个测试文章", "https://mp.weixin.qq.com/s/W6tanLbALd3qqZM8r3MTgA", true); - articleContent.addSubArticle("article2", "https://media.wfcoss.cn/channel-assets/20220816/2dd76540daa9444dae44e942aa1c2bbc.png", "这是第二个测试文章", "https://mp.weixin.qq.com/s/W6tanLbALd3qqZM8r3MTgA", false); - articleContent.addSubArticle("article3", "https://media.wfcoss.cn/channel-assets/20220816/2dd76540daa9444dae44e942aa1c2bbc.png", "这是第三个测试文章", "https://mp.weixin.qq.com/s/W6tanLbALd3qqZM8r3MTgA", false); + ArticleContent articleContent = new ArticleContent("article1", "https://media.wfcoss.cn/channel-assets/20220816/2dd76540daa9444dae44e942aa1c2bbc.png", "这是一个测试文章", "测试一下文章的功能", "https://mp.weixin.qq.com/s/W6tanLbALd3qqZM8r3MTgA", true); + articleContent.addSubArticle("article2", "https://media.wfcoss.cn/channel-assets/20220816/2dd76540daa9444dae44e942aa1c2bbc.png", "这是第二个测试文章", "测试一下文章的功能", "https://mp.weixin.qq.com/s/W6tanLbALd3qqZM8r3MTgA", false); + articleContent.addSubArticle("article3", "https://media.wfcoss.cn/channel-assets/20220816/2dd76540daa9444dae44e942aa1c2bbc.png", "这是第三个测试文章", "测试一下文章的功能", "https://mp.weixin.qq.com/s/W6tanLbALd3qqZM8r3MTgA", false); payload = articleContent.toPayload(); resultSendMessage = channelServiceApi.sendMessage(0, null, payload);