From 85bd27424d3eacde81ff91c5aa28828de6ad30ee Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri, 5 Dec 2025 16:20:18 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#3795=20=E3=80=90=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E3=80=91=E5=AE=A2=E6=9C=8D=E6=B6=88=E6=81=AFAPI?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=20aimsgcontext=20=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=EF=BC=8C=E7=94=A8=E4=BA=8EAI=E6=B6=88=E6=81=AF=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../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 0cd77c793..cdce68117 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 class WxMaKefuMessage 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 c353534c3..71f49ee2d 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 @@ import cn.binarywang.wx.miniapp.bean.WxMaKefuMessage; public class BaseBuilder { protected String msgType; protected String toUser; + protected String aiMsgContextMsgId; @SuppressWarnings("unchecked") public T toUser(String toUser) { @@ -15,6 +16,12 @@ public class BaseBuilder { return (T) this; } + @SuppressWarnings("unchecked") + public T aiMsgContextMsgId(String msgId) { + this.aiMsgContextMsgId = msgId; + return (T) this; + } + /** * 构造器方法. */ @@ -22,6 +29,9 @@ public class BaseBuilder { 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 6486c3237..c855b2747 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 class WxMaKefuMessageTest { "\"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\"}}"); + } + }