🎨 #4022 【视频号】小店“拒绝售后”接口添加拒绝凭证参数支持
This commit is contained in:
@@ -77,6 +77,22 @@ public interface WxChannelAfterSaleService {
|
||||
*/
|
||||
WxChannelBaseResponse reject(String afterSaleOrderId, String rejectReason, Integer rejectReasonType) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 拒绝售后(支持拒绝凭证)
|
||||
* 文档地址 https://developers.weixin.qq.com/doc/channels/API/aftersale/rejectapply.html
|
||||
*
|
||||
* @param afterSaleOrderId 售后单号
|
||||
* @param rejectReason 拒绝原因
|
||||
* @param rejectReasonType 拒绝原因枚举值
|
||||
* @param rejectCertificates 拒绝凭证图片列表,可使用图片上传接口获取media_id
|
||||
* @see #getRejectReason()
|
||||
* @return BaseResponse
|
||||
*
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
WxChannelBaseResponse reject(String afterSaleOrderId, String rejectReason, Integer rejectReasonType,
|
||||
List<String> rejectCertificates) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 上传退款凭证
|
||||
*
|
||||
|
||||
@@ -61,7 +61,13 @@ public class WxChannelAfterSaleServiceImpl implements WxChannelAfterSaleService
|
||||
|
||||
@Override
|
||||
public WxChannelBaseResponse reject(String afterSaleOrderId, String rejectReason, Integer rejectReasonType) throws WxErrorException {
|
||||
AfterSaleRejectParam param = new AfterSaleRejectParam(afterSaleOrderId, rejectReason, rejectReasonType);
|
||||
return reject(afterSaleOrderId, rejectReason, rejectReasonType, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WxChannelBaseResponse reject(String afterSaleOrderId, String rejectReason, Integer rejectReasonType,
|
||||
List<String> rejectCertificates) throws WxErrorException {
|
||||
AfterSaleRejectParam param = new AfterSaleRejectParam(afterSaleOrderId, rejectReason, rejectReasonType, rejectCertificates);
|
||||
String resJson = shopService.post(AFTER_SALE_REJECT_URL, param);
|
||||
return ResponseUtils.decode(resJson, WxChannelBaseResponse.class);
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 售后单拒绝信息
|
||||
*
|
||||
@@ -27,6 +29,12 @@ public class AfterSaleRejectParam extends AfterSaleIdParam {
|
||||
@JsonProperty("reject_reason_type")
|
||||
private Integer rejectReasonType;
|
||||
|
||||
/**
|
||||
* 拒绝凭证图片列表,可使用图片上传接口获取media_id
|
||||
*/
|
||||
@JsonProperty("reject_certificates")
|
||||
private List<String> rejectCertificates;
|
||||
|
||||
public AfterSaleRejectParam() {
|
||||
}
|
||||
|
||||
@@ -40,4 +48,12 @@ public class AfterSaleRejectParam extends AfterSaleIdParam {
|
||||
this.rejectReason = rejectReason;
|
||||
this.rejectReasonType = rejectReasonType;
|
||||
}
|
||||
|
||||
public AfterSaleRejectParam(String afterSaleOrderId, String rejectReason, Integer rejectReasonType,
|
||||
List<String> rejectCertificates) {
|
||||
super(afterSaleOrderId);
|
||||
this.rejectReason = rejectReason;
|
||||
this.rejectReasonType = rejectReasonType;
|
||||
this.rejectCertificates = rejectCertificates;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +70,18 @@ public class WxChannelAfterSaleServiceImplTest {
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRejectWithCertificates() throws WxErrorException {
|
||||
WxChannelAfterSaleService afterSaleService = channelService.getAfterSaleService();
|
||||
String afterSaleOrderId = "";
|
||||
String rejectReason = null;
|
||||
List<String> rejectCertificates = new ArrayList<>(4);
|
||||
rejectCertificates.add("THE_FILE_ID_1");
|
||||
WxChannelBaseResponse response = afterSaleService.reject(afterSaleOrderId, rejectReason, 1, rejectCertificates);
|
||||
assertNotNull(response);
|
||||
assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUploadRefundEvidence() throws WxErrorException {
|
||||
WxChannelAfterSaleService afterSaleService = channelService.getAfterSaleService();
|
||||
|
||||
Reference in New Issue
Block a user