Skip to content

Commit 2d42404

Browse files
committed
binarywang#894 完善卡券查询Code接口缺少的字段
1 parent 8ec61d1 commit 2d42404

File tree

9 files changed

+71
-31
lines changed

9 files changed

+71
-31
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpCardService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import me.chanjar.weixin.common.bean.WxCardApiSignature;
44
import me.chanjar.weixin.common.error.WxErrorException;
55
import me.chanjar.weixin.mp.bean.card.*;
6-
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
6+
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
77

88
/**
99
* 卡券相关接口
@@ -80,8 +80,8 @@ WxCardApiSignature createCardApiSignature(String... optionalSignParam) throws
8080
String decryptCardCode(String encryptCode) throws WxErrorException;
8181

8282
/**
83-
* 卡券Code查询
84-
*
83+
* 卡券Code查询.
84+
* 文档地址: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1451025272&anchor=1
8585
* @param cardId 卡券ID代表一类卡券
8686
* @param code 单张卡券的唯一标准
8787
* @param checkConsume 是否校验code核销状态,填入true和false时的code异常状态返回数据不同

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImpl.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.util.Arrays;
44
import java.util.concurrent.locks.Lock;
55

6-
import me.chanjar.weixin.mp.bean.card.*;
76
import org.apache.commons.lang3.StringUtils;
87
import org.slf4j.Logger;
98
import org.slf4j.LoggerFactory;
@@ -23,7 +22,12 @@
2322
import me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor;
2423
import me.chanjar.weixin.mp.api.WxMpCardService;
2524
import me.chanjar.weixin.mp.api.WxMpService;
26-
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
25+
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateMessage;
26+
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateResult;
27+
import me.chanjar.weixin.mp.bean.card.WxMpCardLandingPageCreateRequest;
28+
import me.chanjar.weixin.mp.bean.card.WxMpCardLandingPageCreateResult;
29+
import me.chanjar.weixin.mp.bean.card.WxMpCardQrcodeCreateResult;
30+
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
2731
import me.chanjar.weixin.mp.enums.TicketType;
2832
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
2933

@@ -148,14 +152,6 @@ public String decryptCardCode(String encryptCode) throws WxErrorException {
148152
return jsonPrimitive.getAsString();
149153
}
150154

151-
/**
152-
* 卡券Code查询.
153-
*
154-
* @param cardId 卡券ID代表一类卡券
155-
* @param code 单张卡券的唯一标准
156-
* @param checkConsume 是否校验code核销状态,填入true和false时的code异常状态返回数据不同
157-
* @return WxMpCardResult对象
158-
*/
159155
@Override
160156
public WxMpCardResult queryCardCode(String cardId, String code, boolean checkConsume) throws WxErrorException {
161157
JsonObject param = new JsonObject();

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/GrouponCard.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
package me.chanjar.weixin.mp.bean.card;
22

3+
import java.io.Serializable;
4+
35
import com.google.gson.annotations.SerializedName;
46
import lombok.Data;
7+
import lombok.EqualsAndHashCode;
58
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
69

7-
import java.io.Serializable;
8-
910
/**
1011
* .
1112
* @author leeis
1213
* @Date 2018/12/29
1314
*/
1415
@Data
16+
@EqualsAndHashCode(callSuper = false)
1517
public final class GrouponCard extends Card implements Serializable {
1618

1719
private static final long serialVersionUID = 3221312561666697005L;

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCard.java renamed to weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCard.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.chanjar.weixin.mp.bean;
1+
package me.chanjar.weixin.mp.bean.card;
22

33

44
import java.io.Serializable;
@@ -24,7 +24,11 @@ public class WxMpCard implements Serializable {
2424

2525
private String userCardStatus;
2626

27-
private Boolean canConsume;
27+
private String membershipNumber;
28+
29+
private String code;
30+
31+
private Integer bonus;
2832

2933
@Override
3034
public String toString() {

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpCardResult.java renamed to weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/card/WxMpCardResult.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
package me.chanjar.weixin.mp.bean.result;
1+
package me.chanjar.weixin.mp.bean.card;
22

33
import java.io.Serializable;
44

55
import lombok.Data;
6-
import me.chanjar.weixin.mp.bean.WxMpCard;
76
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
87

98
/**
@@ -28,6 +27,12 @@ public class WxMpCardResult implements Serializable {
2827

2928
private Boolean canConsume;
3029

30+
private String outStr;
31+
32+
private String backgroundPicUrl;
33+
34+
private String unionid;
35+
3136
@Override
3237
public String toString() {
3338
return WxMpGsonBuilder.create().toJson(this);

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpCardGsonAdapter.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package me.chanjar.weixin.mp.util.json;
22

3-
import com.google.gson.*;
4-
import me.chanjar.weixin.common.util.json.GsonHelper;
5-
import me.chanjar.weixin.mp.bean.WxMpCard;
6-
73
import java.lang.reflect.Type;
84

5+
import com.google.gson.JsonDeserializationContext;
6+
import com.google.gson.JsonDeserializer;
7+
import com.google.gson.JsonElement;
8+
import com.google.gson.JsonObject;
9+
import com.google.gson.JsonParseException;
10+
import me.chanjar.weixin.common.util.json.GsonHelper;
11+
import me.chanjar.weixin.mp.bean.card.WxMpCard;
12+
913
/**
1014
* Created by YuJian on 15/11/11.
1115
*
@@ -18,11 +22,16 @@ public class WxMpCardGsonAdapter implements JsonDeserializer<WxMpCard> {
1822
public WxMpCard deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext
1923
jsonDeserializationContext) throws JsonParseException {
2024
WxMpCard card = new WxMpCard();
25+
2126
JsonObject jsonObject = jsonElement.getAsJsonObject();
2227

2328
card.setCardId(GsonHelper.getString(jsonObject, "card_id"));
2429
card.setBeginTime(GsonHelper.getLong(jsonObject, "begin_time"));
2530
card.setEndTime(GsonHelper.getLong(jsonObject, "end_time"));
31+
card.setUserCardStatus(GsonHelper.getString(jsonObject, "user_card_status"));
32+
card.setMembershipNumber(GsonHelper.getString(jsonObject, "membership_number"));
33+
card.setCode(GsonHelper.getString(jsonObject, "code"));
34+
card.setBonus(GsonHelper.getInteger(jsonObject, "bonus"));
2635

2736
return card;
2837
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpCardResultGsonAdapter.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package me.chanjar.weixin.mp.util.json;
22

3-
import com.google.gson.*;
3+
import java.lang.reflect.Type;
4+
5+
import com.google.gson.JsonDeserializationContext;
6+
import com.google.gson.JsonDeserializer;
7+
import com.google.gson.JsonElement;
8+
import com.google.gson.JsonObject;
9+
import com.google.gson.JsonParseException;
410
import com.google.gson.reflect.TypeToken;
511
import me.chanjar.weixin.common.util.json.GsonHelper;
6-
import me.chanjar.weixin.mp.bean.WxMpCard;
7-
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
8-
9-
import java.lang.reflect.Type;
12+
import me.chanjar.weixin.mp.bean.card.WxMpCard;
13+
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
1014

1115
/**
1216
* Created by YuJian on 15/11/11.
@@ -18,13 +22,17 @@ public class WxMpCardResultGsonAdapter implements JsonDeserializer<WxMpCardResul
1822
@Override
1923
public WxMpCardResult deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
2024
WxMpCardResult cardResult = new WxMpCardResult();
25+
2126
JsonObject jsonObject = jsonElement.getAsJsonObject();
2227

2328
cardResult.setOpenId(GsonHelper.getString(jsonObject, "openid"));
2429
cardResult.setErrorCode(GsonHelper.getString(jsonObject, "errcode"));
2530
cardResult.setErrorMsg(GsonHelper.getString(jsonObject, "errmsg"));
2631
cardResult.setCanConsume(GsonHelper.getBoolean(jsonObject, "can_consume"));
2732
cardResult.setUserCardStatus(GsonHelper.getString(jsonObject, "user_card_status"));
33+
cardResult.setOutStr(GsonHelper.getString(jsonObject, "outer_str"));
34+
cardResult.setBackgroundPicUrl(GsonHelper.getString(jsonObject, "background_pic_url"));
35+
cardResult.setUnionid(GsonHelper.getString(jsonObject, "unionid"));
2836

2937
WxMpCard card = WxMpGsonBuilder.create().fromJson(jsonObject.get("card"),
3038
new TypeToken<WxMpCard>() {

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import com.google.gson.Gson;
44
import com.google.gson.GsonBuilder;
55
import me.chanjar.weixin.mp.bean.*;
6+
import me.chanjar.weixin.mp.bean.card.WxMpCard;
7+
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
68
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate;
79
import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary;
810
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;

weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImplTest.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
11
package me.chanjar.weixin.mp.api.impl;
22

3+
import org.testng.annotations.*;
4+
35
import com.google.inject.Inject;
46
import me.chanjar.weixin.common.bean.WxCardApiSignature;
57
import me.chanjar.weixin.common.error.WxErrorException;
68
import me.chanjar.weixin.mp.api.WxMpService;
79
import me.chanjar.weixin.mp.api.test.ApiTestModule;
8-
import me.chanjar.weixin.mp.bean.card.*;
9-
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
10-
import org.testng.annotations.*;
10+
import me.chanjar.weixin.mp.bean.card.BaseInfo;
11+
import me.chanjar.weixin.mp.bean.card.CashCard;
12+
import me.chanjar.weixin.mp.bean.card.CashCardCreateRequest;
13+
import me.chanjar.weixin.mp.bean.card.DateInfo;
14+
import me.chanjar.weixin.mp.bean.card.DiscountCard;
15+
import me.chanjar.weixin.mp.bean.card.DiscountCardCreateRequest;
16+
import me.chanjar.weixin.mp.bean.card.GeneralCard;
17+
import me.chanjar.weixin.mp.bean.card.GeneralCardCreateRequest;
18+
import me.chanjar.weixin.mp.bean.card.GiftCard;
19+
import me.chanjar.weixin.mp.bean.card.GiftCardCreateRequest;
20+
import me.chanjar.weixin.mp.bean.card.GrouponCard;
21+
import me.chanjar.weixin.mp.bean.card.GrouponCardCreateRequest;
22+
import me.chanjar.weixin.mp.bean.card.Sku;
23+
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateMessage;
24+
import me.chanjar.weixin.mp.bean.card.WxMpCardResult;
1125

1226
import static org.testng.AssertJUnit.*;
1327

0 commit comments

Comments
 (0)