Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,22 @@ AfterSaleListResponse listIds(Long beginCreateTime, Long endCreateTime, String n
*/
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;

/**
* 上传退款凭证
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,13 @@ public WxChannelBaseResponse accept(String afterSaleOrderId, String addressId, I

@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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
* 售后单拒绝信息
*
Expand All @@ -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() {
}

Expand All @@ -40,4 +48,12 @@ public AfterSaleRejectParam(String afterSaleOrderId, String rejectReason, Intege
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;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,17 @@ public void testReject() throws WxErrorException {
assertTrue(response.isSuccess());
}

@Test
public void testRejectWithCertificates() throws WxErrorException {
WxChannelAfterSaleService afterSaleService = channelService.getAfterSaleService();
String afterSaleOrderId = "";
String rejectReason = null;
List<String> rejectCertificates = new ArrayList<>(4);
WxChannelBaseResponse response = afterSaleService.reject(afterSaleOrderId, rejectReason, 1, rejectCertificates);
Comment on lines +76 to +79
assertNotNull(response);
assertTrue(response.isSuccess());
}

@Test
public void testUploadRefundEvidence() throws WxErrorException {
WxChannelAfterSaleService afterSaleService = channelService.getAfterSaleService();
Expand Down