| @@ -5,8 +5,6 @@ import org.slf4j.LoggerFactory; | |||||
| import me.chanjar.weixin.common.bean.menu.WxMenu; | import me.chanjar.weixin.common.bean.menu.WxMenu; | ||||
| import me.chanjar.weixin.common.exception.WxErrorException; | import me.chanjar.weixin.common.exception.WxErrorException; | ||||
| import me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor; | |||||
| import me.chanjar.weixin.common.util.http.SimplePostRequestExecutor; | |||||
| import me.chanjar.weixin.mp.api.WxMpMenuService; | import me.chanjar.weixin.mp.api.WxMpMenuService; | ||||
| import me.chanjar.weixin.mp.api.WxMpService; | import me.chanjar.weixin.mp.api.WxMpService; | ||||
| @@ -15,7 +13,8 @@ import me.chanjar.weixin.mp.api.WxMpService; | |||||
| */ | */ | ||||
| public class WxMpMenuServiceImpl implements WxMpMenuService { | public class WxMpMenuServiceImpl implements WxMpMenuService { | ||||
| private static final String API_URL_PREFIX = "https://api.weixin.qq.com/cgi-bin/menu"; | private static final String API_URL_PREFIX = "https://api.weixin.qq.com/cgi-bin/menu"; | ||||
| private static Logger log = LoggerFactory.getLogger(WxMpMenuServiceImpl.class); | |||||
| private static Logger log = LoggerFactory | |||||
| .getLogger(WxMpMenuServiceImpl.class); | |||||
| private WxMpService wxMpService; | private WxMpService wxMpService; | ||||
| @@ -25,36 +24,37 @@ public class WxMpMenuServiceImpl implements WxMpMenuService { | |||||
| @Override | @Override | ||||
| public void menuCreate(WxMenu menu) throws WxErrorException { | public void menuCreate(WxMenu menu) throws WxErrorException { | ||||
| String menuJson = menu.toJson(); | |||||
| String url = API_URL_PREFIX + "/create"; | |||||
| String menuJson = menu.toJson(); | |||||
| String url = API_URL_PREFIX + "/create"; | |||||
| if (menu.getMatchRule() != null) { | if (menu.getMatchRule() != null) { | ||||
| url = API_URL_PREFIX + "/addconditional"; | url = API_URL_PREFIX + "/addconditional"; | ||||
| } | |||||
| log.trace("开始创建菜单:{}", menuJson); | |||||
| String result = this.wxMpService.execute(new SimplePostRequestExecutor(), url,menuJson); | |||||
| } | |||||
| log.debug("开始创建菜单:{}", menuJson); | |||||
| String result = this.wxMpService.post(url, menuJson); | |||||
| log.debug("创建菜单:{},结果:{}", menuJson, result); | log.debug("创建菜单:{},结果:{}", menuJson, result); | ||||
| } | } | ||||
| @Override | @Override | ||||
| public void menuDelete() throws WxErrorException { | public void menuDelete() throws WxErrorException { | ||||
| String url = API_URL_PREFIX + "/delete"; | String url = API_URL_PREFIX + "/delete"; | ||||
| String result = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, null); | |||||
| String result = this.wxMpService.get(url, null); | |||||
| log.debug("删除菜单结果:{}", result); | log.debug("删除菜单结果:{}", result); | ||||
| } | } | ||||
| @Override | @Override | ||||
| public void menuDelete(String menuid) throws WxErrorException { | public void menuDelete(String menuid) throws WxErrorException { | ||||
| String url = API_URL_PREFIX + "/delconditional"; | String url = API_URL_PREFIX + "/delconditional"; | ||||
| String result = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, "menuid=" + menuid); | |||||
| log.debug("根据MeunId({})删除菜单结果:{}", menuid,result); | |||||
| String result = this.wxMpService.get(url, "menuid=" + menuid); | |||||
| log.debug("根据MeunId({})删除菜单结果:{}", menuid, result); | |||||
| } | } | ||||
| @Override | @Override | ||||
| public WxMenu menuGet() throws WxErrorException { | public WxMenu menuGet() throws WxErrorException { | ||||
| String url = API_URL_PREFIX + "/get"; | String url = API_URL_PREFIX + "/get"; | ||||
| try { | try { | ||||
| String resultContent = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, null); | |||||
| String resultContent = this.wxMpService.get(url, null); | |||||
| return WxMenu.fromJson(resultContent); | return WxMenu.fromJson(resultContent); | ||||
| } catch (WxErrorException e) { | } catch (WxErrorException e) { | ||||
| // 46003 不存在的菜单数据 | // 46003 不存在的菜单数据 | ||||
| @@ -69,11 +69,12 @@ public class WxMpMenuServiceImpl implements WxMpMenuService { | |||||
| public WxMenu menuTryMatch(String userid) throws WxErrorException { | public WxMenu menuTryMatch(String userid) throws WxErrorException { | ||||
| String url = API_URL_PREFIX + "/trymatch"; | String url = API_URL_PREFIX + "/trymatch"; | ||||
| try { | try { | ||||
| String resultContent = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, "user_id=" + userid); | |||||
| String resultContent = this.wxMpService.get(url, "user_id=" + userid); | |||||
| return WxMenu.fromJson(resultContent); | return WxMenu.fromJson(resultContent); | ||||
| } catch (WxErrorException e) { | } catch (WxErrorException e) { | ||||
| // 46003 不存在的菜单数据 46002 不存在的菜单版本 | // 46003 不存在的菜单数据 46002 不存在的菜单版本 | ||||
| if (e.getError().getErrorCode() == 46003 || e.getError().getErrorCode() == 46002) { | |||||
| if (e.getError().getErrorCode() == 46003 | |||||
| || e.getError().getErrorCode() == 46002) { | |||||
| return null; | return null; | ||||
| } | } | ||||
| throw e; | throw e; | ||||