mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-04-05 17:38:05 +08:00
🆕 #3427【视频号】新增罗盘商家版API、微信小店合作账号API相关接口以及订单待发货消息回调
This commit is contained in:
parent
f72f748cda
commit
fae5cad694
@ -97,6 +97,7 @@
|
||||
- 微信开放平台:`weixin-java-open`
|
||||
- 公众号(包括订阅号和服务号):`weixin-java-mp`
|
||||
- 企业号/企业微信:`weixin-java-cp`
|
||||
- 视频号/微信小店:`weixin-java-channel`
|
||||
|
||||
|
||||
---------------------------------
|
||||
|
@ -89,6 +89,18 @@ public interface BaseWxChannelMessageService {
|
||||
void orderPay(OrderPayMessage message, final String content, final String appId, final Map<String, Object> context,
|
||||
final WxSessionManager sessionManager);
|
||||
|
||||
/**
|
||||
* 订单待发货
|
||||
*
|
||||
* @param message 消息
|
||||
* @param content 消息原始内容
|
||||
* @param appId appId
|
||||
* @param context 上下文
|
||||
* @param sessionManager session管理器
|
||||
*/
|
||||
void orderWaitShipping(OrderIdMessage message, final String content, final String appId, final Map<String, Object> context,
|
||||
final WxSessionManager sessionManager);
|
||||
|
||||
/**
|
||||
* 订单发货
|
||||
*
|
||||
|
@ -0,0 +1,126 @@
|
||||
package me.chanjar.weixin.channel.api;
|
||||
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderAuthListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderProductListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderProductOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopLiveListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopProductDataResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopProductListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopSaleProfileDataResponse;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
|
||||
/**
|
||||
* 视频号/微信小店 罗盘商家版服务
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
public interface WxChannelCompassShopService {
|
||||
|
||||
/**
|
||||
* 获取电商概览数据
|
||||
*
|
||||
* @param ds 日期,格式 yyyyMMdd
|
||||
* @return 电商概览数据
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
ShopOverallResponse getShopOverall(String ds) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取授权视频号列表
|
||||
*
|
||||
* @return 获取授权视频号列表
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
FinderAuthListResponse getFinderAuthorizationList() throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取带货达人列表
|
||||
*
|
||||
* @param ds 日期,格式 yyyyMMdd
|
||||
* @return 带货达人列表
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
FinderListResponse getFinderList(String ds) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取带货数据概览
|
||||
*
|
||||
* @param ds 日期,格式 yyyyMMdd
|
||||
* @return 带货数据概览
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
FinderOverallResponse getFinderOverall(String ds) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取带货达人商品列表
|
||||
*
|
||||
* @param ds 日期,格式YYYYMMDD
|
||||
* @param finderId 视频号ID
|
||||
* @return 带货达人商品列表
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
FinderProductListResponse getFinderProductList(String ds, String finderId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取带货达人详情
|
||||
*
|
||||
* @param ds 日期,格式YYYYMMDD
|
||||
* @param finderId 视频号ID
|
||||
* @return 带货达人详情
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
FinderProductOverallResponse getFinderProductOverall(String ds, String finderId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取店铺开播列表
|
||||
*
|
||||
* @param ds 日期,格式YYYYMMDD
|
||||
* @param finderId 视频号ID
|
||||
* @return 店铺开播列表
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
ShopLiveListResponse getShopLiveList(String ds, String finderId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取商品详细信息
|
||||
*
|
||||
* @param ds 日期,格式YYYYMMDD
|
||||
* @param productId 商品id
|
||||
* @return 商品详细信息
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
ShopProductDataResponse getShopProductData(String ds, String productId) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取商品列表
|
||||
*
|
||||
* @param ds 日期,格式YYYYMMDD
|
||||
* @return 商品列表
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
ShopProductListResponse getShopProductList(String ds) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取店铺人群数据
|
||||
*
|
||||
* @param ds 日期,格式 yyyyMMdd
|
||||
* @param type 用户类型,1商品曝光用户 2商品点击用户 3购买用户 4首购用户 5复购用户
|
||||
* @return 店铺人群数据
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
ShopSaleProfileDataResponse getShopSaleProfileData(String ds, Integer type) throws WxErrorException;
|
||||
|
||||
}
|
@ -98,6 +98,20 @@ public interface WxChannelService extends BaseWxChannelService {
|
||||
*/
|
||||
WxStoreHomePageService getHomePageService();
|
||||
|
||||
/**
|
||||
* 合作账号服务
|
||||
*
|
||||
* @return 团长合作服务
|
||||
*/
|
||||
WxStoreCooperationService getCooperationService();
|
||||
|
||||
/**
|
||||
* 视频号/微信小店 罗盘商家版服务
|
||||
*
|
||||
* @return 罗盘商家版服务
|
||||
*/
|
||||
WxChannelCompassShopService getCompassShopService();
|
||||
|
||||
/**
|
||||
* 优选联盟-团长合作达人管理服务
|
||||
*
|
||||
|
@ -0,0 +1,70 @@
|
||||
package me.chanjar.weixin.channel.api;
|
||||
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
import me.chanjar.weixin.channel.bean.cooperation.CooperationListResponse;
|
||||
import me.chanjar.weixin.channel.bean.cooperation.CooperationQrCodeResponse;
|
||||
import me.chanjar.weixin.channel.bean.cooperation.CooperationStatusResponse;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
|
||||
/**
|
||||
* 微信小店 合作账号相关接口
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
* @see <a href="https://developers.weixin.qq.com/doc/store/API/cooperation/">合作账号状态机</a>
|
||||
*/
|
||||
public interface WxStoreCooperationService {
|
||||
|
||||
/**
|
||||
* 获取合作账号列表
|
||||
*
|
||||
* @param sharerType 合作账号类型 2公众号 3小程序
|
||||
* @return 合作账号列表
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
CooperationListResponse listCooperation(Integer sharerType) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 获取合作账号状态
|
||||
*
|
||||
* @param sharerId 合作账号id 公众号: gh_开头id 小程序: appid
|
||||
* @param sharerType 合作账号类型 2公众号 3小程序
|
||||
* @return 合作账号状态
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
CooperationStatusResponse getCooperationStatus(String sharerId, Integer sharerType) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 生成合作账号邀请二维码
|
||||
*
|
||||
* @param sharerId 合作账号id 公众号: gh_开头id 小程序: appid
|
||||
* @param sharerType 合作账号类型 2公众号 3小程序
|
||||
* @return 二维码
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
CooperationQrCodeResponse generateQrCode(String sharerId, Integer sharerType) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 取消合作账号邀请
|
||||
*
|
||||
* @param sharerId 合作账号id 公众号: gh_开头id 小程序: appid
|
||||
* @param sharerType 合作账号类型 2公众号 3小程序
|
||||
* @return WxChannelBaseResponse
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
WxChannelBaseResponse cancelInvitation(String sharerId, Integer sharerType) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 解绑合作账号
|
||||
*
|
||||
* @param sharerId 合作账号id 公众号: gh_开头id 小程序: appid
|
||||
* @param sharerType 合作账号类型 2公众号 3小程序
|
||||
* @return WxChannelBaseResponse
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
WxChannelBaseResponse unbind(String sharerId, Integer sharerType) throws WxErrorException;
|
||||
}
|
@ -72,6 +72,8 @@ public abstract class BaseWxChannelMessageServiceImpl implements BaseWxChannelMe
|
||||
this.addRule(OrderCancelMessage.class, ORDER_CANCEL, this::orderCancel);
|
||||
/* 订单支付成功 */
|
||||
this.addRule(OrderPayMessage.class, ORDER_PAY, this::orderPay);
|
||||
/* 订单待发货 */
|
||||
this.addRule(OrderIdMessage.class, ORDER_WAIT_SHIPPING, this::orderWaitShipping);
|
||||
/* 订单发货 */
|
||||
this.addRule(OrderDeliveryMessage.class, ORDER_DELIVER, this::orderDelivery);
|
||||
/* 订单确认收货 */
|
||||
@ -186,6 +188,12 @@ public abstract class BaseWxChannelMessageServiceImpl implements BaseWxChannelMe
|
||||
log.info("订单支付成功:{}", JsonUtils.encode(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void orderWaitShipping(OrderIdMessage message, String content, String appId,
|
||||
Map<String, Object> context, WxSessionManager sessionManager) {
|
||||
log.info("订单待发货:{}", JsonUtils.encode(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void orderDelivery(OrderDeliveryMessage message, String content, String appId,
|
||||
Map<String, Object> context, WxSessionManager sessionManager) {
|
||||
|
@ -48,6 +48,8 @@ public abstract class BaseWxChannelServiceImpl<H, P> implements WxChannelService
|
||||
private final WxChannelSharerService sharerService = new WxChannelSharerServiceImpl(this);
|
||||
private final WxChannelFundService fundService = new WxChannelFundServiceImpl(this);
|
||||
private WxStoreHomePageService homePageService = null;
|
||||
private WxStoreCooperationService cooperationService = null;
|
||||
private WxChannelCompassShopService compassShopService = null;
|
||||
private WxLeagueWindowService leagueWindowService = null;
|
||||
private WxLeagueSupplierService leagueSupplierService = null;
|
||||
private WxLeaguePromoterService leaguePromoterService = null;
|
||||
@ -56,10 +58,8 @@ public abstract class BaseWxChannelServiceImpl<H, P> implements WxChannelService
|
||||
private WxFinderLiveService finderLiveService = null;
|
||||
private WxAssistantService assistantService = null;
|
||||
private WxChannelVipService vipService = null;
|
||||
private final WxChannelCompassFinderService compassFinderService =
|
||||
new WxChannelCompassFinderServiceImpl(this);
|
||||
private final WxChannelLiveDashboardService liveDashboardService =
|
||||
new WxChannelLiveDashboardServiceImpl(this);
|
||||
private WxChannelCompassFinderService compassFinderService = null;
|
||||
private WxChannelLiveDashboardService liveDashboardService = null;
|
||||
|
||||
protected WxChannelConfig config;
|
||||
private int retrySleepMillis = 1000;
|
||||
@ -376,6 +376,22 @@ public abstract class BaseWxChannelServiceImpl<H, P> implements WxChannelService
|
||||
return homePageService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized WxStoreCooperationService getCooperationService() {
|
||||
if (cooperationService == null) {
|
||||
cooperationService = new WxStoreCooperationServiceImpl(this);
|
||||
}
|
||||
return cooperationService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized WxChannelCompassShopService getCompassShopService() {
|
||||
if (compassShopService == null) {
|
||||
compassShopService = new WxChannelCompassShopServiceImpl(this);
|
||||
}
|
||||
return compassShopService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized WxLeagueWindowService getLeagueWindowService() {
|
||||
if (leagueWindowService == null) {
|
||||
@ -409,7 +425,7 @@ public abstract class BaseWxChannelServiceImpl<H, P> implements WxChannelService
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxLeadComponentService getLeadComponentService() {
|
||||
public synchronized WxLeadComponentService getLeadComponentService() {
|
||||
if (leadComponentService == null) {
|
||||
leadComponentService = new WxLeadComponentServiceImpl(this);
|
||||
}
|
||||
@ -417,7 +433,7 @@ public abstract class BaseWxChannelServiceImpl<H, P> implements WxChannelService
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxFinderLiveService getFinderLiveService() {
|
||||
public synchronized WxFinderLiveService getFinderLiveService() {
|
||||
if (finderLiveService == null) {
|
||||
finderLiveService = new WxFinderLiveServiceImpl(this);
|
||||
}
|
||||
@ -425,7 +441,7 @@ public abstract class BaseWxChannelServiceImpl<H, P> implements WxChannelService
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxAssistantService getAssistantService() {
|
||||
public synchronized WxAssistantService getAssistantService() {
|
||||
if (assistantService == null) {
|
||||
assistantService = new WxAssistantServiceImpl(this) {
|
||||
};
|
||||
@ -434,7 +450,7 @@ public abstract class BaseWxChannelServiceImpl<H, P> implements WxChannelService
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxChannelVipService getVipService() {
|
||||
public synchronized WxChannelVipService getVipService() {
|
||||
if (vipService == null) {
|
||||
vipService = new WxChannelVipServiceImpl(this);
|
||||
}
|
||||
@ -442,9 +458,19 @@ public abstract class BaseWxChannelServiceImpl<H, P> implements WxChannelService
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxChannelCompassFinderService getCompassFinderService() { return compassFinderService; }
|
||||
public synchronized WxChannelCompassFinderService getCompassFinderService() {
|
||||
if (compassFinderService == null) {
|
||||
compassFinderService = new WxChannelCompassFinderServiceImpl(this);
|
||||
}
|
||||
return compassFinderService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxChannelLiveDashboardService getLiveDashboardService() { return liveDashboardService; }
|
||||
public synchronized WxChannelLiveDashboardService getLiveDashboardService() {
|
||||
if (liveDashboardService == null) {
|
||||
liveDashboardService = new WxChannelLiveDashboardServiceImpl(this);
|
||||
}
|
||||
return liveDashboardService;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package me.chanjar.weixin.channel.api.impl;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.channel.api.WxChannelCompassFinderService;
|
||||
import me.chanjar.weixin.channel.bean.compass.CompassFinderBaseParam;
|
||||
import me.chanjar.weixin.channel.bean.compass.finder.*;
|
||||
import me.chanjar.weixin.channel.util.ResponseUtils;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
|
@ -0,0 +1,116 @@
|
||||
package me.chanjar.weixin.channel.api.impl;
|
||||
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.FINDER_AUTH_LIST_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.FINDER_LIST_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.GET_FINDER_OVERALL_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.GET_FINDER_PRODUCT_LIST_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.GET_FINDER_PRODUCT_OVERALL_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.GET_LIVE_LIST_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.GET_SHOP_OVERALL_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.GET_SHOP_PRODUCT_DATA_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.GET_SHOP_PRODUCT_LIST_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.CompassShop.GET_SHOP_SALE_PROFILE_DATA_URL;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.channel.api.WxChannelCompassShopService;
|
||||
import me.chanjar.weixin.channel.bean.compass.CompassFinderBaseParam;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.CompassFinderIdParam;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderAuthListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderProductListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderProductOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopLiveListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopProductDataParam;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopProductDataResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopProductListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopSaleProfileDataParam;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopSaleProfileDataResponse;
|
||||
import me.chanjar.weixin.channel.util.ResponseUtils;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
|
||||
/**
|
||||
* 视频号/微信小店 罗盘商家版 服务实现
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Slf4j
|
||||
public class WxChannelCompassShopServiceImpl implements WxChannelCompassShopService {
|
||||
|
||||
/**
|
||||
* 微信商店服务
|
||||
*/
|
||||
private final BaseWxChannelServiceImpl shopService;
|
||||
|
||||
public WxChannelCompassShopServiceImpl(BaseWxChannelServiceImpl shopService) {this.shopService = shopService;}
|
||||
|
||||
@Override
|
||||
public ShopOverallResponse getShopOverall(String ds) throws WxErrorException {
|
||||
CompassFinderBaseParam param = new CompassFinderBaseParam(ds);
|
||||
String resJson = shopService.post(GET_SHOP_OVERALL_URL, param);
|
||||
return ResponseUtils.decode(resJson, ShopOverallResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FinderAuthListResponse getFinderAuthorizationList() throws WxErrorException {
|
||||
String resJson = shopService.post(FINDER_AUTH_LIST_URL, "{}");
|
||||
return ResponseUtils.decode(resJson, FinderAuthListResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FinderListResponse getFinderList(String ds) throws WxErrorException {
|
||||
CompassFinderBaseParam param = new CompassFinderBaseParam(ds);
|
||||
String resJson = shopService.post(FINDER_LIST_URL, param);
|
||||
return ResponseUtils.decode(resJson, FinderListResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FinderOverallResponse getFinderOverall(String ds) throws WxErrorException {
|
||||
CompassFinderBaseParam param = new CompassFinderBaseParam(ds);
|
||||
String resJson = shopService.post(GET_FINDER_OVERALL_URL, param);
|
||||
return ResponseUtils.decode(resJson, FinderOverallResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FinderProductListResponse getFinderProductList(String ds, String finderId) throws WxErrorException {
|
||||
CompassFinderIdParam param = new CompassFinderIdParam(ds, finderId);
|
||||
String resJson = shopService.post(GET_FINDER_PRODUCT_LIST_URL, param);
|
||||
return ResponseUtils.decode(resJson, FinderProductListResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FinderProductOverallResponse getFinderProductOverall(String ds, String finderId) throws WxErrorException {
|
||||
CompassFinderIdParam param = new CompassFinderIdParam(ds, finderId);
|
||||
String resJson = shopService.post(GET_FINDER_PRODUCT_OVERALL_URL, param);
|
||||
return ResponseUtils.decode(resJson, FinderProductOverallResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShopLiveListResponse getShopLiveList(String ds, String finderId) throws WxErrorException {
|
||||
CompassFinderIdParam param = new CompassFinderIdParam(ds, finderId);
|
||||
String resJson = shopService.post(GET_LIVE_LIST_URL, param);
|
||||
return ResponseUtils.decode(resJson, ShopLiveListResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShopProductDataResponse getShopProductData(String ds, String productId) throws WxErrorException {
|
||||
ShopProductDataParam param = new ShopProductDataParam(ds, productId);
|
||||
String resJson = shopService.post(GET_SHOP_PRODUCT_DATA_URL, param);
|
||||
return ResponseUtils.decode(resJson, ShopProductDataResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShopProductListResponse getShopProductList(String ds) throws WxErrorException {
|
||||
CompassFinderBaseParam param = new CompassFinderBaseParam(ds);
|
||||
String resJson = shopService.post(GET_SHOP_PRODUCT_LIST_URL, param);
|
||||
return ResponseUtils.decode(resJson, ShopProductListResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShopSaleProfileDataResponse getShopSaleProfileData(String ds, Integer type) throws WxErrorException {
|
||||
ShopSaleProfileDataParam param = new ShopSaleProfileDataParam(ds, type);
|
||||
String resJson = shopService.post(GET_SHOP_SALE_PROFILE_DATA_URL, param);
|
||||
return ResponseUtils.decode(resJson, ShopSaleProfileDataResponse.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
package me.chanjar.weixin.channel.api.impl;
|
||||
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.Cooperation.CANCEL_COOPERATION_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.Cooperation.GENERATE_QRCODE_COOPERATION_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.Cooperation.GET_COOPERATION_STATUS_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.Cooperation.LIST_COOPERATION_URL;
|
||||
import static me.chanjar.weixin.channel.constant.WxChannelApiUrlConstants.Cooperation.UNBIND_COOPERATION_URL;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.channel.api.WxStoreCooperationService;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
import me.chanjar.weixin.channel.bean.cooperation.CooperationListResponse;
|
||||
import me.chanjar.weixin.channel.bean.cooperation.CooperationQrCodeResponse;
|
||||
import me.chanjar.weixin.channel.bean.cooperation.CooperationSharerParam;
|
||||
import me.chanjar.weixin.channel.bean.cooperation.CooperationStatusResponse;
|
||||
import me.chanjar.weixin.channel.util.ResponseUtils;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
|
||||
/**
|
||||
* 微信小店 合作账号相关接口
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Slf4j
|
||||
public class WxStoreCooperationServiceImpl implements WxStoreCooperationService {
|
||||
|
||||
/** 微信小店服务 */
|
||||
private final BaseWxChannelServiceImpl storeService;
|
||||
|
||||
public WxStoreCooperationServiceImpl(BaseWxChannelServiceImpl storeService) {
|
||||
this.storeService = storeService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CooperationListResponse listCooperation(Integer sharerType) throws WxErrorException {
|
||||
String paramJson = "{\"sharer_type\":" + sharerType + "}";
|
||||
String resJson = storeService.post(LIST_COOPERATION_URL, paramJson);
|
||||
return ResponseUtils.decode(resJson, CooperationListResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CooperationStatusResponse getCooperationStatus(String sharerId, Integer sharerType) throws WxErrorException {
|
||||
CooperationSharerParam param = new CooperationSharerParam(sharerId, sharerType);
|
||||
String resJson = storeService.post(GET_COOPERATION_STATUS_URL, param);
|
||||
return ResponseUtils.decode(resJson, CooperationStatusResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CooperationQrCodeResponse generateQrCode(String sharerId, Integer sharerType) throws WxErrorException {
|
||||
CooperationSharerParam param = new CooperationSharerParam(sharerId, sharerType);
|
||||
String resJson = storeService.post(GENERATE_QRCODE_COOPERATION_URL, param);
|
||||
return ResponseUtils.decode(resJson, CooperationQrCodeResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxChannelBaseResponse cancelInvitation(String sharerId, Integer sharerType) throws WxErrorException {
|
||||
CooperationSharerParam param = new CooperationSharerParam(sharerId, sharerType);
|
||||
String resJson = storeService.post(CANCEL_COOPERATION_URL, param);
|
||||
return ResponseUtils.decode(resJson, WxChannelBaseResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxChannelBaseResponse unbind(String sharerId, Integer sharerType) throws WxErrorException {
|
||||
CooperationSharerParam param = new CooperationSharerParam(sharerId, sharerType);
|
||||
String resJson = storeService.post(UNBIND_COOPERATION_URL, param);
|
||||
return ResponseUtils.decode(resJson, WxChannelBaseResponse.class);
|
||||
}
|
||||
}
|
@ -14,7 +14,7 @@ import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class AfterSaleListResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 5033313416948732123L;
|
||||
@ -23,6 +23,7 @@ public class AfterSaleListResponse extends WxChannelBaseResponse {
|
||||
private List<String> ids;
|
||||
|
||||
/** 翻页参数 */
|
||||
@JsonProperty("next_key")
|
||||
private String nextKey;
|
||||
|
||||
/** 是否还有数据 */
|
||||
|
@ -3,6 +3,7 @@ package me.chanjar.weixin.channel.bean.category;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
@ -13,6 +14,7 @@ import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PassCategoryResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = -3674591447273025743L;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.finder;
|
||||
package me.chanjar.weixin.channel.bean.compass;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.compass.CompassFinderBaseParam;
|
||||
|
||||
/**
|
||||
* 获取带货商品数据请求参数
|
||||
|
@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.compass.CompassFinderBaseParam;
|
||||
|
||||
/**
|
||||
* 获取带货人群数据请求参数
|
||||
|
@ -0,0 +1,32 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.compass.CompassFinderBaseParam;
|
||||
|
||||
/**
|
||||
* 带货达人 请求参数
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class CompassFinderIdParam extends CompassFinderBaseParam {
|
||||
|
||||
private static final long serialVersionUID = 9214560943091074780L;
|
||||
|
||||
/** 视频号ID */
|
||||
@JsonProperty("finder_id")
|
||||
private String finderId;
|
||||
|
||||
public CompassFinderIdParam(String ds, String finderId) {
|
||||
super(ds);
|
||||
this.finderId = finderId;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 获取授权视频号列表 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class FinderAuthListResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = -3215073536002857589L;
|
||||
|
||||
/** 主营视频号id */
|
||||
@JsonProperty("main_finder_id")
|
||||
private String mainFinderId;
|
||||
|
||||
/** 授权视频号id列表 */
|
||||
@JsonProperty("authorized_finder_id_list")
|
||||
private List<String> authorizedFinderIdList;
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 带货达人数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class FinderGmvData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7463331971169286175L;
|
||||
|
||||
/** 成交金额,单位分 */
|
||||
@JsonProperty("pay_gmv")
|
||||
private String payGmv;
|
||||
|
||||
/** 动销商品数 */
|
||||
@JsonProperty("pay_product_id_cnt")
|
||||
private String payProductIdCnt;
|
||||
|
||||
/** 成交人数 */
|
||||
@JsonProperty("pay_uv")
|
||||
private String payUv;
|
||||
|
||||
/** 退款金额,单位分 */
|
||||
@JsonProperty("refund_gmv")
|
||||
private String refundGmv;
|
||||
|
||||
/** 成交退款金额,单位分 */
|
||||
@JsonProperty("pay_refund_gmv")
|
||||
private String payRefundGmv;
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 带货达人列表数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class FinderGmvItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -3740996985044711599L;
|
||||
|
||||
/** 视频号id */
|
||||
@JsonProperty("finder_id")
|
||||
private String finderId;
|
||||
|
||||
/** 视频号昵称 */
|
||||
@JsonProperty("finder_nickname")
|
||||
private String finderNickname;
|
||||
|
||||
/** 带货达人数据 */
|
||||
@JsonProperty("data")
|
||||
private FinderGmvData data;
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 带货达人列表 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class FinderListResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 6358992001065379269L;
|
||||
|
||||
/** 授权视频号id列表 */
|
||||
@JsonProperty("finder_list")
|
||||
private List<FinderGmvItem> finderList;
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 带货数据概览
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class FinderOverallData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -994852668593815907L;
|
||||
|
||||
/** 成交金额,单位分 */
|
||||
@JsonProperty("pay_gmv")
|
||||
private String payGmv;
|
||||
|
||||
/** 动销达人数 */
|
||||
@JsonProperty("pay_sales_finder_cnt")
|
||||
private String paySalesFinderCnt;
|
||||
|
||||
/** 动销商品数 */
|
||||
@JsonProperty("pay_product_id_cnt")
|
||||
private String payProductIdCnt;
|
||||
|
||||
/** 点击-成交转化率 */
|
||||
@JsonProperty("click_to_pay_uv_ratio")
|
||||
private Double clickToPayUvRatio;
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 带货数据概览 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class FinderOverallResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = -4935555091396799318L;
|
||||
|
||||
/**
|
||||
* 电商概览数据
|
||||
*/
|
||||
@JsonProperty("data")
|
||||
private FinderOverallData data;
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 带货达人商品列表
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class FinderProductListItem implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1646092488200992026L;
|
||||
|
||||
/** 商品id */
|
||||
@JsonProperty("product_id")
|
||||
private String productId;
|
||||
|
||||
/** 商品头图 */
|
||||
@JsonProperty("head_img_url")
|
||||
private String headImgUrl;
|
||||
|
||||
/** 商品标题 */
|
||||
@JsonProperty("title")
|
||||
private String title;
|
||||
|
||||
/** 商品价格 */
|
||||
@JsonProperty("price")
|
||||
private String price;
|
||||
|
||||
/** 商品1级类目 */
|
||||
@JsonProperty("first_category_id")
|
||||
private String firstCategoryId;
|
||||
|
||||
/** 商品2级类目 */
|
||||
@JsonProperty("second_category_id")
|
||||
private String secondCategoryId;
|
||||
|
||||
/** 商品3级类目 */
|
||||
@JsonProperty("third_category_id")
|
||||
private String thirdCategoryId;
|
||||
|
||||
/** gmv */
|
||||
@JsonProperty("data")
|
||||
private GmvData data;
|
||||
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public static class GmvData implements Serializable {
|
||||
private static final long serialVersionUID = 1840494188469233735L;
|
||||
|
||||
/** 佣金率 */
|
||||
@JsonProperty("commission_ratio")
|
||||
private Double commissionRatio;
|
||||
|
||||
/** 成交金额,单位分 */
|
||||
@JsonProperty("pay_gmv")
|
||||
private String payGmv;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 带货达人商品列表 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class FinderProductListResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 5883861777181983173L;
|
||||
|
||||
/**
|
||||
* 带货达人商品列表
|
||||
*/
|
||||
@JsonProperty("product_list")
|
||||
private List<FinderProductListItem> productList;
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 带货达人详情 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class FinderProductOverallResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 6358992001065379269L;
|
||||
|
||||
/** 带货达人详情 */
|
||||
@JsonProperty("data")
|
||||
private FinderGmvData data;
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 带货达人商品GMV数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class FinderProductSimpleGmvData implements Serializable {
|
||||
private static final long serialVersionUID = -3740996985044711599L;
|
||||
|
||||
/** 佣金率 */
|
||||
@JsonProperty("commission_ratio")
|
||||
private Double commissionRatio;
|
||||
|
||||
/** 成交金额,单位分 */
|
||||
@JsonProperty("pay_gmv")
|
||||
private String payGmv;
|
||||
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 维度数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class ShopField implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -8669197081350262569L;
|
||||
|
||||
/** 维度类别名 */
|
||||
@JsonProperty("field_name")
|
||||
private String fieldName;
|
||||
|
||||
/** 维度指标数据列表 */
|
||||
@JsonProperty("data_list")
|
||||
private List<FieldDetail> dataList;
|
||||
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public static class FieldDetail implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 2900633035074950462L;
|
||||
|
||||
/** 维度指标名 */
|
||||
@JsonProperty("dim_key")
|
||||
private String dimKey;
|
||||
|
||||
/** 维度指标值 */
|
||||
@JsonProperty("dim_value")
|
||||
private String dimValue;
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 店铺开播数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class ShopLiveData implements Serializable {
|
||||
|
||||
/** 直播id */
|
||||
@JsonProperty("live_id")
|
||||
private String liveId;
|
||||
|
||||
/** 直播标题 */
|
||||
@JsonProperty("live_title")
|
||||
private String liveTitle;
|
||||
|
||||
/** 开播时间,unix时间戳 */
|
||||
@JsonProperty("live_time")
|
||||
private String liveTime;
|
||||
|
||||
/** 直播时长,单位秒 */
|
||||
@JsonProperty("live_duration")
|
||||
private String liveDuration;
|
||||
|
||||
/** 直播封面 */
|
||||
@JsonProperty("live_cover_img_url")
|
||||
private String liveCoverImgUrl;
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 店铺开播列表 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ShopLiveListResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = -7110751559923117330L;
|
||||
|
||||
/** 店铺开播列表 */
|
||||
@JsonProperty("live_list")
|
||||
private List<ShopLiveData> liveList;
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 电商概览数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class ShopOverall implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3304918097895132226L;
|
||||
|
||||
/** 成交金额,单位分 */
|
||||
@JsonProperty("pay_gmv")
|
||||
private String payGmv;
|
||||
|
||||
/** 成交人数 */
|
||||
@JsonProperty("pay_uv")
|
||||
private String payUv;
|
||||
|
||||
/** 成交退款金额,单位分 */
|
||||
@JsonProperty("pay_refund_gmv")
|
||||
private String payRefundGmv;
|
||||
|
||||
/** 成交订单数 */
|
||||
@JsonProperty("pay_order_cnt")
|
||||
private String payOrderCnt;
|
||||
|
||||
/** 直播成交金额,单位分 */
|
||||
@JsonProperty("live_pay_gmv")
|
||||
private String livePayGmv;
|
||||
|
||||
/** 短视频成交金额,单位分 */
|
||||
@JsonProperty("feed_pay_gmv")
|
||||
private String feedPayGmv;
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 获取电商概览数据响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ShopOverallResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 1632800741359642057L;
|
||||
|
||||
/**
|
||||
* 电商概览数据
|
||||
*/
|
||||
@JsonProperty("data")
|
||||
private ShopOverall data;
|
||||
|
||||
}
|
@ -0,0 +1,143 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 店铺商品罗盘数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class ShopProductCompassData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 5387546181020447627L;
|
||||
|
||||
/** 成交金额 */
|
||||
@JsonProperty("pay_gmv")
|
||||
private String payGmv;
|
||||
|
||||
/**下单金额,单位分 */
|
||||
@JsonProperty("create_gmv")
|
||||
private String createGmv;
|
||||
|
||||
/** 下单订单数 */
|
||||
@JsonProperty("create_cnt")
|
||||
private String createCnt;
|
||||
|
||||
/** 下单人数 */
|
||||
@JsonProperty("create_uv")
|
||||
private String createUv;
|
||||
|
||||
/** 下单件数 */
|
||||
@JsonProperty("create_product_cnt")
|
||||
private String createProductCnt;
|
||||
|
||||
/** 成交订单数 */
|
||||
@JsonProperty("pay_cnt")
|
||||
private String payCnt;
|
||||
|
||||
/** 成交人数 */
|
||||
@JsonProperty("pay_uv")
|
||||
private String payUv;
|
||||
|
||||
/** 成交件数 */
|
||||
@JsonProperty("pay_product_cnt")
|
||||
private String payProductCnt;
|
||||
|
||||
/** 成交金额(剔除退款) */
|
||||
@JsonProperty("pure_pay_gmv")
|
||||
private String purePayGmv;
|
||||
|
||||
/** 成交客单价(剔除退款) */
|
||||
@JsonProperty("pay_gmv_per_uv")
|
||||
private String payGmvPerUv;
|
||||
|
||||
/** 实际结算金额,单位分 */
|
||||
@JsonProperty("seller_actual_settle_amount")
|
||||
private String sellerActualSettleAmount;
|
||||
|
||||
/** 实际服务费金额,单位分 */
|
||||
@JsonProperty("platform_actual_commission")
|
||||
private String platformActualCommission;
|
||||
|
||||
/** 实际达人佣金支出,单位分 */
|
||||
@JsonProperty("finderuin_actual_commission")
|
||||
private String finderuinActualCommission;
|
||||
|
||||
/** 实际团长佣金支出,单位分 */
|
||||
@JsonProperty("captain_actual_commission")
|
||||
private String captainActualCommission;
|
||||
|
||||
/** 预估结算金额,单位分 */
|
||||
@JsonProperty("seller_predict_settle_amount")
|
||||
private String sellerPredictSettleAmount;
|
||||
|
||||
/** 预估服务费金额,单位分 */
|
||||
@JsonProperty("platform_predict_commission")
|
||||
private String platformPredictCommission;
|
||||
|
||||
/** 预估达人佣金支出,单位分 */
|
||||
@JsonProperty("finderuin_predict_commission")
|
||||
private String finderuinPredictCommission;
|
||||
|
||||
/** 预估团长佣金支出,单位分 */
|
||||
@JsonProperty("captain_predict_commission")
|
||||
private String captainPredictCommission;
|
||||
|
||||
/** 商品点击人数 */
|
||||
@JsonProperty("product_click_uv")
|
||||
private String productClickUv;
|
||||
|
||||
/** 商品点击次数 */
|
||||
@JsonProperty("product_click_cnt")
|
||||
private String productClickCnt;
|
||||
|
||||
/** 成交退款金额,单位分 */
|
||||
@JsonProperty("pay_refund_gmv")
|
||||
private String payRefundGmv;
|
||||
|
||||
/** 成交退款人数,单位分 */
|
||||
@JsonProperty("pay_refund_uv")
|
||||
private String payRefundUv;
|
||||
|
||||
/** 成交退款率 */
|
||||
@JsonProperty("pay_refund_ratio")
|
||||
private Double payRefundRatio;
|
||||
|
||||
/** 发货后成交退款率 */
|
||||
@JsonProperty("pay_refund_after_send_ratio")
|
||||
private Double payRefundAfterSendRatio;
|
||||
|
||||
/** 成交退款订单数 */
|
||||
@JsonProperty("pay_refund_cnt")
|
||||
private String payRefundCnt;
|
||||
|
||||
/** 成交退款件数 */
|
||||
@JsonProperty("pay_refund_product_cnt")
|
||||
private String payRefundProductCnt;
|
||||
|
||||
/** 发货前成交退款率 */
|
||||
@JsonProperty("pay_refund_before_send_ratio")
|
||||
private Double payRefundBeforeSendRatio;
|
||||
|
||||
/** 退款金额,单位分 */
|
||||
@JsonProperty("refund_gmv")
|
||||
private String refundGmv;
|
||||
|
||||
/** 退款件数 */
|
||||
@JsonProperty("refund_product_cnt")
|
||||
private String refundProductCnt;
|
||||
|
||||
/** 退款订单数 */
|
||||
@JsonProperty("refund_cnt")
|
||||
private String refundCnt;
|
||||
|
||||
/** 退款人数 */
|
||||
@JsonProperty("refund_uv")
|
||||
private String refundUv;
|
||||
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.compass.CompassFinderBaseParam;
|
||||
|
||||
/**
|
||||
* 商品数据 请求参数
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class ShopProductDataParam extends CompassFinderBaseParam {
|
||||
|
||||
private static final long serialVersionUID = - 5016298274452168329L;
|
||||
|
||||
/** 商品id */
|
||||
@JsonProperty("product_id")
|
||||
private String productId;
|
||||
|
||||
public ShopProductDataParam(String ds, String productId) {
|
||||
super(ds);
|
||||
this.productId = productId;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 商品详细信息 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ShopProductDataResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 6903392663954301579L;
|
||||
|
||||
/** 商品详细信息 */
|
||||
@JsonProperty("product_info")
|
||||
private ShopProductInfo productInfo;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 店铺带货商品数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class ShopProductInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3376047696301017643L;
|
||||
|
||||
/** 商品id */
|
||||
@JsonProperty("product_id")
|
||||
private String productId;
|
||||
|
||||
/** 商品图 */
|
||||
@JsonProperty("head_img_url")
|
||||
private String headImgUrl;
|
||||
|
||||
/** 商品标题 */
|
||||
@JsonProperty("title")
|
||||
private String title;
|
||||
|
||||
/** 商品价格,单位分 */
|
||||
@JsonProperty("price")
|
||||
private String price;
|
||||
|
||||
/** 商品一级类目 */
|
||||
@JsonProperty("first_category_id")
|
||||
private String firstCategoryId;
|
||||
|
||||
/** 商品二级类目 */
|
||||
@JsonProperty("second_category_id")
|
||||
private String secondCategoryId;
|
||||
|
||||
/** 商品三级类目 */
|
||||
@JsonProperty("third_category_id")
|
||||
private String thirdCategoryId;
|
||||
|
||||
/** 商品罗盘数据 */
|
||||
@JsonProperty("data")
|
||||
private ShopProductCompassData data;
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 商品列表 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ShopProductListResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = -6328224902770141045L;
|
||||
|
||||
/** 商品列表 */
|
||||
@JsonProperty("product_list")
|
||||
private List<ShopProductInfo> productList;
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 店铺人群数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class ShopSaleProfileData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -6825849811081728787L;
|
||||
|
||||
/** 维度数据列表 */
|
||||
@JsonProperty("field_list")
|
||||
private List<ShopField> fieldList;
|
||||
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.compass.CompassFinderBaseParam;
|
||||
|
||||
/**
|
||||
* 获取带货人群数据请求参数
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class ShopSaleProfileDataParam extends CompassFinderBaseParam {
|
||||
|
||||
private static final long serialVersionUID = 240010632808576923L;
|
||||
|
||||
/** 用户类型 */
|
||||
@JsonProperty("type")
|
||||
private Integer type;
|
||||
|
||||
public ShopSaleProfileDataParam(String ds, Integer type) {
|
||||
super(ds);
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package me.chanjar.weixin.channel.bean.compass.shop;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 店铺人群数据 响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ShopSaleProfileDataResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 8520148855114842741L;
|
||||
|
||||
/** 店铺人群数据 */
|
||||
@JsonProperty("data")
|
||||
private ShopSaleProfileData data;
|
||||
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package me.chanjar.weixin.channel.bean.cooperation;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 合作账号信息
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class CooperationData implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 3930010847236599458L;
|
||||
|
||||
/** 合作账号id 公众号: gh_开头id 小程序: appid */
|
||||
@JsonProperty("sharer_id")
|
||||
private String sharerId;
|
||||
|
||||
/** 邀请/合作账号状态 1已绑定 2已解绑 3邀请已拒绝 4邀请接受中 5邀请接受超时 6邀请接受失败 7邀请店铺取消 */
|
||||
@JsonProperty("status")
|
||||
private Integer status;
|
||||
|
||||
/** 合作账号名称 */
|
||||
@JsonProperty("sharer_name")
|
||||
private String sharerName;
|
||||
|
||||
/** 合作账号类型 2公众号 3小程序 */
|
||||
@JsonProperty("sharer_type")
|
||||
private Integer sharerType;
|
||||
|
||||
/** 接受绑定时间戳,ms */
|
||||
@JsonProperty("bind_time")
|
||||
private Long bindTime;
|
||||
|
||||
/** 用户拒绝时间戳,ms */
|
||||
@JsonProperty("reject_time")
|
||||
private Long rejectTime;
|
||||
|
||||
/** 商家取消时间戳,ms */
|
||||
@JsonProperty("cancel_time")
|
||||
private Long cancelTime;
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package me.chanjar.weixin.channel.bean.cooperation;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 合作账号列表响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CooperationListResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 6998637882644598826L;
|
||||
|
||||
/** 合作账号列表 */
|
||||
@JsonProperty("data_list")
|
||||
private List<CooperationData> dataList;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package me.chanjar.weixin.channel.bean.cooperation;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 合作账号二维码数据
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class CooperationQrCode implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7096916911986699150L;
|
||||
|
||||
/** base64编码后的图片数据 */
|
||||
@JsonProperty("qrcode_base64")
|
||||
private Integer qrCodeBase64;
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package me.chanjar.weixin.channel.bean.cooperation;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 合作账号二维码响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CooperationQrCodeResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 6998637882644598826L;
|
||||
|
||||
/** 合作账号二维码 */
|
||||
@JsonProperty("data")
|
||||
private CooperationQrCode data;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package me.chanjar.weixin.channel.bean.cooperation;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 合作账号参数
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class CooperationSharerParam implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 5032621997764493109L;
|
||||
|
||||
/** 合作账号id */
|
||||
@JsonProperty("sharer_id")
|
||||
private String sharerId;
|
||||
|
||||
/** 合作账号类型 */
|
||||
@JsonProperty("sharer_type")
|
||||
private Integer sharerType;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package me.chanjar.weixin.channel.bean.cooperation;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 合作账号状态
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class CooperationStatus implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7096916911986699150L;
|
||||
|
||||
/** 邀请/合作账号状态 1已绑定 2已解绑 3邀请已拒绝 4邀请接受中 5邀请接受超时 6邀请接受失败 7邀请店铺取消 */
|
||||
@JsonProperty("status")
|
||||
private Integer status;
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package me.chanjar.weixin.channel.bean.cooperation;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
|
||||
/**
|
||||
* 合作账号状态响应
|
||||
*
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class CooperationStatusResponse extends WxChannelBaseResponse {
|
||||
|
||||
private static final long serialVersionUID = 6998637882644598826L;
|
||||
|
||||
/** 合作账号状态 */
|
||||
@JsonProperty("data")
|
||||
private CooperationStatus data;
|
||||
}
|
@ -20,11 +20,11 @@ public class ConditionFreeDetail extends AddressInfoList {
|
||||
@JsonProperty("min_piece")
|
||||
private Integer minPiece;
|
||||
|
||||
/** 最低重量 */
|
||||
/** 最低重量,单位千克,订单商品总质量小于一千克,算作一千克 */
|
||||
@JsonProperty("min_weight")
|
||||
private Double minWeight;
|
||||
|
||||
/** 最低金额 */
|
||||
/** 最低金额,单位(分) */
|
||||
@JsonProperty("min_amount")
|
||||
private Integer minAmount;
|
||||
|
||||
|
@ -9,8 +9,7 @@ import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
/**
|
||||
* 资金流水列表 响应
|
||||
*
|
||||
* @author LiXiZe
|
||||
* @since 2023-04-16
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
|
@ -93,18 +93,18 @@ public class OrderPriceInfo implements Serializable {
|
||||
* merchant_receieve_price=original_order_price-discounted_price-deduction_price-change_down_price
|
||||
*/
|
||||
@JsonProperty("merchant_receieve_price")
|
||||
private Integer merchant_receive_price;
|
||||
private Integer merchantReceivePrice;
|
||||
|
||||
/**
|
||||
* 商家优惠金额,单位为分,含义同discounted_price,必填
|
||||
*/
|
||||
@JsonProperty("merchant_discounted_price")
|
||||
private Integer merchant_discounted_price;
|
||||
private Integer merchantDiscountedPrice;
|
||||
|
||||
/**
|
||||
* 达人优惠金额,单位为分
|
||||
*/
|
||||
@JsonProperty("finder_discounted_price")
|
||||
private Integer finder_discounted_price;
|
||||
private Integer finderDiscountedPrice;
|
||||
|
||||
}
|
||||
|
@ -168,4 +168,22 @@ public class OrderProductInfo implements Serializable {
|
||||
*/
|
||||
@JsonProperty("delivery_deadline")
|
||||
private Long deliveryDeadline;
|
||||
|
||||
/**
|
||||
* 商家优惠金额,单位为分
|
||||
*/
|
||||
@JsonProperty("merchant_discounted_price")
|
||||
private Integer merchantDiscountedPrice;
|
||||
|
||||
/**
|
||||
* 商家优惠金额,单位为分
|
||||
*/
|
||||
@JsonProperty("finder_discounted_price")
|
||||
private Integer finderDiscountedPrice;
|
||||
|
||||
/**
|
||||
* 是否赠品,非必填,赠品商品返回,1:是赠品
|
||||
*/
|
||||
@JsonProperty("is_free_gift")
|
||||
private Boolean freeGift;
|
||||
}
|
||||
|
@ -33,10 +33,18 @@ public class SpuInfo extends SpuSimpleInfo {
|
||||
@JsonProperty("head_imgs")
|
||||
private List<String> headImgs;
|
||||
|
||||
/** 发货方式,若为无需快递(仅对部分类目开放),则无需填写运费模版id。0:快递发货;1:无需快递;默认0 */
|
||||
/** 发货方式:0-快递发货;1-无需快递,手机号发货;3-无需快递,可选发货账号类型,默认为0,若为无需快递,则无需填写运费模版id */
|
||||
@JsonProperty("deliver_method")
|
||||
private Integer deliverMethod;
|
||||
|
||||
/**
|
||||
* 发货账号:1-微信openid;2-QQ号;3-手机号;4-邮箱。
|
||||
* 可多选,只有deliver_method=3时,本参数有意义。
|
||||
* 且当发货账号为微信、QQ和邮箱时,需要更新订单接口读取详情字段,详情参考订单接口的说明
|
||||
*/
|
||||
@JsonProperty("deliver_acct_type")
|
||||
private List<Integer> deliverAcctType;
|
||||
|
||||
/** 商品详情 */
|
||||
@JsonProperty("desc_info")
|
||||
private DescriptionInfo descInfo;
|
||||
|
@ -22,6 +22,8 @@ public interface MessageEventConstants {
|
||||
String ORDER_CANCEL = "channels_ec_order_cancel";
|
||||
/** 订单支付成功 */
|
||||
String ORDER_PAY = "channels_ec_order_pay";
|
||||
/** 订单待发货 */
|
||||
String ORDER_WAIT_SHIPPING = "channels_ec_order_wait_shipping";
|
||||
/** 订单发货 */
|
||||
String ORDER_DELIVER = "channels_ec_order_deliver";
|
||||
/** 订单确认收货 */
|
||||
|
@ -316,6 +316,20 @@ public class WxChannelApiUrlConstants {
|
||||
String UNBIND_SHARER_URL = "https://api.weixin.qq.com/channels/ec/sharer/unbind";
|
||||
}
|
||||
|
||||
/** 合作账号相关接口 */
|
||||
public interface Cooperation {
|
||||
/** 获取合作账号列表 */
|
||||
String LIST_COOPERATION_URL = "https://api.weixin.qq.com/channels/ec/cooperation/list";
|
||||
/** 查看合作账号邀请状态 */
|
||||
String GET_COOPERATION_STATUS_URL = "https://api.weixin.qq.com/channels/ec/cooperation/invitation/get";
|
||||
/** 邀请合作账号 */
|
||||
String GENERATE_QRCODE_COOPERATION_URL = "https://api.weixin.qq.com/channels/ec/cooperation/invitation/qrcode/generate";
|
||||
/** 取消合作账号邀请 */
|
||||
String CANCEL_COOPERATION_URL = "https://api.weixin.qq.com/channels/ec/cooperation/invitation/cancel";
|
||||
/** 解绑合作账号 */
|
||||
String UNBIND_COOPERATION_URL = "https://api.weixin.qq.com/channels/ec/cooperation/unbind";
|
||||
}
|
||||
|
||||
/** 资金相关接口 */
|
||||
public interface Fund {
|
||||
|
||||
@ -324,9 +338,9 @@ public class WxChannelApiUrlConstants {
|
||||
/** 获取结算账户 */
|
||||
String GET_BANK_ACCOUNT_URL = "https://api.weixin.qq.com/channels/ec/funds/getbankacct";
|
||||
/** 获取资金流水详情 */
|
||||
String GET_BALANCE_FLOW_DETAIL_URL = "https://api.weixin.qq.com/channels/ec/league/funds/getfundsflowdetail";
|
||||
String GET_BALANCE_FLOW_DETAIL_URL = "https://api.weixin.qq.com/channels/ec/funds/getfundsflowdetail";
|
||||
/** 获取资金流水列表 */
|
||||
String GET_BALANCE_FLOW_LIST_URL = "https://api.weixin.qq.com/channels/ec/league/funds/getfundsflowlist";
|
||||
String GET_BALANCE_FLOW_LIST_URL = "https://api.weixin.qq.com/channels/ec/funds/getfundsflowlist";
|
||||
/** 获取提现记录 */
|
||||
String GET_WITHDRAW_DETAIL_URL = "https://api.weixin.qq.com/channels/ec/funds/getwithdrawdetail";
|
||||
/** 获取提现记录列表 */
|
||||
@ -526,4 +540,31 @@ public class WxChannelApiUrlConstants {
|
||||
*/
|
||||
String GET_SALE_PROFILE_DATA_URL = "https://api.weixin.qq.com/channels/ec/compass/finder/sale/profile/data/get";
|
||||
}
|
||||
|
||||
/**
|
||||
* 罗盘商家版API
|
||||
*/
|
||||
public interface CompassShop {
|
||||
|
||||
/** 获取电商数据概览 */
|
||||
String GET_SHOP_OVERALL_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/overall/get";
|
||||
/** 获取授权视频号列表 */
|
||||
String FINDER_AUTH_LIST_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/finder/authorization/list/get";
|
||||
/** 获取带货达人列表 */
|
||||
String FINDER_LIST_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/finder/list/get";
|
||||
/** 获取带货数据概览 */
|
||||
String GET_FINDER_OVERALL_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/finder/overall/get";
|
||||
/** 获取带货达人商品列表 */
|
||||
String GET_FINDER_PRODUCT_LIST_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/finder/product/list/get";
|
||||
/** 获取带货达人商品数据 */
|
||||
String GET_FINDER_PRODUCT_OVERALL_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/finder/product/overall/get";
|
||||
/** 获取店铺开播列表 */
|
||||
String GET_LIVE_LIST_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/live/list/get";
|
||||
/** 获取商品详细信息 */
|
||||
String GET_SHOP_PRODUCT_DATA_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/product/data/get";
|
||||
/** 获取商品列表 */
|
||||
String GET_SHOP_PRODUCT_LIST_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/product/list/get";
|
||||
/** 获取店铺人群数据 */
|
||||
String GET_SHOP_SALE_PROFILE_DATA_URL = "https://api.weixin.qq.com/channels/ec/compass/shop/sale/profile/data/get";
|
||||
}
|
||||
}
|
||||
|
@ -24,12 +24,23 @@ public enum FundsType {
|
||||
/** 8 运费险分账 */
|
||||
FREIGHT_SHARE(8, "运费险分账"),
|
||||
/** 9 联盟平台抽佣 */
|
||||
LEAGUE_COMMISSION(9, "联盟平台抽佣"),
|
||||
/** 10 小店抽佣 */
|
||||
SHOP_COMMISSION(10, "小店抽佣"),
|
||||
LEAGUE_PLAT_COMMISSION(9, "联盟平台抽佣"),
|
||||
/** 10 联盟抽佣 */
|
||||
LEAGUE_COMMISSION(10, "联盟抽佣"),
|
||||
/** 11台抽佣 */
|
||||
PLATFORM_COMMISSION(11, "平台抽佣"),
|
||||
/** 12 团长抽佣 */
|
||||
LEADER_COMMISSION(12, "团长抽佣"),
|
||||
/** 13 返佣人气卡 */
|
||||
POPULARITY_CARD(13, "返佣人气卡"),
|
||||
/** 14 极速退款垫资金 */
|
||||
FAST_REFUND(14, "极速退款垫资金"),
|
||||
/** 15 极速退款垫资回补 */
|
||||
FAST_REFUND_REPLENISHMENT(15, "极速退款垫资回补"),
|
||||
/** 16 运费险 */
|
||||
FREIGHT_INSURANCE(16, "运费险"),
|
||||
/** 99 分账 */
|
||||
SHARE(99, "分账"),
|
||||
|
||||
;
|
||||
|
||||
private final int key;
|
||||
|
@ -9,7 +9,14 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
|
||||
public enum PromoteType {
|
||||
PROMOTE_TYPE_SHOP(1, "小店内推广");
|
||||
/** 1 小店内推广 */
|
||||
PROMOTE_TYPE_SHOP(1, "小店内推广"),
|
||||
/** 9 会员券 */
|
||||
MEMBER(9, "会员券"),
|
||||
/** 10 会员开卡礼券 */
|
||||
MEMBER_CARD(10, "会员开卡礼券"),
|
||||
|
||||
;
|
||||
|
||||
private final int key;
|
||||
private final String val;
|
||||
|
@ -23,7 +23,11 @@ public enum SendTime {
|
||||
TWENTYFOUR_HOUR("SendTime_TWENTYFOUR_HOUR", "24小时内发货"),
|
||||
/** 48小时内发货 */
|
||||
FOUTYEIGHT_HOUR("SendTime_FOUTYEIGHT_HOUR", "48小时内发货"),
|
||||
/** 3天内发货 */
|
||||
/**
|
||||
* 3天内发货
|
||||
* @deprecated 已不支持,微信小店发货管理规则调整
|
||||
*/
|
||||
@Deprecated
|
||||
THREE_DAY("SendTime_THREE_DAY", "3天内发货"),
|
||||
// /** 5天内发货 */
|
||||
// FIVE_DAY("SendTime_FIVE_DAY", "5天内发货"),
|
||||
|
@ -20,7 +20,13 @@ public enum SpuEditStatus {
|
||||
/** 4 审核成功 */
|
||||
SUCCESS(4, "审核成功"),
|
||||
/** 5 商品信息写入中 */
|
||||
WRITING(5, "商品信息写入中");
|
||||
WRITING(5, "商品信息写入中"),
|
||||
/** 7 商品异步提交,上传中(处于该状态的商品调用上架商品接口会返回10020067) */
|
||||
ASYNC_WRITING(7, "商品异步提交,上传中"),
|
||||
/** 8 商品异步提交,上传失败(请重新提交) */
|
||||
ASYNC_FAIL(8, "商品异步提交,上传失败"),
|
||||
|
||||
;
|
||||
|
||||
private final int status;
|
||||
private final String desc;
|
||||
|
@ -16,10 +16,20 @@ public enum SpuStatus {
|
||||
UP(5, "上架"),
|
||||
/** 6 回收站 */
|
||||
TRASH(6, "回收站"),
|
||||
/** 9 彻底删除,商品无法再进行任何操作 */
|
||||
DELETE(9, "彻底删除"),
|
||||
/** 11 自主下架 */
|
||||
DOWN(11, "自主下架"),
|
||||
/** 13 违规下架/风控系统下架 */
|
||||
SYSTEM_DOWN(13, "违规下架");
|
||||
SYSTEM_DOWN(13, "违规下架/风控系统下架"),
|
||||
/** 14 保证金不足下架 */
|
||||
DEPOSIT_INSUFFICIENT(14, "保证金不足下架"),
|
||||
/** 15 品牌过期下架 */
|
||||
BRAND_EXPIRED(15, "品牌过期下架"),
|
||||
/** 20 商品被封禁 */
|
||||
BAN(20, "商品被封禁"),
|
||||
|
||||
;
|
||||
|
||||
private final int status;
|
||||
private final String desc;
|
||||
|
@ -0,0 +1,125 @@
|
||||
package me.chanjar.weixin.channel.api.impl;
|
||||
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import me.chanjar.weixin.channel.api.WxChannelCompassShopService;
|
||||
import me.chanjar.weixin.channel.api.WxChannelService;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderAuthListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderProductListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.FinderProductOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopLiveListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopOverallResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopProductDataResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopProductListResponse;
|
||||
import me.chanjar.weixin.channel.bean.compass.shop.ShopSaleProfileDataResponse;
|
||||
import me.chanjar.weixin.channel.test.ApiTestModule;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Guice(modules = ApiTestModule.class)
|
||||
public class WxChannelCompassShopServiceImplTest {
|
||||
|
||||
@Inject
|
||||
private WxChannelService channelService;
|
||||
|
||||
@Test
|
||||
public void testGetShopOverall() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "20240306";
|
||||
ShopOverallResponse response = service.getShopOverall(ds);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFinderAuthorizationList() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
FinderAuthListResponse response = service.getFinderAuthorizationList();
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFinderList() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "20240306";
|
||||
FinderListResponse response = service.getFinderList(ds);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFinderOverall() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "20240306";
|
||||
FinderOverallResponse response = service.getFinderOverall(ds);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFinderProductList() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "";
|
||||
String finderId = "";
|
||||
FinderProductListResponse response = service.getFinderProductList(ds, finderId);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFinderProductOverall() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "";
|
||||
String finderId = "";
|
||||
FinderProductOverallResponse response = service.getFinderProductOverall(ds, finderId);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetShopLiveList() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "";
|
||||
String finderId = "";
|
||||
ShopLiveListResponse response = service.getShopLiveList(ds, finderId);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetShopProductData() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "20240306";
|
||||
String productId = "";
|
||||
ShopProductDataResponse response = service.getShopProductData(ds, productId);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetShopProductList() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "20240306";
|
||||
ShopProductListResponse response = service.getShopProductList(ds);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetShopSaleProfileData() throws WxErrorException {
|
||||
WxChannelCompassShopService service = channelService.getCompassShopService();
|
||||
String ds = "20240306";
|
||||
ShopSaleProfileDataResponse response = service.getShopSaleProfileData(ds, 3);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
package me.chanjar.weixin.channel.api.impl;
|
||||
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import me.chanjar.weixin.channel.api.WxChannelService;
|
||||
import me.chanjar.weixin.channel.api.WxStoreCooperationService;
|
||||
import me.chanjar.weixin.channel.bean.base.WxChannelBaseResponse;
|
||||
import me.chanjar.weixin.channel.test.ApiTestModule;
|
||||
import me.chanjar.weixin.channel.util.JsonUtils;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Guice(modules = ApiTestModule.class)
|
||||
public class WxStoreCooperationServiceImplTest {
|
||||
|
||||
@Inject
|
||||
private WxChannelService channelService;
|
||||
|
||||
@Test
|
||||
public void testListCooperation() throws WxErrorException {
|
||||
WxStoreCooperationService service = channelService.getCooperationService();
|
||||
Integer sharerType = 3;
|
||||
WxChannelBaseResponse response = service.listCooperation(sharerType);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
System.out.println(JsonUtils.encode(response));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetCooperationStatus() throws WxErrorException {
|
||||
WxStoreCooperationService service = channelService.getCooperationService();
|
||||
WxChannelBaseResponse response = service.getCooperationStatus("sph3FZbOEY64mWQ", 2);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGenerateQrCode() throws WxErrorException {
|
||||
WxStoreCooperationService service = channelService.getCooperationService();
|
||||
WxChannelBaseResponse response = service.generateQrCode("sph3FZbOEY64mWQ", 2);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCancelInvitation() throws WxErrorException {
|
||||
WxStoreCooperationService service = channelService.getCooperationService();
|
||||
WxChannelBaseResponse response = service.cancelInvitation("sph3FZbOEY64mWQ", 2);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnbind() throws WxErrorException {
|
||||
WxStoreCooperationService service = channelService.getCooperationService();
|
||||
WxChannelBaseResponse response = service.unbind("sph3FZbOEY64mWQ", 2);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
}
|
@ -6,8 +6,7 @@ import me.chanjar.weixin.channel.bean.message.order.OrderPayMessage;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* @author LiXiZe
|
||||
* @since 2023-04-20
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
public class WxChannelMessageRouterRuleTest {
|
||||
|
||||
|
@ -22,8 +22,7 @@ import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* @author LiXiZe
|
||||
* @since 2023-04-21
|
||||
* @author <a href="https://github.com/lixize">Zeyes</a>
|
||||
*/
|
||||
@Slf4j
|
||||
@Guice(modules = ApiTestModule.class)
|
||||
|
Loading…
Reference in New Issue
Block a user