Sfoglia il codice sorgente

:bug: #1413 公众号模块优化行业设置接口枚举匹配代码,并增加单元测试

Binary Wang 5 anni fa
parent
commit
4b13a04014

+ 6 - 1
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpIndustryGsonAdapter.java

@@ -28,7 +28,12 @@ public class WxMpIndustryGsonAdapter implements JsonSerializer<WxMpTemplateIndus
   }
 
   private WxMpTemplateIndustryEnum convertFromJson(JsonObject json) {
-    return WxMpTemplateIndustryEnum.findBySecondary(GsonHelper.getString(json, "second_class"));
+    String secondClass = GsonHelper.getString(json, "second_class");
+    if (secondClass.contains("|")) {
+      secondClass = secondClass.split("\\|")[1];
+    }
+
+    return WxMpTemplateIndustryEnum.findBySecondary(secondClass);
   }
 
 }

+ 23 - 0
weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateIndustryTest.java

@@ -0,0 +1,23 @@
+package me.chanjar.weixin.mp.bean.template;
+
+import org.testng.annotations.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.testng.Assert.*;
+
+/**
+ * 测试类.
+ *
+ * @author <a href="https://github.com/binarywang">Binary Wang</a>
+ * @date 2020-02-29
+ */
+public class WxMpTemplateIndustryTest {
+
+    @Test
+    public void testFromJson() {
+      String json="{\"primary_industry\":{\"first_class\":\"IT科技\",\"second_class\":\"IT软件与服务\"},\"secondary_industry\":{\"first_class\":\"房地产\",\"second_class\":\"房地产|建筑\"}}";
+      final WxMpTemplateIndustry industry = WxMpTemplateIndustry.fromJson(json);
+      assertThat(industry).isNotNull();
+      System.out.println(industry);
+    }
+}