Browse Source

🆕 #1328 微信卡劵增加用户已领取卡券列表接口

* 微信公众号,功能新增,微信卡券
添加用户已领取卡券接口

* 添加用户已领取卡券接口测试代码
dev1
yang229 5 years ago
committed by Binary Wang
parent
commit
5761226887
6 changed files with 107 additions and 0 deletions
  1. +11
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpCardService.java
  2. +10
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImpl.java
  3. +34
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/UserCard.java
  4. +38
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxUserCardListResult.java
  5. +5
    -0
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/WxMpApiUrl.java
  6. +9
    -0
      weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImplTest.java

+ 11
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpCardService.java View File

@@ -283,4 +283,15 @@ public interface WxMpCardService {
void cardSelfConsumeCellSet(String cardId, Boolean isOpen,
Boolean needVerifyCod, Boolean needRemarkAmount) throws WxErrorException;

/**
* 获取用户已领取卡券接口
* https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Managing_Coupons_Vouchers_and_Cards.html#1
*
* @param openId 需要查询的用户openid
* @param cardId 卡券ID。不填写时默认查询当前appid下的卡券
* @return
* @throws WxErrorException
*/
WxUserCardListResult getUserCardList(String openId, String cardId) throws WxErrorException;

}

+ 10
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImpl.java View File

@@ -351,6 +351,16 @@ public class WxMpCardServiceImpl implements WxMpCardService {
}


@Override
public WxUserCardListResult getUserCardList(String openId, String cardId) throws WxErrorException {
JsonObject param = new JsonObject();
param.addProperty("openid", openId);
param.addProperty("card_id", cardId);
String response = this.wxMpService.post(WxMpApiUrl.Card.CARD_USER_CARD_LIST, param.toString());
return WxUserCardListResult.fromJson(response);
}


private void checkCardId(String cardId) throws WxErrorException {
if (StringUtils.isEmpty(cardId)) {
throw new WxErrorException(WxError.builder().errorCode(41012).errorMsg("cardId不能为空").build());


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

@@ -0,0 +1,34 @@
package me.chanjar.weixin.mp.bean.card;

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

/**
* 用户已领卡圈对象
* @author yang229
* @date 2019/12/22
*/
@Data
public class UserCard implements java.io.Serializable {
/**
* 用户卡券code码
*/
@SerializedName("code")
private String code;

/**
* 卡券ID
*/
@SerializedName("card_id")
private String cardId;

public static UserCard fromJson(String json) {
return WxMpGsonBuilder.create().fromJson(json, UserCard.class);
}

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

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

@@ -0,0 +1,38 @@
package me.chanjar.weixin.mp.bean.card;

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

import java.util.List;

/**
* 用户已领卡券返回
* @author yang229
* @date 2019/12/22
*/
@Data
public class WxUserCardListResult extends WxMpResult implements java.io.Serializable {

/**
* 卡券列表
*/
@SerializedName("card_list")
private List<UserCard> cardList;

/**
* 是否有可用的朋友的券
*/
@SerializedName("has_share_card")
private Boolean hasShareCard;

public static WxUserCardListResult fromJson(String json) {
return WxMpGsonBuilder.create().fromJson(json, WxUserCardListResult.class);
}

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

+ 5
- 0
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/enums/WxMpApiUrl.java View File

@@ -596,6 +596,11 @@ public interface WxMpApiUrl {
* 设置自助核销接口
*/
CARD_SELF_CONSUME_CELL_SET(API_DEFAULT_HOST_URL, "/card/selfconsumecell/set"),

/**
* 获取用户已领取卡券接口
*/
CARD_USER_CARD_LIST(API_DEFAULT_HOST_URL, "/card/user/getcardlist"),
;

private String prefix;


+ 9
- 0
weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImplTest.java View File

@@ -227,4 +227,13 @@ public class WxMpCardServiceImplTest {
@Test
public void testCreateLandingPage() {
}

@Test
public void testGetUserCardList() throws WxErrorException {
String openId = "ou7Gr5sJZgFGgj38sRCNQg5pc3Fc";
String cardId = "pu7Gr5secJXPkxBeuYUhmp8TYsuY";
WxUserCardListResult result = this.wxService.getCardService().getUserCardList(openId, cardId);
assertTrue(result.isSuccess());
System.out.println(result);
}
}

Loading…
Cancel
Save