1
0
mirror of synced 2025-12-25 12:08:00 +08:00

🆕 #2018 【微信支付】增加营销代金券接口和营销专用图片上传接口

Co-authored-by: 黄星 <huang.xing@aquilaflycloud.com>
This commit is contained in:
thinsstar
2021-02-26 22:10:38 +08:00
committed by GitHub
parent 52c33e207c
commit bac1b679b4
29 changed files with 3079 additions and 1 deletions

View File

@@ -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));
}
}

View File

@@ -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);
}
}