Commit 68bef243 by 咸鱼

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

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