mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 02:28:25 +08:00 
			
		
		
		
	✨ #1188 增加获取会员卡开卡链接的接口
This commit is contained in:
		| @ -93,6 +93,16 @@ public interface WxMpMemberCardService { | ||||
|    */ | ||||
|   ActivatePluginParam getActivatePluginParam(String cardId, String outStr) throws WxErrorException; | ||||
|  | ||||
|   /** | ||||
|    * 获取开卡组件链接接口 | ||||
|    * | ||||
|    * @param cardId 会员卡的CardId,微信分配 | ||||
|    * @param outStr 会员卡设置商户的渠道 | ||||
|    * @return 会员卡开卡插件参数结果对象 | ||||
|    * @throws WxErrorException 接口调用失败抛出的异常 | ||||
|    */ | ||||
|   String getActivatePluginUrl(String cardId, String outStr) throws WxErrorException; | ||||
|  | ||||
|   /** | ||||
|    * 更新会员卡信息. | ||||
|    * | ||||
|  | ||||
| @ -248,26 +248,30 @@ public class WxMpMemberCardServiceImpl implements WxMpMemberCardService { | ||||
|  | ||||
|   @Override | ||||
|   public ActivatePluginParam getActivatePluginParam(String cardId, String outStr) throws WxErrorException { | ||||
|     String url = this.getActivatePluginUrl(cardId, outStr); | ||||
|     try { | ||||
|       String decodedUrl = URLDecoder.decode(url, "UTF-8"); | ||||
|       Map<String, String> resultMap = parseRequestUrl(decodedUrl); | ||||
|       ActivatePluginParam activatePluginParam = new ActivatePluginParam(); | ||||
|       activatePluginParam.setEncryptCardId(resultMap.get("encrypt_card_id")); | ||||
|       activatePluginParam.setOuterStr(resultMap.get("outer_str")); | ||||
|       activatePluginParam.setBiz(resultMap.get("biz") + "=="); | ||||
|       return activatePluginParam; | ||||
|     } catch (UnsupportedEncodingException e) { | ||||
|       e.printStackTrace(); | ||||
|     } | ||||
|     return null; | ||||
|   } | ||||
|  | ||||
|  | ||||
|   @Override | ||||
|   public String getActivatePluginUrl(String cardId, String outStr) throws WxErrorException { | ||||
|     JsonObject params = new JsonObject(); | ||||
|     params.addProperty("card_id", cardId); | ||||
|     params.addProperty("outer_str", outStr); | ||||
|     String response = this.wxMpService.post(WxMpApiUrl.MemberCard.MEMBER_CARD_ACTIVATE_URL, GSON.toJson(params)); | ||||
|     ActivatePluginParamResult result = GSON.fromJson(response, ActivatePluginParamResult.class); | ||||
|     if (0 == result.getErrcode()) { | ||||
|       String url = result.getUrl(); | ||||
|       try { | ||||
|         String decodedUrl = URLDecoder.decode(url, "UTF-8"); | ||||
|         Map<String, String> resultMap = parseRequestUrl(decodedUrl); | ||||
|         ActivatePluginParam activatePluginParam = new ActivatePluginParam(); | ||||
|         activatePluginParam.setEncryptCardId(resultMap.get("encrypt_card_id")); | ||||
|         activatePluginParam.setOuterStr(resultMap.get("outer_str")); | ||||
|         activatePluginParam.setBiz(resultMap.get("biz") + "=="); | ||||
|         return activatePluginParam; | ||||
|       } catch (UnsupportedEncodingException e) { | ||||
|         e.printStackTrace(); | ||||
|       } | ||||
|     } | ||||
|     return null; | ||||
|     return result.getUrl(); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 S
					S