mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-04-05 17:38:05 +08:00
#900 增加新增团购券、现金抵扣券、折扣券、兑换券以及普通优惠券的接口
This commit is contained in:
parent
556085997d
commit
6a2ff801f0
@ -2,9 +2,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.WxMpCardLandingPageCreateRequest;
|
||||
import me.chanjar.weixin.mp.bean.card.WxMpCardLandingPageCreateResult;
|
||||
import me.chanjar.weixin.mp.bean.card.WxMpCardQrcodeCreateResult;
|
||||
import me.chanjar.weixin.mp.bean.card.*;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
|
||||
|
||||
/**
|
||||
@ -14,6 +12,7 @@ import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
|
||||
* @author yuanqixun 2018-08-29
|
||||
*/
|
||||
public interface WxMpCardService {
|
||||
String CARD_CREATE = "https://api.weixin.qq.com/card/create";
|
||||
String CARD_GET = "https://api.weixin.qq.com/card/get";
|
||||
String CARD_GET_TICKET = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=wx_card";
|
||||
String CARD_CODE_DECRYPT = "https://api.weixin.qq.com/card/code/decrypt";
|
||||
@ -142,6 +141,14 @@ public interface WxMpCardService {
|
||||
*/
|
||||
String addTestWhiteList(String openid) throws WxErrorException;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param cardCreateMessage
|
||||
* @return
|
||||
* @throws WxErrorException
|
||||
*/
|
||||
WxMpCardCreateResult createCard(WxMpCardCreateMessage cardCreateMessage) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 创建卡券二维码
|
||||
*
|
||||
|
@ -3,6 +3,7 @@ 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;
|
||||
@ -22,9 +23,6 @@ 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.card.WxMpCardLandingPageCreateRequest;
|
||||
import me.chanjar.weixin.mp.bean.card.WxMpCardLandingPageCreateResult;
|
||||
import me.chanjar.weixin.mp.bean.card.WxMpCardQrcodeCreateResult;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpCardResult;
|
||||
import me.chanjar.weixin.mp.enums.TicketType;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
@ -265,6 +263,13 @@ public class WxMpCardServiceImpl implements WxMpCardService {
|
||||
return respone;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxMpCardCreateResult createCard(WxMpCardCreateMessage cardCreateMessage) throws WxErrorException {
|
||||
|
||||
String response = this.wxMpService.post(CARD_CREATE, GSON.toJson(cardCreateMessage));
|
||||
return WxMpCardCreateResult.fromJson(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建卡券二维码.
|
||||
*/
|
||||
|
@ -0,0 +1,31 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public class Card implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -3697110761983756780L;
|
||||
|
||||
/**
|
||||
* 基本信息.
|
||||
*/
|
||||
@SerializedName("base_info")
|
||||
private BaseInfo baseInfo;
|
||||
|
||||
/**
|
||||
* 创建优惠券特有的高级字段.
|
||||
*/
|
||||
@SerializedName("advanced_info")
|
||||
private AdvancedInfo advancedInfo;
|
||||
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public class CardCreateRequest implements Serializable {
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public final class CashCard extends Card implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 6965491956462769745L;
|
||||
|
||||
/**
|
||||
* 代金券专用,表示起用金额(单位为分),如果无起用门槛则填0
|
||||
*/
|
||||
@SerializedName("least_cost")
|
||||
private int leastCost;
|
||||
|
||||
/**
|
||||
* 代金券专用,表示减免金额。(单位为分)
|
||||
*/
|
||||
@SerializedName("reduce_cost")
|
||||
private int reduceCost;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
public static CashCard fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(json, CashCard.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public class CashCardCreateRequest extends CardCreateRequest implements Serializable {
|
||||
@SerializedName("card_type")
|
||||
private String cardType = "CASH";
|
||||
|
||||
private CashCard cash;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public final class DiscountCard extends Card implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1704610082472315077L;
|
||||
|
||||
/**
|
||||
* 折扣券专用,表示打折额度(百分比)。填30就是七折。
|
||||
*/
|
||||
private int discount;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
public static DiscountCard fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(json, DiscountCard.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public class DiscountCardCreateRequest extends CardCreateRequest implements Serializable {
|
||||
@SerializedName("card_type")
|
||||
private String cardType = "DISCOUNT";
|
||||
|
||||
private DiscountCard discount;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public final class GeneralCard extends Card implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -1577656733441132585L;
|
||||
|
||||
/**
|
||||
* 兑换券专用,填写兑换内容的名称。
|
||||
*/
|
||||
@SerializedName("default_detail")
|
||||
private String defaultDetail;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
public static GeneralCard fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(json, GeneralCard.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public class GeneralCardCreateRequest extends CardCreateRequest implements Serializable {
|
||||
@SerializedName("card_type")
|
||||
private String cardType = "GENERAL_COUPON";
|
||||
|
||||
@SerializedName("general_coupon")
|
||||
private GeneralCard generalCoupon;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public final class GiftCard extends Card implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6168739707511792266L;
|
||||
|
||||
/**
|
||||
* 兑换券专用,填写兑换内容的名称。
|
||||
*/
|
||||
private String gift;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
public static GiftCard fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(json, GiftCard.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public class GiftCardCreateRequest extends CardCreateRequest implements Serializable {
|
||||
@SerializedName("card_type")
|
||||
private String cardType = "GIFT";
|
||||
|
||||
private GiftCard gift;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public final class GrouponCard extends Card implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3221312561666697005L;
|
||||
|
||||
/**
|
||||
* 团购券专用,团购详情
|
||||
*/
|
||||
@SerializedName("deal_detail")
|
||||
private String dealDetail;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
public static GrouponCard fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(json, GrouponCard.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* .
|
||||
* @author leeis
|
||||
* @Date 2018/12/29
|
||||
*/
|
||||
@Data
|
||||
public class GrouponCardCreateRequest extends CardCreateRequest implements Serializable {
|
||||
@SerializedName("card_type")
|
||||
private String cardType = "GROUPON";
|
||||
|
||||
private GrouponCard groupon;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package me.chanjar.weixin.mp.bean.card;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public final class WxMpCardCreateMessage implements Serializable {
|
||||
|
||||
@SerializedName("card")
|
||||
private CardCreateRequest cardCreateRequest;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return WxMpGsonBuilder.create().toJson(this);
|
||||
}
|
||||
|
||||
public static WxMpCardCreateMessage fromJson(String json) {
|
||||
return WxMpGsonBuilder.create().fromJson(json, WxMpCardCreateMessage.class);
|
||||
}
|
||||
}
|
@ -2,8 +2,10 @@ package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
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.*;
|
||||
|
||||
@ -100,4 +102,98 @@ public class WxMpCardServiceImplTest {
|
||||
assertNotNull(result);
|
||||
System.out.println(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateGrouponCard() throws WxErrorException {
|
||||
|
||||
BaseInfo base = new BaseInfo();
|
||||
base.setLogoUrl("http://mmbiz.qpic.cn/mmbiz/iaL1LJM1mF9aRKPZJkmG8xXhiaHqkKSVMMWeN3hLut7X7hicFNjakmxibMLGWpXrEXB33367o7zHN0CwngnQY7zb7g/0");
|
||||
base.setBrandName("测试优惠券");
|
||||
base.setCodeType("CODE_TYPE_QRCODE");
|
||||
base.setTitle("测试标题");
|
||||
base.setColor("Color010");
|
||||
base.setNotice("测试Notice");
|
||||
base.setServicePhone("020-88888888");
|
||||
base.setDescription("不可与其他优惠同享\\n如需团购券发票,请在消费时向商户提出\\n店内均可使用,仅限堂食");
|
||||
DateInfo info = new DateInfo();
|
||||
info.setType("DATE_TYPE_FIX_TERM");
|
||||
info.setFixedBeginTerm(0);
|
||||
info.setFixedTerm(30);
|
||||
base.setDateInfo(info);
|
||||
Sku sku = new Sku();
|
||||
sku.setQuantity(100);
|
||||
base.setSku(sku);
|
||||
base.setGetLimit(1);
|
||||
base.setCanShare(true);
|
||||
base.setCanGiveFriend(true);
|
||||
base.setUseAllLocations(true);
|
||||
base.setCenterTitle("顶部居中按钮");
|
||||
base.setCenterSubTitle("按钮下方的wording");
|
||||
base.setCenterUrl("www.qq.com");
|
||||
base.setCustomUrl("http://www.qq.com");
|
||||
base.setCustomUrlName("立即使用");
|
||||
base.setCustomUrlSubTitle("副标题tip");
|
||||
base.setPromotionUrlName("更多优惠");
|
||||
base.setPromotionUrl("http://www.qq.com");
|
||||
base.setLocationIdList("1234");
|
||||
|
||||
//团购券
|
||||
WxMpCardCreateMessage grouponMessage = new WxMpCardCreateMessage();
|
||||
GrouponCardCreateRequest grouponCardCreateRequest = new GrouponCardCreateRequest();
|
||||
GrouponCard grouponCard = new GrouponCard();
|
||||
grouponCard.setBaseInfo(base);
|
||||
grouponCard.setDealDetail("deal detail");
|
||||
|
||||
grouponCardCreateRequest.setGroupon(grouponCard);
|
||||
grouponMessage.setCardCreateRequest(grouponCardCreateRequest);
|
||||
|
||||
System.out.println(this.wxService.getCardService().createCard(grouponMessage));
|
||||
|
||||
//现金券
|
||||
WxMpCardCreateMessage cashMessage = new WxMpCardCreateMessage();
|
||||
CashCardCreateRequest cashCardCreateRequest = new CashCardCreateRequest();
|
||||
CashCard cashCard = new CashCard();
|
||||
cashCard.setBaseInfo(base);
|
||||
cashCard.setLeastCost(1000);
|
||||
cashCard.setReduceCost(100);
|
||||
|
||||
cashCardCreateRequest.setCash(cashCard);
|
||||
cashMessage.setCardCreateRequest(cashCardCreateRequest);
|
||||
|
||||
System.out.println(this.wxService.getCardService().createCard(cashMessage));
|
||||
|
||||
//折扣券
|
||||
WxMpCardCreateMessage discountMessage = new WxMpCardCreateMessage();
|
||||
DiscountCardCreateRequest discountCardCreateRequest = new DiscountCardCreateRequest();
|
||||
DiscountCard discountCard = new DiscountCard();
|
||||
discountCard.setBaseInfo(base);
|
||||
discountCard.setDiscount(30);
|
||||
|
||||
discountCardCreateRequest.setDiscount(discountCard);
|
||||
discountMessage.setCardCreateRequest(discountCardCreateRequest);
|
||||
|
||||
System.out.println(this.wxService.getCardService().createCard(discountMessage));
|
||||
|
||||
//兑换券
|
||||
WxMpCardCreateMessage giftMessage = new WxMpCardCreateMessage();
|
||||
GiftCardCreateRequest giftCardCreateRequest = new GiftCardCreateRequest();
|
||||
GiftCard giftCard = new GiftCard();
|
||||
giftCard.setBaseInfo(base);
|
||||
giftCard.setGift("星巴克雪瑞纳咖啡大杯");
|
||||
|
||||
giftCardCreateRequest.setGift(giftCard);
|
||||
giftMessage.setCardCreateRequest(giftCardCreateRequest);
|
||||
System.out.println(this.wxService.getCardService().createCard(giftMessage));
|
||||
|
||||
//普通兑换券
|
||||
WxMpCardCreateMessage generalMessage = new WxMpCardCreateMessage();
|
||||
GeneralCardCreateRequest generalCardCreateRequest = new GeneralCardCreateRequest();
|
||||
GeneralCard generalCard = new GeneralCard();
|
||||
generalCard.setBaseInfo(base);
|
||||
generalCard.setDefaultDetail("音乐木盒");
|
||||
|
||||
generalCardCreateRequest.setGeneralCoupon(generalCard);
|
||||
generalMessage.setCardCreateRequest(generalCardCreateRequest);
|
||||
System.out.println(this.wxService.getCardService().createCard(generalMessage));
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
|
||||
import me.chanjar.weixin.open.bean.WxOpenCreateResult;
|
||||
import me.chanjar.weixin.open.bean.WxOpenMaCodeTemplate;
|
||||
import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage;
|
||||
import me.chanjar.weixin.open.bean.result.WxOpenAuthorizerInfoResult;
|
||||
@ -42,6 +43,8 @@ public interface WxOpenComponentService {
|
||||
|
||||
String MINIAPP_JSCODE_2_SESSION = "https://api.weixin.qq.com/sns/component/jscode2session?appid=%s&js_code=%s&grant_type=authorization_code&component_appid=%s";
|
||||
|
||||
String CREATE_OPEN_URL= "https://api.weixin.qq.com/cgi-bin/open/create";
|
||||
|
||||
WxMpService getWxMpServiceByAppid(String appid);
|
||||
|
||||
/**
|
||||
@ -168,4 +171,15 @@ public interface WxOpenComponentService {
|
||||
* @see #getTemplateList
|
||||
*/
|
||||
void deleteTemplate(long templateId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1498704199_1bcax&token=6df5e3650041eff2cd3ec3662425ad8d7beec8d9&lang=zh_CN
|
||||
* 创建 开放平台帐号并绑定公众号/小程序
|
||||
*
|
||||
* https://api.weixin.qq.com/cgi-bin/open/create
|
||||
*
|
||||
* @param appId 公众号/小程序的appId
|
||||
* @return
|
||||
*/
|
||||
WxOpenCreateResult createOpenAccount(String appId) throws WxErrorException;
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ import me.chanjar.weixin.open.api.WxOpenMaService;
|
||||
import me.chanjar.weixin.open.api.WxOpenService;
|
||||
import me.chanjar.weixin.open.bean.WxOpenAuthorizerAccessToken;
|
||||
import me.chanjar.weixin.open.bean.WxOpenComponentAccessToken;
|
||||
import me.chanjar.weixin.open.bean.WxOpenCreateResult;
|
||||
import me.chanjar.weixin.open.bean.WxOpenMaCodeTemplate;
|
||||
import me.chanjar.weixin.open.bean.auth.WxOpenAuthorizationInfo;
|
||||
import me.chanjar.weixin.open.bean.message.WxOpenXmlMessage;
|
||||
@ -387,4 +388,14 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService {
|
||||
param.addProperty("template_id", templateId);
|
||||
post(DELETE_TEMPLATE_URL, param.toString(), "access_token");
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxOpenCreateResult createOpenAccount(String appId) throws WxErrorException {
|
||||
JsonObject param = new JsonObject();
|
||||
param.addProperty("appid", appId);
|
||||
|
||||
String json = post(CREATE_OPEN_URL, param.toString(), "access_token");
|
||||
|
||||
return WxOpenCreateResult.fromJson(json);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,36 @@
|
||||
package me.chanjar.weixin.open.bean;
|
||||
|
||||
import cn.binarywang.wx.miniapp.util.json.WxMaGsonBuilder;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* code换取session_key接口的响应
|
||||
* 文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject
|
||||
* 微信返回报文:{"session_key":"nzoqhc3OnwHzeTxJs+inbQ==","openid":"oVBkZ0aYgDMDIywRdgPW8-joxXc4"}
|
||||
* </pre>
|
||||
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class WxOpenCreateResult implements Serializable {
|
||||
|
||||
@SerializedName("open_appid")
|
||||
private String openAppid;
|
||||
|
||||
@SerializedName("errcode")
|
||||
private String errcode;
|
||||
|
||||
@SerializedName("errmsg")
|
||||
private String errmsg;
|
||||
|
||||
public static WxOpenCreateResult fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxOpenCreateResult.class);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user