Browse Source

#1031 微信会员卡对象增加设置一键跳转激活类型所需字段

master
Binary Wang 5 years ago
parent
commit
fcc01030d2
6 changed files with 43 additions and 23 deletions
  1. +2
    -9
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpJedisConfigStorage.java
  2. +5
    -4
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMemberCardService.java
  3. +2
    -2
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMemberCardServiceImpl.java
  4. +18
    -6
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/MemberCard.java
  5. +9
    -2
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/MemberCardCreateRequest.java
  6. +7
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/MemberCardUpdateRequest.java

+ 2
- 9
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/config/WxCpJedisConfigStorage.java View File

@@ -9,28 +9,21 @@ import redis.clients.jedis.JedisPoolConfig;
import java.io.File;

/**
* Jedis client implementor for wechat config storage.
* <pre>
* 使用说明:本实现仅供参考,并不完整
* 使用说明:本实现仅供参考,并不完整.
* 比如为减少项目依赖,未加入redis分布式锁的实现,如有需要请自行实现。
* </pre>
*
* @author gaigeshen
*/
public class WxCpJedisConfigStorage implements WxCpConfigStorage {

/**
* Redis keys here
*/
private static final String ACCESS_TOKEN_KEY = "WX_CP_ACCESS_TOKEN";
private static final String ACCESS_TOKEN_EXPIRES_TIME_KEY = "WX_CP_ACCESS_TOKEN_EXPIRES_TIME";
private static final String JS_API_TICKET_KEY = "WX_CP_JS_API_TICKET";
private static final String JS_API_TICKET_EXPIRES_TIME_KEY = "WX_CP_JS_API_TICKET_EXPIRES_TIME";
private static final String AGENT_JSAPI_TICKET_KEY = "WX_CP_AGENT_%s_JSAPI_TICKET";
private static final String AGENT_JSAPI_TICKET_EXPIRES_TIME_KEY = "WX_CP_AGENT_%s_JSAPI_TICKET_EXPIRES_TIME";
/**
* Redis clients pool
*/

private final JedisPool jedisPool;
private volatile String corpId;
private volatile String corpSecret;


+ 5
- 4
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMemberCardService.java View File

@@ -17,14 +17,14 @@ import me.chanjar.weixin.mp.bean.membercard.*;
* @date 2018-08-30
*/
public interface WxMpMemberCardService {
String MEMBER_CARD_CREAET = "https://api.weixin.qq.com/card/create";
String MEMBER_CARD_CREATE = "https://api.weixin.qq.com/card/create";
String MEMBER_CARD_ACTIVATE = "https://api.weixin.qq.com/card/membercard/activate";
String MEMBER_CARD_USER_INFO_GET = "https://api.weixin.qq.com/card/membercard/userinfo/get";
String MEMBER_CARD_UPDATE_USER = "https://api.weixin.qq.com/card/membercard/updateuser";
/**
* 会员卡激活之微信开卡接口(wx_activate=true情况调用).
*/
String MEMBER_CARD_ACTIVATEUSERFORM = "https://api.weixin.qq.com/card/membercard/activateuserform/set";
String MEMBER_CARD_ACTIVATE_USER_FORM = "https://api.weixin.qq.com/card/membercard/activateuserform/set";

/**
* 获取会员卡开卡插件参数.
@@ -37,7 +37,8 @@ public interface WxMpMemberCardService {
String MEMBER_CARD_UPDATE = "https://api.weixin.qq.com/card/update";

/**
* 跳转型会员卡开卡字段,获取用户提交资料(wx_activate=true情况调用),开发者根据activate_ticket获取到用户填写的信息
* 跳转型会员卡开卡字段.
* 获取用户提交资料(wx_activate=true情况调用),开发者根据activate_ticket获取到用户填写的信息
*/
String MEMBER_CARD_ACTIVATE_TEMP_INFO = "https://api.weixin.qq.com/card/membercard/activatetempinfo/get";

@@ -127,7 +128,7 @@ public interface WxMpMemberCardService {
CardUpdateResult updateCardInfo(MemberCardUpdateRequest memberCardUpdateRequest) throws WxErrorException;

/**
* 解析跳转型开卡字段用户提交的资料
* 解析跳转型开卡字段用户提交的资料.
* 开发者在URL上截取ticket后须先进行urldecode
*
* @param activateTicket 用户提交的资料


+ 2
- 2
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMemberCardServiceImpl.java View File

@@ -70,7 +70,7 @@ public class WxMpMemberCardServiceImpl implements WxMpMemberCardService {
return validResult;
}

String response = this.wxMpService.post(MEMBER_CARD_CREAET, GSON.toJson(createMessageMessage));
String response = this.wxMpService.post(MEMBER_CARD_CREATE, GSON.toJson(createMessageMessage));
return WxMpCardCreateResult.fromJson(response);
}

@@ -243,7 +243,7 @@ public class WxMpMemberCardServiceImpl implements WxMpMemberCardService {

@Override
public MemberCardActivateUserFormResult setActivateUserForm(MemberCardActivateUserFormRequest userFormRequest) throws WxErrorException {
String responseContent = this.getWxMpService().post(MEMBER_CARD_ACTIVATEUSERFORM, GSON.toJson(userFormRequest));
String responseContent = this.getWxMpService().post(MEMBER_CARD_ACTIVATE_USER_FORM, GSON.toJson(userFormRequest));
return MemberCardActivateUserFormResult.fromJson(responseContent);
}



+ 18
- 6
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/MemberCard.java View File

@@ -38,12 +38,6 @@ public final class MemberCard implements Serializable {
@SerializedName("auto_activate")
private boolean autoActivate;

/**
* 是否一键开卡.
*/
@SerializedName("wx_activate")
private boolean wxActivate;

/**
* 显示积分.
*/
@@ -145,6 +139,24 @@ public final class MemberCard implements Serializable {
@SerializedName("advanced_info")
private AdvancedInfo advancedInfo;

/**
* 是否支持一键激活 ,填true或false.
*/
@SerializedName("wx_activate")
private boolean wxActivate;

/**
* 是否支持跳转型一键激活,填true或false.
*/
@SerializedName("wx_activate_after_submit")
private boolean wxActivateAfterSubmit;

/**
* 跳转型一键激活跳转的地址链接,请填写http:// 或者https://开头的链接.
*/
@SerializedName("wx_activate_after_submit_url")
private String wxActivateAfterSubmitUrl;

@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);


+ 9
- 2
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/MemberCardCreateRequest.java View File

@@ -1,13 +1,20 @@
package me.chanjar.weixin.mp.bean.card;

import java.io.Serializable;

import com.google.gson.annotations.SerializedName;
import lombok.Data;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;

import java.io.Serializable;

/**
* 创建会员卡请求对象.
*
* @author yuanqixun
*/
@Data
public class MemberCardCreateRequest implements Serializable {
private static final long serialVersionUID = -1044836608401698097L;

@SerializedName("card_type")
private String cardType = "MEMBER_CARD";



+ 7
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/MemberCardUpdateRequest.java View File

@@ -6,8 +6,15 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;

import java.io.Serializable;

/**
* 更新会员卡请求对象.
*
* @author yuanqixun
*/
@Data
public class MemberCardUpdateRequest implements Serializable {
private static final long serialVersionUID = -1025759626161614466L;

@SerializedName("card_id")
private String cardId;



Loading…
Cancel
Save