增加会员卡管理服务的更新会员信息接口的实现 (#283)
* 修复UserInfo反序列化的bug,补充其单元测试 * 增加`更新会员信息`接口的实现 * 增加会员卡相关接口的测试类 包含下述方法: 1. 会员卡激活接口 2. 会员信息获取接口 3. 更新会员信息接口
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user