From ce5fe759519be0d497191d4f15c1de67ad669748 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Thu, 11 Dec 2025 12:37:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=AC=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/PointsGoodPayService.java | 2 +- .../impl/OrderInfoCustomServiceImpl.java | 2 +- .../order/service/impl/PayServiceImpl.java | 47 +++++++++---------- .../impl/PointsGoodPayServiceImpl.java | 9 +++- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/order/service/PointsGoodPayService.java b/cash-common/cash-common-service/src/main/java/com/czg/order/service/PointsGoodPayService.java index 873a841a0..4eba3e1fc 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/order/service/PointsGoodPayService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/order/service/PointsGoodPayService.java @@ -20,5 +20,5 @@ public interface PointsGoodPayService { boolean applyRefund(PointGoodsRefundDTO param, Long shopId); //支付回调 进行兑换内容发放 - void payCallBack(Long recordId); + void payCallBack(Long recordId, Long payOrderId); } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java index ac15e19c7..e72c9d6f8 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java @@ -1174,7 +1174,7 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { else if ("distribution".equals(payment.getPayType())) { distributionUserService.open(payment.getSourceId(), payment.getAmount(), payment.getShopId(), payment.getId()); }else if("point".equals(payment.getPayType())){ - goodPayService.payCallBack(payment.getSourceId()); + goodPayService.payCallBack(payment.getSourceId(), payment.getId()); } } paymentService.updateById(payment); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java index b634df838..749262f29 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java @@ -2,6 +2,7 @@ package com.czg.service.order.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; @@ -848,22 +849,22 @@ public class PayServiceImpl implements PayService { Long refundId = initOrderPayment(new OrderPayment(shopId, sourceId, "refund", refPayOrderNo, null, refundAmount, payment.getId())); CzgResult refund = refund(shopId, new CzgRefundReq(refPayOrderNo, refundReason, refundAmount.multiply(MONEY_RATE).longValue(), payment.getOrderNo(), "")); + OrderPayment uOrderPayment = new OrderPayment(); + uOrderPayment.setTradeNumber(refund.getData().getRefundOrderId()); + uOrderPayment.setRespJson(JSONObject.toJSONString(refund.getData())); if (refund.getCode() != 200 || refund.getData() == null || !"SUCCESS".equals(refund.getData().getState())) { - paymentService.updateChain() - .eq(OrderPayment::getId, refundId) - .set(OrderPayment::getTradeNumber, refund.getData().getRefundOrderId()) - .set(OrderPayment::getRespJson, JSONObject.toJSONString(refund.getData())) - .set(OrderPayment::getPayStatus, "fail") - .update(); + uOrderPayment.setPayStatus("fail"); +// paymentService.updateChain() +// .eq(OrderPayment::getId, refundId) +// .set(OrderPayment::getTradeNumber, refund.getData().getRefundOrderId()) +// .set(OrderPayment::getRespJson, JSONObject.toJSONString(refund.getData())) +// .set(OrderPayment::getPayStatus, "fail") +// .update(); } else { - paymentService.updateChain() - .eq(OrderPayment::getId, refundId) - .set(OrderPayment::getPayTime, refund.getData().getRefundTime()) - .set(OrderPayment::getTradeNumber, refund.getData().getRefundOrderId()) - .set(OrderPayment::getRespJson, JSONObject.toJSONString(refund.getData())) - .set(OrderPayment::getPayStatus, "success") - .update(); + uOrderPayment.setPayStatus("success"); + uOrderPayment.setPayTime(LocalDateTimeUtil.parse(refund.getData().getRefundTime(), "yyyy-MM-dd HH:mm:ss")); } + paymentService.update(uOrderPayment, QueryWrapper.create().eq(OrderPayment::getId, refundId)); } @Override @@ -874,22 +875,16 @@ public class PayServiceImpl implements PayService { Long refundId = refundPayment.getId(); CzgResult refund = refund(payment.getShopId(), new CzgRefundReq(refPayOrderNo, "退款补偿", refundPayment.getAmount().multiply(MONEY_RATE).longValue(), payment.getOrderNo(), "")); + OrderPayment uOrderPayment = new OrderPayment(); + uOrderPayment.setTradeNumber(refund.getData().getRefundOrderId()); + uOrderPayment.setRespJson(JSONObject.toJSONString(refund.getData())); if (refund.getCode() != 200 || refund.getData() == null || !"SUCCESS".equals(refund.getData().getState())) { - paymentService.updateChain() - .eq(OrderPayment::getId, refundId) - .set(OrderPayment::getTradeNumber, refund.getData().getRefundOrderId()) - .set(OrderPayment::getRespJson, JSONObject.toJSONString(refund.getData())) - .set(OrderPayment::getPayStatus, "fail") - .update(); + uOrderPayment.setPayStatus("fail"); } else { - paymentService.updateChain() - .eq(OrderPayment::getId, refundId) - .set(OrderPayment::getPayTime, refund.getData().getRefundTime()) - .set(OrderPayment::getTradeNumber, refund.getData().getRefundOrderId()) - .set(OrderPayment::getRespJson, JSONObject.toJSONString(refund.getData())) - .set(OrderPayment::getPayStatus, "success") - .update(); + uOrderPayment.setPayStatus("success"); + uOrderPayment.setPayTime(LocalDateTimeUtil.parse(refund.getData().getRefundTime(), "yyyy-MM-dd HH:mm:ss")); } + paymentService.update(uOrderPayment, QueryWrapper.create().eq(OrderPayment::getId, refundId)); } @Override diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PointsGoodPayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PointsGoodPayServiceImpl.java index 3a868bd8e..c03dae01a 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PointsGoodPayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PointsGoodPayServiceImpl.java @@ -3,6 +3,7 @@ package com.czg.service.order.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSONObject; import com.czg.account.entity.ShopUser; import com.czg.account.service.ShopUserService; @@ -138,7 +139,8 @@ public class PointsGoodPayServiceImpl implements PointsGoodPayService { //退钱 if (record.getExtraPaymentAmount() != null && record.getExtraPaymentAmount().compareTo(BigDecimal.ZERO) > 0) { String refPayOrderNo = "REP" + IdUtil.getSnowflakeNextId(); - payService.unifyRefund(shopId, record.getId(), record.getPayOrderId(), refPayOrderNo, param.getReason(), record.getExtraPaymentAmount()); + payService.unifyRefund(shopId, record.getId(), record.getPayOrderId(), refPayOrderNo, + StrUtil.isBlankIfStr(param.getReason()) ? "积分商品退款" : param.getReason(), record.getExtraPaymentAmount()); } MkPointsGoodsRecord upRecord = new MkPointsGoodsRecord(); upRecord.setId(record.getId()); @@ -150,11 +152,14 @@ public class PointsGoodPayServiceImpl implements PointsGoodPayService { @Override @Transactional - public void payCallBack(Long recordId) { + public void payCallBack(Long recordId, Long payOrderId) { MkPointsGoodsRecord record = goodsRecordService.getById(recordId); if (record == null) { log.error("积分兑换商品发放失败,记录不存在"); + return; } + record.setPayOrderId(payOrderId); + record.setPayTime(LocalDateTime.now()); exchangeAfter(record, null); }