1
0
mirror of synced 2025-12-20 23:58:05 +08:00

增加会员卡管理服务的更新会员信息接口的实现 (#283)

* 修复UserInfo反序列化的bug,补充其单元测试

* 增加`更新会员信息`接口的实现

* 增加会员卡相关接口的测试类  包含下述方法: 1. 会员卡激活接口 2. 会员信息获取接口 3. 更新会员信息接口
This commit is contained in:
mgcnrx11
2017-07-15 18:53:23 +08:00
committed by Binary Wang
parent 22287a482d
commit 9368177d00
12 changed files with 574 additions and 4 deletions

View File

@@ -0,0 +1,61 @@
package me.chanjar.weixin.mp.api.impl;
import com.google.inject.Inject;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.api.test.ApiTestModule;
import me.chanjar.weixin.mp.bean.membercard.WxMpMemberCardActivatedMessage;
import me.chanjar.weixin.mp.bean.membercard.WxMpMemberCardUpdateMessage;
import me.chanjar.weixin.mp.bean.membercard.WxMpMemberCardUpdateResult;
import me.chanjar.weixin.mp.bean.membercard.WxMpMemberCardUserInfoResult;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;
import static org.testng.AssertJUnit.assertNotNull;
/**
* 会员卡相关接口的测试类。
* 数据均为测试数据,由于直接与调用微信的接口,需要填写真实数据进行测试才能通过。
*/
@Test
@Guice(modules = ApiTestModule.class)
public class WxMpMemberCardServiceImplTest {
@Inject
protected WxMpService wxService;
private String cardId = "abc";
private String code = "123";
private String openId = "xyz";
@Test
public void testActivateMemberCard() throws Exception {
WxMpMemberCardActivatedMessage activatedMessage = new WxMpMemberCardActivatedMessage();
activatedMessage.setMembershipNumber(openId);
activatedMessage.setCode(code);
activatedMessage.setCardId(cardId);
activatedMessage.setInitBonus(2000);
activatedMessage.setInitBonusRecord("测试激活送积分");
String response = this.wxService.getMemberCardService().activateMemberCard(activatedMessage);
assertNotNull(response);
System.out.println(response);
}
@Test
public void testGetUserInfo() throws Exception {
WxMpMemberCardUserInfoResult result = this.wxService.getMemberCardService().getUserInfo(cardId, code);
assertNotNull(result);
System.out.println(result);
}
@Test
public void testUpdateUserMemberCard() throws Exception {
WxMpMemberCardUpdateMessage updateMessage = new WxMpMemberCardUpdateMessage();
updateMessage.setAddBounus(100);
updateMessage.setBonus(1000);
updateMessage.setCardId(cardId);
updateMessage.setCode(code);
WxMpMemberCardUpdateResult result = this.wxService.getMemberCardService().updateUserMemberCard(updateMessage);
assertNotNull(result);
System.out.println(result);
}
}

View File

@@ -0,0 +1,33 @@
package me.chanjar.weixin.mp.bean.membercard;
import org.testng.annotations.Test;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
/**
*
* @author YuJian
* @version 2017/7/15
*/
public class WxMpMemberCardUpdateResultTest {
@Test
public void testFromJson() throws Exception {
String json = "{\n" +
" \"errcode\": 0,\n" +
" \"errmsg\": \"ok\",\n" +
" \"result_bonus\": 100,\n" +
" \"result_balance\": 200,\n" +
" \"openid\": \"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA\"\n" +
"}";
WxMpMemberCardUpdateResult result = WxMpMemberCardUpdateResult.fromJson(json);
assertNotNull(result);
assertTrue(result.getErrorCode().equalsIgnoreCase("0"));
System.out.println(result);
}
}

View File

@@ -0,0 +1,80 @@
package me.chanjar.weixin.mp.bean.membercard;
import org.testng.annotations.Test;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
/**
*
* @author YuJian
* @version 2017/7/15
*/
public class WxMpMemberCardUserInfoResultTest {
@Test
public void testFromJson() throws Exception {
String json = "{\n" +
" \"errcode\": 0,\n" +
" \"errmsg\": \"ok\",\n" +
" \"openid\": \"obLatjjwDolFj******wNqRXw\",\n" +
" \"nickname\": \"*******\",\n" +
" \"membership_number\": \"658*****445\",\n" +
" \"bonus\": 995,\n" +
" \"sex\": \"MALE\",\n" +
" \"user_info\": {\n" +
" \"common_field_list\": [\n" +
" {\n" +
" \"name\": \"USER_FORM_INFO_FLAG_MOBILE\",\n" +
" \"value\": \"15*****518\"\n" +
" },\n" +
" {\n" +
" \"name\": \"USER_FORM_INFO_FLAG_NAME\",\n" +
" \"value\": \"HK\"\n" +
" },\n" +
" {\n" +
" \"name\": \"USER_FORM_INFO_FLAG_EDUCATION_BACKGROUND\",\n" +
" \"value\": \"研究生\"\n" +
" }\n" +
" ],\n" +
" \"custom_field_list\": [\n" +
" {\n" +
" \"name\": \"兴趣\",\n" +
" \"value\": \"钢琴\",\n" +
" \"value_list\": []\n" +
" },\n" +
" {\n" +
" \"name\": \"喜好\",\n" +
" \"value\": \"郭敬明\",\n" +
" \"value_list\": []\n" +
" },\n" +
" {\n" +
" \"name\": \"职业\",\n" +
" \"value\": \"\",\n" +
" \"value_list\": [\n" +
" \"赛车手\",\n" +
" \"旅行家\"\n" +
" ]\n" +
" }\n" +
" ]\n" +
" },\n" +
" \"user_card_status\": \"NORMAL\",\n" +
" \"has_active\": false\n" +
"}";
WxMpMemberCardUserInfoResult userInfoResult = WxMpMemberCardUserInfoResult.fromJson(json);
assertNotNull(userInfoResult);
assertFalse(userInfoResult.getHasActive());
assertTrue(userInfoResult.getSex().equalsIgnoreCase("MALE"));
assertNotNull(userInfoResult.getUserInfo());
assertNotNull(userInfoResult.getUserInfo().getCommonFieldList());
assertNotNull(userInfoResult.getUserInfo().getCustomFieldList());
assertTrue(userInfoResult.getUserInfo().getCommonFieldList().length == 3);
assertTrue(userInfoResult.getUserInfo().getCustomFieldList()[2].getValueList()[0].equalsIgnoreCase("赛车手"));
System.out.println(userInfoResult);
}
}