#894 完善卡券查询Code接口缺少的字段

This commit is contained in:
Binary Wang 2019-01-10 19:39:30 +08:00
parent 8ec61d1328
commit 2d424040af
9 changed files with 71 additions and 31 deletions

View File

@ -3,7 +3,7 @@ package me.chanjar.weixin.mp.api;
import me.chanjar.weixin.common.bean.WxCardApiSignature;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.bean.card.*;
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
/**
* 卡券相关接口
@ -80,8 +80,8 @@ public interface WxMpCardService {
String decryptCardCode(String encryptCode) throws WxErrorException;
/**
* 卡券Code查询
*
* 卡券Code查询.
* 文档地址 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1451025272&anchor=1
* @param cardId 卡券ID代表一类卡券
* @param code 单张卡券的唯一标准
* @param checkConsume 是否校验code核销状态填入true和false时的code异常状态返回数据不同

View File

@ -3,7 +3,6 @@ package me.chanjar.weixin.mp.api.impl;
import java.util.Arrays;
import java.util.concurrent.locks.Lock;
import me.chanjar.weixin.mp.bean.card.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -23,7 +22,12 @@ import me.chanjar.weixin.common.util.crypto.SHA1;
import me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor;
import me.chanjar.weixin.mp.api.WxMpCardService;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateMessage;
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateResult;
import me.chanjar.weixin.mp.bean.card.WxMpCardLandingPageCreateRequest;
import me.chanjar.weixin.mp.bean.card.WxMpCardLandingPageCreateResult;
import me.chanjar.weixin.mp.bean.card.WxMpCardQrcodeCreateResult;
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
import me.chanjar.weixin.mp.enums.TicketType;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
@ -148,14 +152,6 @@ public class WxMpCardServiceImpl implements WxMpCardService {
return jsonPrimitive.getAsString();
}
/**
* 卡券Code查询.
*
* @param cardId 卡券ID代表一类卡券
* @param code 单张卡券的唯一标准
* @param checkConsume 是否校验code核销状态填入true和false时的code异常状态返回数据不同
* @return WxMpCardResult对象
*/
@Override
public WxMpCardResult queryCardCode(String cardId, String code, boolean checkConsume) throws WxErrorException {
JsonObject param = new JsonObject();

View File

@ -1,17 +1,19 @@
package me.chanjar.weixin.mp.bean.card;
import java.io.Serializable;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import java.io.Serializable;
/**
* .
* @author leeis
* @Date 2018/12/29
*/
@Data
@EqualsAndHashCode(callSuper = false)
public final class GrouponCard extends Card implements Serializable {
private static final long serialVersionUID = 3221312561666697005L;

View File

@ -1,4 +1,4 @@
package me.chanjar.weixin.mp.bean;
package me.chanjar.weixin.mp.bean.card;
import java.io.Serializable;
@ -24,7 +24,11 @@ public class WxMpCard implements Serializable {
private String userCardStatus;
private Boolean canConsume;
private String membershipNumber;
private String code;
private Integer bonus;
@Override
public String toString() {

View File

@ -1,9 +1,8 @@
package me.chanjar.weixin.mp.bean.result;
package me.chanjar.weixin.mp.bean.card;
import java.io.Serializable;
import lombok.Data;
import me.chanjar.weixin.mp.bean.WxMpCard;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
/**
@ -28,6 +27,12 @@ public class WxMpCardResult implements Serializable {
private Boolean canConsume;
private String outStr;
private String backgroundPicUrl;
private String unionid;
@Override
public String toString() {
return WxMpGsonBuilder.create().toJson(this);

View File

@ -1,11 +1,15 @@
package me.chanjar.weixin.mp.util.json;
import com.google.gson.*;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.mp.bean.WxMpCard;
import java.lang.reflect.Type;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.mp.bean.card.WxMpCard;
/**
* Created by YuJian on 15/11/11.
*
@ -18,11 +22,16 @@ public class WxMpCardGsonAdapter implements JsonDeserializer<WxMpCard> {
public WxMpCard deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext
jsonDeserializationContext) throws JsonParseException {
WxMpCard card = new WxMpCard();
JsonObject jsonObject = jsonElement.getAsJsonObject();
card.setCardId(GsonHelper.getString(jsonObject, "card_id"));
card.setBeginTime(GsonHelper.getLong(jsonObject, "begin_time"));
card.setEndTime(GsonHelper.getLong(jsonObject, "end_time"));
card.setUserCardStatus(GsonHelper.getString(jsonObject, "user_card_status"));
card.setMembershipNumber(GsonHelper.getString(jsonObject, "membership_number"));
card.setCode(GsonHelper.getString(jsonObject, "code"));
card.setBonus(GsonHelper.getInteger(jsonObject, "bonus"));
return card;
}

View File

@ -1,12 +1,16 @@
package me.chanjar.weixin.mp.util.json;
import com.google.gson.*;
import java.lang.reflect.Type;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.reflect.TypeToken;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.mp.bean.WxMpCard;
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
import java.lang.reflect.Type;
import me.chanjar.weixin.mp.bean.card.WxMpCard;
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
/**
* Created by YuJian on 15/11/11.
@ -18,6 +22,7 @@ public class WxMpCardResultGsonAdapter implements JsonDeserializer<WxMpCardResul
@Override
public WxMpCardResult deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
WxMpCardResult cardResult = new WxMpCardResult();
JsonObject jsonObject = jsonElement.getAsJsonObject();
cardResult.setOpenId(GsonHelper.getString(jsonObject, "openid"));
@ -25,6 +30,9 @@ public class WxMpCardResultGsonAdapter implements JsonDeserializer<WxMpCardResul
cardResult.setErrorMsg(GsonHelper.getString(jsonObject, "errmsg"));
cardResult.setCanConsume(GsonHelper.getBoolean(jsonObject, "can_consume"));
cardResult.setUserCardStatus(GsonHelper.getString(jsonObject, "user_card_status"));
cardResult.setOutStr(GsonHelper.getString(jsonObject, "outer_str"));
cardResult.setBackgroundPicUrl(GsonHelper.getString(jsonObject, "background_pic_url"));
cardResult.setUnionid(GsonHelper.getString(jsonObject, "unionid"));
WxMpCard card = WxMpGsonBuilder.create().fromJson(jsonObject.get("card"),
new TypeToken<WxMpCard>() {

View File

@ -3,6 +3,8 @@ package me.chanjar.weixin.mp.util.json;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import me.chanjar.weixin.mp.bean.*;
import me.chanjar.weixin.mp.bean.card.WxMpCard;
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate;
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary;
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;

View File

@ -1,13 +1,27 @@
package me.chanjar.weixin.mp.api.impl;
import org.testng.annotations.*;
import com.google.inject.Inject;
import me.chanjar.weixin.common.bean.WxCardApiSignature;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.test.ApiTestModule;
import me.chanjar.weixin.mp.bean.card.*;
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
import org.testng.annotations.*;
import me.chanjar.weixin.mp.bean.card.BaseInfo;
import me.chanjar.weixin.mp.bean.card.CashCard;
import me.chanjar.weixin.mp.bean.card.CashCardCreateRequest;
import me.chanjar.weixin.mp.bean.card.DateInfo;
import me.chanjar.weixin.mp.bean.card.DiscountCard;
import me.chanjar.weixin.mp.bean.card.DiscountCardCreateRequest;
import me.chanjar.weixin.mp.bean.card.GeneralCard;
import me.chanjar.weixin.mp.bean.card.GeneralCardCreateRequest;
import me.chanjar.weixin.mp.bean.card.GiftCard;
import me.chanjar.weixin.mp.bean.card.GiftCardCreateRequest;
import me.chanjar.weixin.mp.bean.card.GrouponCard;
import me.chanjar.weixin.mp.bean.card.GrouponCardCreateRequest;
import me.chanjar.weixin.mp.bean.card.Sku;
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateMessage;
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
import static org.testng.AssertJUnit.*;