1 package com.foxinmy.weixin4j.mp.test;
2
3 import com.foxinmy.weixin4j.exception.WeixinException;
4 import com.foxinmy.weixin4j.http.weixin.ApiResult;
5 import com.foxinmy.weixin4j.model.card.CardCoupons;
6 import com.foxinmy.weixin4j.model.card.CardQR;
7 import com.foxinmy.weixin4j.model.card.CouponAdvanceInfo;
8 import com.foxinmy.weixin4j.model.card.CouponBaseInfo;
9 import com.foxinmy.weixin4j.model.card.MemberCard;
10 import com.foxinmy.weixin4j.model.card.MemberInitInfo;
11 import com.foxinmy.weixin4j.model.card.MemberUpdateInfo;
12 import com.foxinmy.weixin4j.model.card.MemberUserForm;
13 import com.foxinmy.weixin4j.model.card.MemberUserInfo;
14 import com.foxinmy.weixin4j.model.qr.QRResult;
15 import com.foxinmy.weixin4j.mp.api.CardApi;
16 import com.foxinmy.weixin4j.type.card.ActivateCommonField;
17 import com.foxinmy.weixin4j.type.card.ActivateFormFieldType;
18 import com.foxinmy.weixin4j.type.card.CardCodeType;
19 import com.foxinmy.weixin4j.type.card.CardColor;
20 import com.foxinmy.weixin4j.type.card.FieldNameType;
21
22 import org.junit.Before;
23 import org.junit.Test;
24
25
26
27
28
29
30
31 public class MemberCardTest extends TokenTest {
32
33
34
35 private CardApi cardApi;
36
37 @Before
38 public void init() {
39
40 cardApi = new CardApi(tokenManager);
41 }
42
43
44
45
46 @Test
47 public void create() throws WeixinException {
48 CouponBaseInfo.Builder builder = CardCoupons.customBase();
49
50 builder.logoUrl(
51 "http://mmbiz.qpic.cn/mmbiz_jpg/LtkLicv5iclfqzGpaDqDoMibM6FcMVTrmYXjLu7bJ1tM5MzCxNONQiaZHqrYzs0fTk2T5bLAAXLpvx32hQLmJTGBxQ/0")
52 .codeType(CardCodeType.CODE_TYPE_BARCODE).brandName("***").title("***会员卡").cardColor(CardColor.Color010).notice("请出示会员卡")
53 .description("***的会员卡的描述").quantity(10000);
54
55 builder.canShare(false).canGiveFriend(false);
56 builder.centerTitle("卡券居中按钮").centerSubTitle("显示在入口下方的提示语");
57 MemberCard.Builder memberCardBuilder = CardCoupons.customMemberCard();
58
59
60 memberCardBuilder.prerogative("会员卡特权说明").supplyBalance(true).supplyBonus(false).activateWithWx(true);
61 memberCardBuilder.customField1(FieldNameType.FIELD_NAME_TYPE_LEVEL, "等级", null);
62 memberCardBuilder.backgroundPicUrl(
63 "https://mmbiz.qlogo.cn/mmbiz/2FyQ9TURqmdibM6nYBiagZT49lSlY9Aicw4P3vsoa7dEZIYfNkiaMyzNVYT9jmYhjBbeC8jnkibwbibB5tghC5XcgysQ/0?wx_fmt=jpeg");
64
65 MemberCard memberCard = CardCoupons.createMemberCard(builder, memberCardBuilder);
66 String cardId = cardApi.createCardCoupon(memberCard);
67 System.out.println(cardId);
68 }
69
70
71 @Test
72 public void createCardQR() throws WeixinException {
73 CardQR.Builder builder = new CardQR.Builder("pn-YDwk59Ft0JSFdGqObxUccUQHw");
74 QRResult qrResult = cardApi.createCardQR(36000, builder.build());
75 String showUrl = qrResult.getShowUrl();
76 System.out.println(showUrl);
77 }
78
79
80 @Test
81 public void setMemberUserForm() throws WeixinException {
82 MemberUserForm memberUserForm = new MemberUserForm();
83 memberUserForm.setCardId("pn-YDwk59Ft0JSFdGqObxUccUQHw");
84 MemberUserForm.FormBudiler requiredForm = new MemberUserForm.FormBudiler();
85 requiredForm.canModify(false);
86 requiredForm.addCommonField(ActivateCommonField.USER_FORM_INFO_FLAG_EMAIL, ActivateCommonField.USER_FORM_INFO_FLAG_BIRTHDAY,
87 ActivateCommonField.USER_FORM_INFO_FLAG_MOBILE)
88 .addRichField(ActivateFormFieldType.FORM_FIELD_CHECK_BOX, "checkBox", "value1", "value2", "value3");
89
90 memberUserForm.setRequiredForm(requiredForm);
91 MemberUserForm.FormBudiler optionalFormBuilder = new MemberUserForm.FormBudiler();
92 optionalFormBuilder.canModify(false);
93 optionalFormBuilder.addCommonField(ActivateCommonField.USER_FORM_INFO_FLAG_IDCARD)
94 .addRichField(ActivateFormFieldType.FORM_FIELD_CHECK_BOX, "checkBoxOPt", "value1", "value2", "value3");
95 memberUserForm.setOptionalForm(optionalFormBuilder);
96 memberUserForm.setServiceStatement("会员守则","https://www.baidu.com");
97 ApiResult apiResult = cardApi.setActivateUserForm(memberUserForm);
98 }
99
100
101 @Test
102 public void getMemberUserInfo() throws WeixinException {
103 MemberUserInfo memberUserInfo = cardApi.getMemberUserInfo("pn-YDwk59Ft0JSFdGqObxUccUQHw", "270869833860");
104 System.out.println(memberUserInfo);
105 }
106
107 @Test
108 public void initMemberUser() throws WeixinException {
109 MemberInitInfo memberInitInfo = new MemberInitInfo();
110 memberInitInfo.setCardId("pn-YDwk59Ft0JSFdGqObxUccUQHw");
111 memberInitInfo.setCode("270869833860");
112 memberInitInfo.setBackgroundPicUrl("https://mmbiz.qlogo.cn/mmbiz/2FyQ9TURqmdibM6nYBiagZT49lSlY9Aicw4HnSKzouD9iaksVA8vIbFT3RuqnWDVMNZib21NDdwKn5OMVMwfSsULXGw/0?wx_fmt=jpeg");
113 memberInitInfo.setInit_custom_field_value1("铂金");
114 memberInitInfo.setInitBalance(2);
115 memberInitInfo.setInitBonus(2);
116 memberInitInfo.setInitBonusRecord("初始化积分");
117 ApiResult activate = cardApi.activateMemberCard(memberInitInfo);
118 System.out.println(activate);
119 }
120
121 @Test
122 public void updateMmemberUser() throws WeixinException {
123 MemberUpdateInfo memberUpdateInfo = new MemberUpdateInfo();
124 memberUpdateInfo.setCardId("pn-YDwk59Ft0JSFdGqObxUccUQHw");
125 memberUpdateInfo.setCode("270869833860");
126 memberUpdateInfo.setAddBalance(20);
127 memberUpdateInfo.setRecordBalance("充值");
128 memberUpdateInfo.setNOtify(true,true);
129 memberUpdateInfo.setCustomFieldValue1("至尊铂金",true);
130 cardApi.updateMemberUserInfo(memberUpdateInfo);
131 }
132
133
134 @Test
135 public void update() throws WeixinException {
136 CouponBaseInfo.Builder builder = CardCoupons.customBase();
137
138 builder.logoUrl(
139 "http://mmbiz.qpic.cn/mmbiz_jpg/LtkLicv5iclfqzGpaDqDoMibM6FcMVTrmYXjLu7bJ1tM5MzCxNONQiaZHqrYzs0fTk2T5bLAAXLpvx32hQLmJTGBxQ/0")
140 .codeType(CardCodeType.CODE_TYPE_BARCODE).brandName("***").title("***会员卡").cardColor(CardColor.Color010).notice("请出示会员卡")
141 .description("***的会员卡的描述").quantity(10000);
142
143 builder.canShare(false).canGiveFriend(false);
144 builder.centerTitle("卡券居中按钮").centerSubTitle("显示在入口下方的提示语");
145 MemberCard.Builder memberCardBuilder = CardCoupons.customMemberCard();
146
147
148 memberCardBuilder.prerogative("会员卡特权说明").supplyBalance(false).supplyBonus(false).activateWithWx(true);
149 memberCardBuilder.customField1(FieldNameType.FIELD_NAME_TYPE_LEVEL, "等级", null);
150 memberCardBuilder.backgroundPicUrl(
151 "https://mmbiz.qlogo.cn/mmbiz/2FyQ9TURqmdibM6nYBiagZT49lSlY9Aicw4P3vsoa7dEZIYfNkiaMyzNVYT9jmYhjBbeC8jnkibwbibB5tghC5XcgysQ/0?wx_fmt=jpeg");
152
153 MemberCard memberCard = CardCoupons.createMemberCard(builder, memberCardBuilder);
154 CouponAdvanceInfo.Builder advanceBuilder = new CouponAdvanceInfo.Builder();
155 advanceBuilder.slideImage("此菜品精选食材,以独特的烹饪方法,最大程度地刺激食 客的味蕾","http://mmbiz.qpic.cn/mmbiz/p98FjXy8LacgHxp3sJ3vn97bGLz0ib0Sfz1bjiaoOYA027iasqSG0sjpiby4vce3AtaPu6cIhBHkt6IjlkY9YnDsfw/0");
156 memberCard.setCouponAdvanceInfo(advanceBuilder.build());
157 Boolean cardCoupon = cardApi.updateCardCoupon("pn-YDwk59Ft0JSFdGqObxUccUQHw", memberCard);
158 System.out.println(cardCoupon);
159
160 }
161
162 }