🆕 #2018 【微信支付】增加营销代金券接口和营销专用图片上传接口
Co-authored-by: 黄星 <huang.xing@aquilaflycloud.com>
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
package com.github.binarywang.wxpay.service.impl;
|
||||
|
||||
import com.github.binarywang.wxpay.bean.marketing.*;
|
||||
import com.github.binarywang.wxpay.bean.marketing.enums.StockTypeEnum;
|
||||
import com.github.binarywang.wxpay.exception.WxPayException;
|
||||
import com.github.binarywang.wxpay.service.MarketingFavorService;
|
||||
import com.github.binarywang.wxpay.service.WxPayService;
|
||||
import com.github.binarywang.wxpay.testbase.ApiTestModule;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.inject.Inject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 营销工具代金券测试类
|
||||
* </pre>
|
||||
*
|
||||
* @author thinsstar
|
||||
*/
|
||||
@Slf4j
|
||||
@Test
|
||||
@Guice(modules = ApiTestModule.class)
|
||||
public class MarketingFavorServiceImplTest {
|
||||
|
||||
@Inject
|
||||
private WxPayService wxPayService;
|
||||
|
||||
private static final Gson GSON = new GsonBuilder().create();
|
||||
|
||||
private final String stockId = "批次id";
|
||||
|
||||
private final String appId = "公众号id";
|
||||
private final String openId = "微信openid";
|
||||
|
||||
@Test
|
||||
public void testCreateFavorStocksV3() throws WxPayException {
|
||||
FavorStocksCreateRequest request = new FavorStocksCreateRequest();
|
||||
request.setStockName("测试代金券");
|
||||
request.setComment("测试代金券备注");
|
||||
request.setBelongMerchant(wxPayService.getConfig().getMchId());
|
||||
request.setAvailableBeginTime("2021-02-05T00:00:00.000+08:00");
|
||||
request.setAvailableEndTime("2021-03-31T00:00:00.000+08:00");
|
||||
request.setNoCash(false);
|
||||
request.setStockType(StockTypeEnum.NORMAL);
|
||||
request.setOutRequestNo(wxPayService.getConfig().getMchId() + "20210204" + "1234567890");
|
||||
//发放规则
|
||||
FavorStocksCreateRequest.StockUseRule stockUseRule = new FavorStocksCreateRequest.StockUseRule();
|
||||
stockUseRule.setMaxCoupons(5);
|
||||
stockUseRule.setMaxCouponsPerUser(5);
|
||||
stockUseRule.setNaturalPersonLimit(true);
|
||||
stockUseRule.setPreventApiAbuse(false);
|
||||
stockUseRule.setMaxAmount(50);
|
||||
request.setStockUseRule(stockUseRule);
|
||||
//样式设置
|
||||
// FavorStocksCreateRequest.PatternInfo patternInfo = new FavorStocksCreateRequest.PatternInfo();
|
||||
// request.setPatternInfo(patternInfo);
|
||||
//核销规则
|
||||
FavorStocksCreateRequest.CouponUseRule couponUseRule = new FavorStocksCreateRequest.CouponUseRule();
|
||||
FavorStocksCreateRequest.FixedNormalCoupon fixedNormalCoupon = new FavorStocksCreateRequest.FixedNormalCoupon();
|
||||
fixedNormalCoupon.setCouponAmount(10);
|
||||
fixedNormalCoupon.setTransactionMinimum(11);
|
||||
couponUseRule.setFixedNormalCoupon(fixedNormalCoupon);
|
||||
couponUseRule.setCombineUse(true);
|
||||
couponUseRule.setAvailableMerchants(Collections.singletonList(wxPayService.getConfig().getMchId()));
|
||||
request.setCouponUseRule(couponUseRule);
|
||||
FavorStocksCreateResult result = wxPayService.getMarketingFavorService().createFavorStocksV3(request);
|
||||
String stockId = result.getStockId();
|
||||
|
||||
log.info("stockId: [{}]", stockId);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateFavorCouponsV3() throws WxPayException {
|
||||
MarketingFavorService marketingFavorService = new MarketingFavorServiceImpl(wxPayService);
|
||||
FavorCouponsCreateRequest request = new FavorCouponsCreateRequest();
|
||||
request.setStockCreatorMchid(wxPayService.getConfig().getMchId());
|
||||
request.setStockId(stockId);
|
||||
request.setAppid(appId);
|
||||
request.setOutRequestNo(wxPayService.getConfig().getMchId() + "20210204" + "1234567890");
|
||||
FavorCouponsCreateResult result = wxPayService.getMarketingFavorService().createFavorCouponsV3(openId, request);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStartFavorStocksV3() throws WxPayException {
|
||||
FavorStocksSetRequest request = new FavorStocksSetRequest();
|
||||
request.setStockCreatorMchid(wxPayService.getConfig().getMchId());
|
||||
FavorStocksStartResult result = wxPayService.getMarketingFavorService().startFavorStocksV3(stockId, request);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQueryFavorStocksV3() throws WxPayException {
|
||||
FavorStocksQueryRequest request = new FavorStocksQueryRequest();
|
||||
request.setOffset(0);
|
||||
request.setLimit(10);
|
||||
request.setStockCreatorMchid(wxPayService.getConfig().getMchId());
|
||||
FavorStocksQueryResult result = wxPayService.getMarketingFavorService().queryFavorStocksV3(request);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFavorStocksV3() throws WxPayException {
|
||||
FavorStocksGetResult result = wxPayService.getMarketingFavorService().getFavorStocksV3(stockId, wxPayService.getConfig().getMchId());
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFavorCouponsV3() throws WxPayException {
|
||||
FavorCouponsGetResult result = wxPayService.getMarketingFavorService().getFavorCouponsV3("20387541242", appId, openId);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFavorStocksMerchantsV3() throws WxPayException {
|
||||
FavorStocksMerchantsGetResult result = wxPayService.getMarketingFavorService().getFavorStocksMerchantsV3(stockId, wxPayService.getConfig().getMchId(), 0, 50);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFavorStocksItemsV3() throws WxPayException {
|
||||
FavorStocksItemsGetResult result = wxPayService.getMarketingFavorService().getFavorStocksItemsV3(stockId, wxPayService.getConfig().getMchId(), 0, 100);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testQueryFavorCouponsV3() throws WxPayException {
|
||||
FavorCouponsQueryRequest request = new FavorCouponsQueryRequest();
|
||||
request.setAppid(appId);
|
||||
request.setOpenid(openId);
|
||||
request.setAvailableMchid(wxPayService.getConfig().getMchId());
|
||||
FavorCouponsQueryResult result = wxPayService.getMarketingFavorService().queryFavorCouponsV3(request);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFavorStocksUseFlowV3() throws WxPayException {
|
||||
FavorStocksFlowGetResult result = wxPayService.getMarketingFavorService().getFavorStocksUseFlowV3(stockId);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFavorStocksRefundFlowV3() throws WxPayException {
|
||||
FavorStocksFlowGetResult result = wxPayService.getMarketingFavorService().getFavorStocksRefundFlowV3(stockId);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaveFavorCallbacksV3() throws WxPayException {
|
||||
FavorCallbacksSaveRequest request = new FavorCallbacksSaveRequest();
|
||||
request.setMchid(wxPayService.getConfig().getMchId());
|
||||
request.setNotifyUrl("你的回调地址");
|
||||
request.setSwitchBool(false);
|
||||
FavorCallbacksSaveResult result = wxPayService.getMarketingFavorService().saveFavorCallbacksV3(request);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPauseFavorStocksV3() throws WxPayException {
|
||||
FavorStocksSetRequest request = new FavorStocksSetRequest();
|
||||
request.setStockCreatorMchid(wxPayService.getConfig().getMchId());
|
||||
FavorStocksStartResult result = wxPayService.getMarketingFavorService().pauseFavorStocksV3(stockId, request);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRestartFavorStocksV3() throws WxPayException {
|
||||
FavorStocksSetRequest request = new FavorStocksSetRequest();
|
||||
request.setStockCreatorMchid(wxPayService.getConfig().getMchId());
|
||||
FavorStocksStartResult result = wxPayService.getMarketingFavorService().restartFavorStocksV3(stockId, request);
|
||||
|
||||
log.info("result: {}", GSON.toJson(result));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.github.binarywang.wxpay.service.impl;
|
||||
|
||||
import com.github.binarywang.wxpay.bean.media.MarketingImageUploadResult;
|
||||
import com.github.binarywang.wxpay.exception.WxPayException;
|
||||
import com.github.binarywang.wxpay.service.WxPayService;
|
||||
import com.github.binarywang.wxpay.testbase.ApiTestModule;
|
||||
import com.google.inject.Inject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 营销专用媒体文件上传测试类
|
||||
* </pre>
|
||||
*
|
||||
* @author thinsstar
|
||||
*/
|
||||
@Slf4j
|
||||
@Test
|
||||
@Guice(modules = ApiTestModule.class)
|
||||
public class MarketingMediaServiceImplTest {
|
||||
|
||||
@Inject
|
||||
private WxPayService wxPayService;
|
||||
|
||||
@Test
|
||||
public void testMarketingImageUploadV3() throws WxPayException, IOException {
|
||||
String filePath = "你的图片文件的路径地址";
|
||||
|
||||
File file = new File(filePath);
|
||||
|
||||
MarketingImageUploadResult imageUploadResult = wxPayService.getMarketingMediaService().imageUploadV3(file);
|
||||
String mediaUrl = imageUploadResult.getMediaUrl();
|
||||
|
||||
log.info("mediaUrl:[{}]", mediaUrl);
|
||||
|
||||
File file2 = new File(filePath);
|
||||
|
||||
MarketingImageUploadResult imageUploadResult2 = wxPayService.getMarketingMediaService().imageUploadV3(file2);
|
||||
String mediaUrl2 = imageUploadResult2.getMediaUrl();
|
||||
|
||||
log.info("mediaUrl2:[{}]", mediaUrl2);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user