已经存在退款记录, 不能再次结算

This commit is contained in:
2024-02-21 15:58:33 +08:00
parent 932fc6fc11
commit b8d9226c42
4 changed files with 20 additions and 72 deletions

View File

@@ -461,6 +461,16 @@ public class OrderService {
return vo;
}
/**
* 通过orderCode获取退款明细列表
* @param orderCode
* @return
*/
private List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(String orderCode) {
return null;
}
/**
* 获取退款明细列表
* @param orderBasicInfo
@@ -482,21 +492,6 @@ public class OrderService {
}
}
} else if (OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue().equals(orderBasicInfo.getPayMode())) {
// List<PaymentReverseResponse> paymentReverseResponses = orderBasicInfoService.queryOrderAdapayRefund(orderBasicInfo);
// if (CollectionUtils.isNotEmpty(paymentReverseResponses)) {
// for (PaymentReverseResponse reverseResponse : paymentReverseResponses) {
// refundInfo = new OrderDetailInfoVO.OrderRefundInfo();
// refundInfo.setReverseId(reverseResponse.getId());
// refundInfo.setPaymentId(reverseResponse.getPayment_id());
// refundInfo.setReverseAmt(reverseResponse.getReverse_amt());
// LocalDateTime createdTime = DateUtils.timestampToDatetime(Long.parseLong(reverseResponse.getCreated_time()));
// refundInfo.setCreatedTime(DateUtils.formatDateTime(createdTime));
// LocalDateTime succeedTime = DateUtils.timestampToDatetime(Long.parseLong(reverseResponse.getSucceed_time()));
// refundInfo.setSucceedTime(DateUtils.formatDateTime(succeedTime));
// orderRefundInfoList.add(refundInfo);
// }
// }
// 新逻辑
String mode = pileMerchantInfoService.getDelayModeByMerchantId(orderBasicInfo.getMerchantId());
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
@@ -695,6 +690,13 @@ public class OrderService {
List<String> merchantDeptIds = authorizedMap.getMerchantDeptIds();
}
// 查询订单退款记录,如存在退款说明已经结算过,不能再次结算
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = getOrderRefundInfoList(orderBasicInfo);
if (CollectionUtils.isNotEmpty(orderRefundInfoList)) {
log.info("订单:{}, 已经存在退款记录:{}, 不能再次结算", orderBasicInfo.getOrderCode(), JSON.toJSONString(orderRefundInfoList));
return false;
}
String chargingAmount = dto.getChargingAmount();
String chargingDegree = dto.getChargingDegree();
if (StringUtils.equals(chargingAmount, Constants.ZERO) || StringUtils.equals(chargingDegree, Constants.ZERO)) {

View File

@@ -158,7 +158,7 @@ public class OrderBasicInfoController extends BaseController {
/**
* 人工结算订单
* 人工结算订单/手动结算逻辑/手动结算按钮
* http://localhost:8080/order/manualSettlementOrder
*/
@PostMapping("/manualSettlementOrder")