update 批量订单退款接口

This commit is contained in:
2023-08-31 17:31:19 +08:00
parent 7fe676efdb
commit fa5ecb02dd
4 changed files with 42 additions and 3 deletions

View File

@@ -404,4 +404,18 @@ public class TempController extends BaseController {
orderService.adapayRefund(dto);
return new RestApiResponse<>();
}
/**
* 批量订单退款
* 支持在线支付/余额支付
*/
@PostMapping("/batchRefundOrder")
public RestApiResponse<?> batchRefundOrder(@RequestBody QueryOrderDTO dto) {
try {
tempService.batchRefundOrder(dto.getOrderCodeList());
} catch (Exception e) {
logger.error("批量订单退款error", e);
}
return new RestApiResponse<>();
}
}

View File

@@ -428,4 +428,17 @@ public class TempService {
resultMap.put("unClearingList", unClearingList);
return resultMap;
}
public void batchRefundOrder(List<String> orderCodeList) throws BaseAdaPayException {
List<OrderBasicInfo> orderBasicInfos = orderBasicInfoService.queryOrderList(orderCodeList);
for (OrderBasicInfo orderBasicInfo : orderBasicInfos) {
String payMode = orderBasicInfo.getPayMode();
if (StringUtils.equals(payMode, OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) {
orderBasicInfoService.retryRefundOrder(orderBasicInfo);
} else {
orderBasicInfoService.orderPaymentSettlementAndRefund(orderBasicInfo);
}
// logger.info("批量进行问题订单退款orderCode:{}, result:{}", orderBasicInfo.getOrderCode(), JSON.toJSONString(result));
}
}
}

View File

@@ -338,8 +338,11 @@ public interface IOrderBasicInfoService {
* @param orderCode 订单编号
*/
void retryRefundOrder(String orderCode) throws BaseAdaPayException;
void retryRefundOrder(OrderBasicInfo orderBasicInfo) throws BaseAdaPayException;
void returnUpdateOrderBasicInfo(OrderBasicInfo orderBasicInfo, TransactionRecordsData data);
OrderSettleResult orderPaymentSettlementAndRefund(OrderBasicInfo orderBasicInfo);
void returnUpdateOrderBasicInfo(OrderBasicInfo orderBasicInfo, TransactionRecordsData data);
OrderDetail returnUpdateOrderDetail(OrderBasicInfo orderBasicInfo, TransactionRecordsData data);
}

View File

@@ -732,7 +732,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
* 订单分账逻辑
* 订单结算完成就执行清分and退款
*/
private OrderSettleResult orderPaymentSettlementAndRefund(OrderBasicInfo orderBasicInfo) {
@Override
public OrderSettleResult orderPaymentSettlementAndRefund(OrderBasicInfo orderBasicInfo) {
String merchantId = orderBasicInfo.getMerchantId();
String orderCode = orderBasicInfo.getOrderCode();
// 获取一级运营商信息
@@ -1146,7 +1147,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// }
// }
private void balancePaymentOrderRefundV2(OrderBasicInfo orderBasicInfo) {
@Transactional(rollbackFor = Exception.class)
public void balancePaymentOrderRefundV2(OrderBasicInfo orderBasicInfo) {
// 订单编号
String orderCode = orderBasicInfo.getOrderCode();
// 订单消费金额
@@ -2982,6 +2984,13 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
public void retryRefundOrder(String orderCode) throws BaseAdaPayException {
// 查询订单信息
OrderBasicInfo orderBasicInfo = getOrderInfoByOrderCode(orderCode);
retryRefundOrder(orderBasicInfo);
}
@Override
public void retryRefundOrder(OrderBasicInfo orderBasicInfo) throws BaseAdaPayException {
String orderCode = orderBasicInfo.getOrderCode();
// 查询订单信息
if (orderBasicInfo == null) {
throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL);
}