添加查询门店类目列表的接口, for issue #17

This commit is contained in:
BinaryWang 2016-09-28 20:20:17 +08:00
parent 460a52be10
commit 8a5fdb1717
3 changed files with 38 additions and 0 deletions

View File

@ -35,6 +35,7 @@ public interface WxMpStoreService {
* 最终结果会在5 个工作日内最终确认是否采纳并前端生效但该扩展字段的采纳过程不影响门店的可用性即available_state仍为审核通过状态 * 最终结果会在5 个工作日内最终确认是否采纳并前端生效但该扩展字段的采纳过程不影响门店的可用性即available_state仍为审核通过状态
* 扩展字段为公共编辑信息大家都可修改修改将会审核并决定是否对修改建议进行采纳但不会影响该门店的生效可用状态 * 扩展字段为公共编辑信息大家都可修改修改将会审核并决定是否对修改建议进行采纳但不会影响该门店的生效可用状态
* 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a> * 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a>
* 接口格式http://api.weixin.qq.com/cgi-bin/poi/getpoi?access_token=TOKEN
* </pre> * </pre>
* @param poiId 门店Id * @param poiId 门店Id
* @throws WxErrorException * @throws WxErrorException
@ -46,6 +47,7 @@ public interface WxMpStoreService {
* 删除门店 * 删除门店
* 商户可以通过该接口删除已经成功创建的门店请商户慎重调用该接口 * 商户可以通过该接口删除已经成功创建的门店请商户慎重调用该接口
* 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a> * 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a>
* 接口格式http://api.weixin.qq.com/cgi-bin/poi/delpoi?access_token=TOKEN
* </pre> * </pre>
* @param poiId 门店Id * @param poiId 门店Id
* @throws WxErrorException * @throws WxErrorException
@ -57,6 +59,7 @@ public interface WxMpStoreService {
* 查询门店列表(指定查询起始位置和个数) * 查询门店列表(指定查询起始位置和个数)
* 商户可以通过该接口批量查询自己名下的门店list并获取已审核通过的poi_id所有状态均会返回poi_id但该poi_id不一定为最终id商户自身sid 用于对应商户名分店名地址字段 * 商户可以通过该接口批量查询自己名下的门店list并获取已审核通过的poi_id所有状态均会返回poi_id但该poi_id不一定为最终id商户自身sid 用于对应商户名分店名地址字段
* 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a> * 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a>
* 接口格式http://api.weixin.qq.com/cgi-bin/poi/getpoilist?access_token=TOKEN
* </pre> * </pre>
* @param begin 开始位置0 即为从第一条开始查询 * @param begin 开始位置0 即为从第一条开始查询
* @param limit 返回数据条数最大允许50默认为20 * @param limit 返回数据条数最大允许50默认为20
@ -69,6 +72,7 @@ public interface WxMpStoreService {
* 查询门店列表所有 * 查询门店列表所有
* 商户可以通过该接口批量查询自己名下的门店list并获取已审核通过的poi_id所有状态均会返回poi_id但该poi_id不一定为最终id商户自身sid 用于对应商户名分店名地址字段 * 商户可以通过该接口批量查询自己名下的门店list并获取已审核通过的poi_id所有状态均会返回poi_id但该poi_id不一定为最终id商户自身sid 用于对应商户名分店名地址字段
* 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a> * 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a>
* 接口格式http://api.weixin.qq.com/cgi-bin/poi/getpoilist?access_token=TOKEN
* </pre> * </pre>
* @throws WxErrorException * @throws WxErrorException
*/ */
@ -79,9 +83,21 @@ public interface WxMpStoreService {
* 修改门店服务信息 * 修改门店服务信息
* 商户可以通过该接口修改门店的服务信息包括sid图片列表营业时间推荐特色服务简介人均价格电话8个字段名称坐标地址等不可修改修改后需要人工审核 * 商户可以通过该接口修改门店的服务信息包括sid图片列表营业时间推荐特色服务简介人均价格电话8个字段名称坐标地址等不可修改修改后需要人工审核
* 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a> * 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a>
* 接口格式http://api.weixin.qq.com/cgi-bin/poi/updatepoi?access_token=TOKEN
* </pre> * </pre>
* @throws WxErrorException * @throws WxErrorException
*/ */
void update(WxMpStoreBaseInfo info) throws WxErrorException; void update(WxMpStoreBaseInfo info) throws WxErrorException;
/**
* <pre>
* 门店类目表
* 类目名称接口是为商户提供自己门店类型信息的接口门店类目定位的越规范能够精准的吸引更多用户提高曝光率
* 详情请见: <a href="https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444378120&token=&lang=zh_CN">微信门店接口</a>
* 接口格式http://api.weixin.qq.com/cgi-bin/poi/getwxcategory?access_token=TOKEN
* </pre>
* @throws WxErrorException
*/
List<String> listCategories() throws WxErrorException;
} }

View File

@ -3,6 +3,7 @@ package me.chanjar.weixin.mp.api.impl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.JsonParser; import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import me.chanjar.weixin.common.annotation.Required; import me.chanjar.weixin.common.annotation.Required;
import me.chanjar.weixin.common.bean.result.WxError; import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.common.exception.WxErrorException;
@ -11,6 +12,7 @@ import me.chanjar.weixin.mp.api.WxMpStoreService;
import me.chanjar.weixin.mp.bean.store.WxMpStoreBaseInfo; import me.chanjar.weixin.mp.bean.store.WxMpStoreBaseInfo;
import me.chanjar.weixin.mp.bean.store.WxMpStoreInfo; import me.chanjar.weixin.mp.bean.store.WxMpStoreInfo;
import me.chanjar.weixin.mp.bean.store.WxMpStoreListResult; import me.chanjar.weixin.mp.bean.store.WxMpStoreListResult;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import org.joor.Reflect; import org.joor.Reflect;
import java.lang.reflect.Field; import java.lang.reflect.Field;
@ -139,4 +141,18 @@ public class WxMpStoreServiceImpl implements WxMpStoreService {
} }
} }
@Override
public List<String> listCategories() throws WxErrorException {
String url = API_BASE_URL + "/getwxcategory";
String response = this.wxMpService.get(url, null);
WxError wxError = WxError.fromJson(response);
if (wxError.getErrorCode() != 0) {
throw new WxErrorException(wxError);
}
return WxMpGsonBuilder.create().fromJson(
new JsonParser().parse(response).getAsJsonObject().get("category_list"),
new TypeToken<List<String>>(){}.getType());
}
} }

View File

@ -56,6 +56,12 @@ public class WxMpStoreServiceImplTest {
this.wxMpService.getStoreService().delete("463558057"); this.wxMpService.getStoreService().delete("463558057");
} }
public void testListCategories() throws WxErrorException {
List<String> result = this.wxMpService.getStoreService().listCategories();
assertNotNull(result);
System.err.println(result);
}
public void testList() throws WxErrorException { public void testList() throws WxErrorException {
WxMpStoreListResult result = this.wxMpService.getStoreService().list(0, 10); WxMpStoreListResult result = this.wxMpService.getStoreService().list(0, 10);
assertNotNull(result); assertNotNull(result);