Commit 68bef243 by 咸鱼

部分退款不进行积分和库存冲正

parent d0a8b244
......@@ -19,7 +19,6 @@ import lombok.Data;
@Data
public class PayRefundResponse {
/**
* 支付退款状态
*/
......@@ -39,4 +38,9 @@ public class PayRefundResponse {
* 退款失败记录原因
*/
private String message;
/**
* 是否为部分退款订单
*/
private Boolean partRefund = false;
}
......@@ -112,6 +112,7 @@ public class PaymentHandle {
refundResponse = this.payRefund(req);
}
}
refundResponse.setPartRefund(!Objects.equals(orderBean.getSettlementAmount(), refundAmount.longValue()));
} catch (OrderServiceException orderEx) {
ResponseResult result = orderEx.getResult();
refundResponse = new PayRefundResponse();
......@@ -165,6 +166,7 @@ public class PaymentHandle {
refundResponse = this.payRefund(req);
}
}
refundResponse.setPartRefund(!Objects.equals(order.getSettlementAmount().compareTo(refundAmount), 0));
} catch (OrderServiceException orderEx) {
ResponseResult result = orderEx.getResult();
refundResponse = new PayRefundResponse();
......
......@@ -255,9 +255,13 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
saasOrderHandle.refundAgree(request, refundResponse, orderBean);
// 推送pos、微信消息中心
orderBaseService.sendMessage(orderBean, ORDER_AGREE_REFUND, request.getReason());
//todo 可以考虑基于订单回调异步实现
//冲正库存
// 退款冲正发送消息队列(部分退款不进行冲正)
if (!refundResponse.getPartRefund()) {
// todo 可以考虑基于订单回调异步实现
stockHandle.revert(request, orderBean);
}
if (refundResponse.getPayRefundStatus().getCode().compareTo(PayRefundStatus.RUNNING.getCode()) == 0) {
return ResponseUtil.error(ResponseResult.REFUND_FAIL.getCode(), refundResponse.getMessage());
}
......@@ -273,7 +277,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
*/
private PayRefundResponse payRefundCommon(OrderManagerRequest request, OrderBeanV1 orderBean) {
PayRefundResponse refundResponse = paymentHandle.getCommonPayRefundResponse(request, orderBean);
//同意退款退款失败记录到订单售后单
// 同意退款退款失败记录到订单售后单
if (orderBean.getAfterSalesOrderResp() != null && Objects.equals(PayRefundStatus.FAIL.getCode(), refundResponse.getPayRefundStatus().getCode())) {
AfterSalesRefundFailReq refundFailReq = this.getAfterSalesRefundFailReq(orderBean,
request.getOperator(),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment