From f21f3e37d1b3b9d7a28ced74de4d0fd2c4f23f36 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 5 Dec 2025 04:27:11 +0000 Subject: [PATCH 1/2] Initial plan From 983ec8d59f4038a330c3958877c051972e519e4d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 5 Dec 2025 04:35:11 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=A2=E6=9C=8D?= =?UTF-8?q?=E6=B6=88=E6=81=AFaimsgcontext=E5=AD=97=E6=AE=B5=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com> --- .../binarywang/wx/miniapp/bean/WxMaKefuMessage.java | 13 +++++++++++++ .../binarywang/wx/miniapp/builder/BaseBuilder.java | 10 ++++++++++ .../wx/miniapp/bean/WxMaKefuMessageTest.java | 10 ++++++++++ 3 files changed, 33 insertions(+) diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessage.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessage.java index 0cd77c7937..cdce681175 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessage.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessage.java @@ -40,6 +40,9 @@ public class WxMaKefuMessage implements Serializable { @SerializedName("miniprogrampage") private KfMaPage maPage; + @SerializedName("aimsgcontext") + private AiMsgContext aiMsgContext; + @Data @AllArgsConstructor @NoArgsConstructor @@ -90,6 +93,16 @@ public static class KfMaPage implements Serializable { private String thumbMediaId; } + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class AiMsgContext implements Serializable { + private static final long serialVersionUID = 1L; + + @SerializedName("msgid") + private String msgId; + } + /** * 获得文本消息builder. */ diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/BaseBuilder.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/BaseBuilder.java index c353534c3f..71f49ee2d3 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/BaseBuilder.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/builder/BaseBuilder.java @@ -8,6 +8,7 @@ public class BaseBuilder { protected String msgType; protected String toUser; + protected String aiMsgContextMsgId; @SuppressWarnings("unchecked") public T toUser(String toUser) { @@ -15,6 +16,12 @@ public T toUser(String toUser) { return (T) this; } + @SuppressWarnings("unchecked") + public T aiMsgContextMsgId(String msgId) { + this.aiMsgContextMsgId = msgId; + return (T) this; + } + /** * 构造器方法. */ @@ -22,6 +29,9 @@ public WxMaKefuMessage build() { WxMaKefuMessage m = new WxMaKefuMessage(); m.setMsgType(this.msgType); m.setToUser(this.toUser); + if (this.aiMsgContextMsgId != null) { + m.setAiMsgContext(new WxMaKefuMessage.AiMsgContext(this.aiMsgContextMsgId)); + } return m; } } diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessageTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessageTest.java index 6486c3237f..c855b2747a 100644 --- a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessageTest.java +++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaKefuMessageTest.java @@ -66,4 +66,14 @@ public void testURLEscaped() { "\"link\":{\"title\":\"title\",\"description\":\"description\",\"url\":\"https://mp.weixin.qq.com/s?__biz=MzI0MDA2OTY5NQ==\",\"thumb_url\":\"thumbUrl\"}}"); } + public void testTextBuilderWithAiMsgContext() { + WxMaKefuMessage reply = WxMaKefuMessage.newTextBuilder() + .toUser("OPENID") + .content("回复内容") + .aiMsgContextMsgId("MSG_ID_123") + .build(); + assertThat(reply.toJson()) + .isEqualTo("{\"touser\":\"OPENID\",\"msgtype\":\"text\",\"text\":{\"content\":\"回复内容\"},\"aimsgcontext\":{\"msgid\":\"MSG_ID_123\"}}"); + } + }