From c19d46bdb8be641dfd3d3bbccc5c17e869faa292 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Feb 2026 17:28:01 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#3882=20=E3=80=90=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E3=80=91=E5=A4=9A=E5=AA=92=E4=BD=93=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E8=AF=86=E5=88=AB=E5=BC=82=E6=AD=A5=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E7=BB=93=E6=9E=9C=E7=B1=BB=E5=A2=9E=E5=8A=A0result=20?= =?UTF-8?q?=E5=92=8C=20detail=20=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../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 64351ece6..5ded2baec 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 lombok.Data; 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 000000000..773271a51 --- /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)); + } +}