|
@@ -293,6 +293,14 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
|
|
|
// 支付成功
|
|
|
if (PaymentStatus.SUCCESSED == paymentResp.getPaymentStatus()) {
|
|
|
+
|
|
|
+ // 三方支付费用
|
|
|
+
|
|
|
+ // 更新交易时间和服务费用
|
|
|
+ paymentOrder.payTime(Optional.ofNullable(paymentResp.getTriggerTime()).orElse(paymentOrder.getPayTime()))
|
|
|
+ .paymentChannelFee(paymentResp.getServiceCharge())
|
|
|
+ .setTransNo(paymentResp.getTransNo());
|
|
|
+ userPaymentOrderService.updateById(paymentOrder);
|
|
|
// 根据支付回调消息,更新订单状态
|
|
|
refundOnly("订单已超时,金额原路退回", paymentOrder.getOrderNo());
|
|
|
}
|
|
@@ -442,7 +450,7 @@ public class UserPaymentCoreServiceImpl implements UserPaymentCoreService {
|
|
|
UserPaymentOrderWrapper.UserPaymentOrder order = UserPaymentOrderWrapper.UserPaymentOrder
|
|
|
.builder()
|
|
|
.id(paymentOrder.getId())
|
|
|
- .status(EPaymentStatus.CLOSED)
|
|
|
+// .status(EPaymentStatus.CLOSED)
|
|
|
// .errorMsg(errorMessage)
|
|
|
.updateTime(DateTime.now().toDate())
|
|
|
.build();
|
|
@@ -1123,7 +1131,7 @@ DISCOUNT("畅学卡")
|
|
|
try {
|
|
|
|
|
|
// 已产生三方交易流水号,先判断三方订单支付状态若在支付中,则重复返回相同支付配置参数;避免用户重复支付
|
|
|
- if (StringUtils.isNotBlank(userPaymentOrder.getTransNo())) {
|
|
|
+ if (StringUtils.isNotBlank(userPaymentOrder.getTransNo()) || EPaymentStatus.PAYING == userPaymentOrder.getStatus()) {
|
|
|
|
|
|
// 获取缓存配置信息
|
|
|
String paymentConfig = redisCacheService.getUserPaymentConfig(reqConfig.getUserId(), userPaymentOrder.getOrderNo());
|
|
@@ -1162,6 +1170,7 @@ DISCOUNT("畅学卡")
|
|
|
.merOrderNo(reqConfig.getMerOrderNo())
|
|
|
.code(reqConfig.getCode());
|
|
|
|
|
|
+ config.setPaymentVendor(userPaymentOrder.getPaymentVendor());
|
|
|
config.setIp(reqConfig.getIp());
|
|
|
// 重新格式化设置价格
|
|
|
config.setPrice(config.getPrice().setScale(2, RoundingMode.HALF_UP));
|
|
@@ -1239,7 +1248,7 @@ DISCOUNT("畅学卡")
|
|
|
|
|
|
// 下单未拉起三方支付,直接关闭
|
|
|
if (StringUtils.isEmpty(paymentOrder.getTransNo())
|
|
|
- && (EPaymentStatus.WAIT_PAY == paymentOrder.getStatus()||EPaymentStatus.PAYING == paymentOrder.getStatus())) {
|
|
|
+ && (EPaymentStatus.WAIT_PAY == paymentOrder.getStatus())) {
|
|
|
|
|
|
closeWaitOrder(paymentOrder);
|
|
|
|
|
@@ -1659,8 +1668,11 @@ DISCOUNT("畅学卡")
|
|
|
if (Objects.isNull(detail)) {
|
|
|
throw new BizException("订单信息不存在");
|
|
|
}
|
|
|
+ List<UserOrderDetailVo> collect = detail.getOrderDetailList();
|
|
|
+ if (orderDetailIds != null) {
|
|
|
+ collect = detail.getOrderDetailList().stream().filter(o -> orderDetailIds.contains(o.getId())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
|
|
|
- List<UserOrderDetailVo> collect = detail.getOrderDetailList().stream().filter(o -> orderDetailIds.contains(o.getId())).collect(Collectors.toList());
|
|
|
BigDecimal reduce = collect.stream().map(o -> o.getActualPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
// 提交退款申请记录
|
|
|
UserOrderRefund userRefundOrder = new UserOrderRefund();
|