diff --git a/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/WalletServiceImpl.java b/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/WalletServiceImpl.java index 91aefae..887511b 100644 --- a/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/WalletServiceImpl.java +++ b/src/main/java/com/yn/bftl/thirdparty/modules/chinaums/service/impl/WalletServiceImpl.java @@ -339,6 +339,7 @@ if (jsonObject == null || jsonObject.get("rspCode") == null || jsonObject.get("transOrderNo") == null) { throw new YnceErrorException("系统异常,支付失败"); } + log.info("支付成功:" + jsonObject.toJSONString()); payment = paymentRepository.findFirstBySnOrderByIdDesc(paymentSn); String transOrderNo = jsonObject.get("transOrderNo").toString(); // 支付成功 @@ -349,30 +350,23 @@ payment.setExternalId(transOrderNo); payment.setUnionpaySn(transOrderNo); paymentRepository.saveAndFlush(payment); - this.handlePayStateSuccess(order, chinaumsGuaranteePayParamsDTOList); - // 获取订单 -// Order order = orderRepository.findById(Long.valueOf(payment.getOrderId())).orElse(null); -// if (order == null) { -// log.error("支付回调(MERGE_GUARANTEED_PAY)异常,订单不存在"); -// return false; -// } - // 若订单未支付进行回调处理 - if (PaymentStatus.UN_PAID.equals(order.getPaymentStatus())) { - // 生成收款单以及后续业务操作 - OrderOnlinePayVO orderOnlinePayVO = new OrderOnlinePayVO(); - orderOnlinePayVO.setOrderId(Long.valueOf(payment.getOrderId())); - orderOnlinePayVO.setPaymentId(payment.getId()); -// orderOnlinePayVO.setPayTime(payTime); - orderOnlinePayVO.setExternalId(payment.getExternalId()); -// ThirdPartyPaySet thirdPartyPaySet = thirdPartyConfigUtil.getPlatform(); -// if (thirdPartyPaySet == null || StringUtils.isBlank(thirdPartyPaySet.getServiceUrl())) { -// log.error("预存款支付回调失败:未配置第三方请求地址"); -// return false; -// } - JSONObject result = HttpClientUtil.getInstance().sendPost(thirdPartyConfigUtil.getPlatform().getServiceUrl() + RouteUtil.ROUTE_RECEIPT_ONLINE_PAY, orderOnlinePayVO); - if (!"200".equals(result.get("code").toString())) { - log.error("预存款支付回调失败:请求收款失败"); + try { + this.handlePayStateSuccess(order, chinaumsGuaranteePayParamsDTOList); + // 若订单未支付进行回调处理 + if (PaymentStatus.UN_PAID.equals(order.getPaymentStatus())) { + // 生成收款单以及后续业务操作 + OrderOnlinePayVO orderOnlinePayVO = new OrderOnlinePayVO(); + orderOnlinePayVO.setOrderId(Long.valueOf(payment.getOrderId())); + orderOnlinePayVO.setPaymentId(payment.getId()); + orderOnlinePayVO.setExternalId(payment.getExternalId()); + JSONObject result = HttpClientUtil.getInstance().sendPost(thirdPartyConfigUtil.getPlatform().getServiceUrl() + RouteUtil.ROUTE_RECEIPT_ONLINE_PAY, orderOnlinePayVO); + if (!"200".equals(result.get("code").toString())) { + log.error("预存款支付回调失败:请求收款失败"); + } } + } catch (Exception e) { + log.error(e.getMessage()); + throw new YnceErrorException("支付处理失败"); } return payment.getExternalId(); }