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 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)); + } +}