From 2ef572dc4f1cdb67972aefb5b8799ee47cc74fbe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Feb 2026 03:20:14 +0000 Subject: [PATCH 1/2] Initial plan From f8b0608e3bdab27aff73d9792521c6267d24cbb8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Feb 2026 03:22:31 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=9C=A8=20WxMa?= =?UTF-8?q?MediaAsyncCheckResult=20=E4=B8=AD=E6=B7=BB=E5=8A=A0=E7=BC=BA?= =?UTF-8?q?=E5=B0=91=E7=9A=84=20result=20=E5=92=8C=20detail=20=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= 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> --- .../bean/WxMaMediaAsyncCheckResult.java | 13 +++++ .../bean/WxMaMediaAsyncCheckResultTest.java | 52 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaMediaAsyncCheckResultTest.java diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMediaAsyncCheckResult.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMediaAsyncCheckResult.java index 64351ece6d..5ded2baece 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMediaAsyncCheckResult.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/WxMaMediaAsyncCheckResult.java @@ -9,6 +9,7 @@ import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; import java.io.Serializable; +import java.util.List; /** * @author borisbao @@ -26,6 +27,18 @@ public class WxMaMediaAsyncCheckResult implements Serializable { /** * 综合结果 */ + @SerializedName("result") + private ResultBean result; + + /** + * 详细检测结果列表 + */ + @SerializedName("detail") + private List detail; + + /** + * 综合结果内部类定义 + */ @Data @Builder @XStreamAlias("result") diff --git a/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaMediaAsyncCheckResultTest.java b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaMediaAsyncCheckResultTest.java new file mode 100644 index 0000000000..773271a513 --- /dev/null +++ b/weixin-java-miniapp/src/test/java/cn/binarywang/wx/miniapp/bean/WxMaMediaAsyncCheckResultTest.java @@ -0,0 +1,52 @@ +package cn.binarywang.wx.miniapp.bean; + +import org.testng.annotations.Test; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; + +/** + * 测试多媒体内容安全异步检测结果解析 + * + * @author copilot + */ +@Test +public class WxMaMediaAsyncCheckResultTest { + + public void testFromJsonWithResultAndDetail() { + String json = "{\n" + + " \"trace_id\": \"test_trace_id_001\",\n" + + " \"result\": {\n" + + " \"suggest\": \"risky\",\n" + + " \"label\": 20001\n" + + " },\n" + + " \"detail\": [\n" + + " {\n" + + " \"strategy\": \"content_model\",\n" + + " \"errcode\": 0,\n" + + " \"suggest\": \"risky\",\n" + + " \"label\": 20006,\n" + + " \"prob\": 90\n" + + " }\n" + + " ]\n" + + "}"; + + WxMaMediaAsyncCheckResult result = WxMaMediaAsyncCheckResult.fromJson(json); + + assertNotNull(result); + assertEquals(result.getTraceId(), "test_trace_id_001"); + + assertNotNull(result.getResult()); + assertEquals(result.getResult().getSuggest(), "risky"); + assertEquals(result.getResult().getLabel(), "20001"); + + assertNotNull(result.getDetail()); + assertEquals(result.getDetail().size(), 1); + WxMaMediaAsyncCheckResult.DetailBean detail = result.getDetail().get(0); + assertEquals(detail.getStrategy(), "content_model"); + assertEquals(detail.getErrcode(), Integer.valueOf(0)); + assertEquals(detail.getSuggest(), "risky"); + assertEquals(detail.getLabel(), "20006"); + assertEquals(detail.getProb(), Integer.valueOf(90)); + } +}