diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java index dc45e9a81..c4212affc 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java @@ -415,6 +415,13 @@ public interface WxMpService { */ WxMpAiOpenService getAiOpenService(); + /** + * 返回WIFI接口方法的实现类对象,以方便调用其各个接口 + * + * @return WxMpWifiService + */ + WxMpWifiService getWifiService(); + void setKefuService(WxMpKefuService kefuService); void setMaterialService(WxMpMaterialService materialService); diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpWifiService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpWifiService.java new file mode 100644 index 000000000..9cda53bbb --- /dev/null +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpWifiService.java @@ -0,0 +1,28 @@ +package me.chanjar.weixin.mp.api; + +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.mp.bean.wifi.WxMpWifiShopListResult; + +/** + *
+ * 微信连接WI-FI接口. + * Created by BinaryWang on 2018/6/10. + *+ * + * @author Binary Wang + */ +public interface WxMpWifiService { + /** + *
+ * 获取Wi-Fi门店列表. + * 通过此接口获取WiFi的门店列表,该列表包括公众平台的门店信息、以及添加设备后的WiFi相关信息。创建门店方法请参考“微信门店接口”。 + * 注:微信连Wi-Fi下的所有接口中的shop_id,必需先通过此接口获取。 + * + * http请求方式: POST + * 请求URL:https://api.weixin.qq.com/bizwifi/shop/list?access_token=ACCESS_TOKEN + *+ * @param pageIndex 分页下标,默认从1开始 + * @param pageSize 每页的个数,默认10个,最大20个 + */ + WxMpWifiShopListResult listShop(int pageIndex, int pageSize) throws WxErrorException; +} diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java index a874a1178..09d21bacf 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/BaseWxMpServiceImpl.java @@ -53,6 +53,7 @@ public abstract class BaseWxMpServiceImpl
+ * Created by BinaryWang on 2018/6/10. + *+ * + * @author Binary Wang + */ +public class WxMpWifiServiceImpl implements WxMpWifiService { + private WxMpService wxMpService; + + public WxMpWifiServiceImpl(WxMpService wxMpService) { + this.wxMpService = wxMpService; + } + + @Override + public WxMpWifiShopListResult listShop(int pageIndex, int pageSize) throws WxErrorException { + JsonObject json = new JsonObject(); + json.addProperty("pageindex", pageIndex); + json.addProperty("pagesize", pageSize); + final String result = this.wxMpService.post("https://api.weixin.qq.com/bizwifi/shop/list", json.toString()); + return WxMpWifiShopListResult.fromJson(result); + } +} diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/wifi/WxMpWifiShopListResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/wifi/WxMpWifiShopListResult.java new file mode 100644 index 000000000..69947aefc --- /dev/null +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/wifi/WxMpWifiShopListResult.java @@ -0,0 +1,90 @@ +package me.chanjar.weixin.mp.bean.wifi; + +import com.google.gson.JsonParser; +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; + +import java.util.List; + +/** + *
+ * Created by BinaryWang on 2018/6/10. + *+ * + * @author Binary Wang + */ +@Data +public class WxMpWifiShopListResult { + public static WxMpWifiShopListResult fromJson(String json) { + return WxMpGsonBuilder.create().fromJson( + new JsonParser().parse(json).getAsJsonObject().get("data"), + WxMpWifiShopListResult.class); + } + + /** + * 总数 + */ + @SerializedName("totalcount") + private int totalCount; + + /** + * 分页下标 + */ + @SerializedName("pageindex") + private int pageIndex; + + /** + * 分页页数 + */ + @SerializedName("pagecount") + private int pageCount; + + private List
+ * Created by BinaryWang on 2018/6/10. + *+ * + * @author Binary Wang + */ +@Test +@Guice(modules = ApiTestModule.class) +public class WxMpWifiServiceImplTest { + @Inject + private WxMpService wxService; + + @Test + public void testListShop() throws WxErrorException { + final WxMpWifiShopListResult result = this.wxService.getWifiService().listShop(1, 2); + System.out.println(result); + } +}