소스 검색

#1188 增加获取会员卡开卡链接的接口

master
S 5 년 전
committed by Binary Wang
부모
커밋
a72cdde584
2개의 변경된 파일29개의 추가작업 그리고 15개의 파일을 삭제
  1. +10
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMemberCardService.java
  2. +19
    -15
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMemberCardServiceImpl.java

+ 10
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMemberCardService.java 파일 보기

@@ -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;

/**
* 更新会员卡信息.
*


+ 19
- 15
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMemberCardServiceImpl.java 파일 보기

@@ -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


불러오는 중...
취소
저장