mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-04-05 17:38:05 +08:00
🆕 #1686 微信公众号增加对话能力(原导购助手)部分接口,如修改顾问、删除顾问、获取顾问列表等
This commit is contained in:
parent
6948044ab9
commit
9c91aeba6e
@ -2,6 +2,7 @@ package me.chanjar.weixin.mp.api;
|
||||
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.mp.bean.guide.WxMpGuideInfo;
|
||||
import me.chanjar.weixin.mp.bean.guide.WxMpGuideList;
|
||||
|
||||
/**
|
||||
* 微信导购助手(现在叫对话能力)接口.
|
||||
@ -37,6 +38,18 @@ public interface WxMpGuideService {
|
||||
*/
|
||||
void addGuide(WxMpGuideInfo guideInfo) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 修改顾问的昵称或头像
|
||||
* <pre>
|
||||
* 请求地址: POST https://api.weixin.qq.com/cgi-bin/guide/updateguideacct?access_token=ACCESS_TOKEN
|
||||
* 文档地址:https://developers.weixin.qq.com/doc/offiaccount/Shopping_Guide/guide-account/shopping-guide.updateGuideAcct.html
|
||||
* </pre>
|
||||
*
|
||||
* @param guideInfo 顾问信息
|
||||
* @throws WxErrorException .
|
||||
*/
|
||||
void updateGuide(WxMpGuideInfo guideInfo) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取顾问信息
|
||||
*
|
||||
@ -51,4 +64,33 @@ public interface WxMpGuideService {
|
||||
* @throws WxErrorException .
|
||||
*/
|
||||
WxMpGuideInfo getGuide(String account, String openid) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 删除顾问
|
||||
*
|
||||
* <pre>
|
||||
* 请求地址: POST https://api.weixin.qq.com/cgi-bin/guide/delguideacct?access_token=ACCESS_TOKEN
|
||||
* 文档地址:https://developers.weixin.qq.com/doc/offiaccount/Shopping_Guide/guide-account/shopping-guide.delGuideAcct.html
|
||||
* </pre>
|
||||
*
|
||||
* @param account 顾问微信号(guide_account和guide_openid二选一,若同时请求,默认为guide_account)
|
||||
* @param openid 顾问openid或者unionid(guide_account和guide_openid二选一)
|
||||
* @throws WxErrorException .
|
||||
*/
|
||||
void delGuide(String account, String openid) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取服务号顾问列表
|
||||
*
|
||||
* <pre>
|
||||
* 请求地址: POST https://api.weixin.qq.com/cgi-bin/guide/getguideacctlist?access_token=ACCESS_TOKEN
|
||||
* 文档地址:https://developers.weixin.qq.com/doc/offiaccount/Shopping_Guide/guide-account/shopping-guide.getGuideAcctList.html
|
||||
* </pre>
|
||||
*
|
||||
* @param page 分页页数,从0开始
|
||||
* @param num 每页数量
|
||||
* @return 顾问信息列表
|
||||
* @throws WxErrorException .
|
||||
*/
|
||||
WxMpGuideList listGuide(int page, int num) throws WxErrorException;
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import me.chanjar.weixin.common.util.json.GsonHelper;
|
||||
import me.chanjar.weixin.mp.api.WxMpGuideService;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.guide.WxMpGuideInfo;
|
||||
import me.chanjar.weixin.mp.bean.guide.WxMpGuideList;
|
||||
import me.chanjar.weixin.mp.enums.WxMpApiUrl;
|
||||
|
||||
/**
|
||||
@ -35,9 +36,31 @@ public class WxMpGuideServiceImpl implements WxMpGuideService {
|
||||
OPENID, guideInfo.getOpenid()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateGuide(WxMpGuideInfo guideInfo) throws WxErrorException {
|
||||
this.mpService.post(WxMpApiUrl.Guide.UPDATE_GUIDE,
|
||||
GsonHelper.buildJsonObject(ACCOUNT, guideInfo.getAccount(),
|
||||
"guide_headimgurl", guideInfo.getHeadImgUrl(),
|
||||
"guide_nickname", guideInfo.getNickName(),
|
||||
OPENID, guideInfo.getOpenid()));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxMpGuideInfo getGuide(String account, String openid) throws WxErrorException {
|
||||
return WxMpGuideInfo.fromJson(this.mpService.post(WxMpApiUrl.Guide.GET_GUIDE,
|
||||
GsonHelper.buildJsonObject(ACCOUNT, account, OPENID, openid)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delGuide(String account, String openid) throws WxErrorException {
|
||||
this.mpService.post(WxMpApiUrl.Guide.DEL_GUIDE,
|
||||
GsonHelper.buildJsonObject(ACCOUNT, account, OPENID, openid));
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxMpGuideList listGuide(int page, int num) throws WxErrorException {
|
||||
return WxMpGuideList.fromJson(this.mpService.post(WxMpApiUrl.Guide.LIST_GUIDE,
|
||||
GsonHelper.buildJsonObject("page", page, "num", num)));
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,34 @@
|
||||
package me.chanjar.weixin.mp.bean.guide;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 顾问列表.
|
||||
*
|
||||
* @author <a href="https://github.com/binarywang">Binary Wang</a>
|
||||
* @date 2020-10-07
|
||||
*/
|
||||
@Data
|
||||
public class WxMpGuideList implements Serializable {
|
||||
private static final long serialVersionUID = 144044550239346216L;
|
||||
|
||||
/**
|
||||
* 顾问总数量
|
||||
*/
|
||||
@SerializedName("total_num")
|
||||
private Integer totalNum;
|
||||
|
||||
/**
|
||||
* 顾问列表
|
||||
*/
|
||||
private List<WxMpGuideInfo> list;
|
||||
|
||||
public static WxMpGuideList fromJson(String json) {
|
||||
return WxGsonBuilder.create().fromJson(json, WxMpGuideList.class);
|
||||
}
|
||||
}
|
@ -569,7 +569,7 @@ public class WxMpXmlMessage implements Serializable {
|
||||
* 审核成功时的时间(整形),时间戳
|
||||
*/
|
||||
@XStreamAlias("SuccTime")
|
||||
private Long succTime;
|
||||
private Long successTime;
|
||||
|
||||
/**
|
||||
* 审核失败的原因
|
||||
|
@ -141,4 +141,14 @@ public class WxMpEventConstants {
|
||||
public static final String CLOUD_INVOICE_INVOICERESULT_EVENT = "cloud_invoice_invoiceresult_event";
|
||||
}
|
||||
|
||||
/**
|
||||
* 对话助手相关事件
|
||||
*/
|
||||
public static class Guide {
|
||||
/**
|
||||
* 顾问邀请结果通知事件.
|
||||
*/
|
||||
public static final String GUIDE_INVITE_RESULT_EVENT = "guide_invite_result_event";
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1166,11 +1166,22 @@ public interface WxMpApiUrl {
|
||||
* 添加顾问
|
||||
*/
|
||||
ADD_GUIDE(API_DEFAULT_HOST_URL, "/cgi-bin/guide/addguideacct"),
|
||||
|
||||
/**
|
||||
* 修改顾问
|
||||
*/
|
||||
UPDATE_GUIDE(API_DEFAULT_HOST_URL, "/cgi-bin/guide/updateguideacct"),
|
||||
/**
|
||||
* 获取顾问信息
|
||||
*/
|
||||
GET_GUIDE(API_DEFAULT_HOST_URL, "/cgi-bin/guide/getguideacct");
|
||||
GET_GUIDE(API_DEFAULT_HOST_URL, "/cgi-bin/guide/getguideacct"),
|
||||
/**
|
||||
* 删除顾问
|
||||
*/
|
||||
DEL_GUIDE(API_DEFAULT_HOST_URL, "/cgi-bin/guide/delguideacct"),
|
||||
/**
|
||||
* 获取服务号顾问列表
|
||||
*/
|
||||
LIST_GUIDE(API_DEFAULT_HOST_URL, "/cgi-bin/guide/getguideacctlist");
|
||||
private final String prefix;
|
||||
private final String path;
|
||||
|
||||
|
@ -5,6 +5,7 @@ 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.guide.WxMpGuideInfo;
|
||||
import me.chanjar.weixin.mp.bean.guide.WxMpGuideList;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@ -23,17 +24,33 @@ public class WxMpGuideServiceImplTest {
|
||||
|
||||
@Test
|
||||
public void testAddGuide() throws WxErrorException {
|
||||
this.wxService.getGuideService().addGuide("abc", "", null, null);
|
||||
this.wxService.getGuideService().addGuide("wx1java", "", null, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddGuide_another() throws WxErrorException {
|
||||
this.wxService.getGuideService().addGuide(WxMpGuideInfo.builder().account("cde").build());
|
||||
this.wxService.getGuideService().addGuide(WxMpGuideInfo.builder().account("wx1java").build());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetGuide() throws WxErrorException {
|
||||
final WxMpGuideInfo guideInfo = this.wxService.getGuideService().getGuide("abc", null);
|
||||
final WxMpGuideInfo guideInfo = this.wxService.getGuideService().getGuide("wx1java", null);
|
||||
assertThat(guideInfo).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateGuide() throws WxErrorException {
|
||||
this.wxService.getGuideService().updateGuide(WxMpGuideInfo.builder().account("wx1java").nickName("我是谁").build());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDelGuide() throws WxErrorException {
|
||||
this.wxService.getGuideService().delGuide("wx1java", null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListGuide() throws WxErrorException {
|
||||
final WxMpGuideList guideList = this.wxService.getGuideService().listGuide(0, 10);
|
||||
assertThat(guideList).isNotNull();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user