From 93ad59c289ba11fc991b6eb778e312652deb38c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E9=B9=8F=E8=BE=89?= <18322780655@163.com> Date: Fri, 26 Jan 2024 11:21:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B1=87=E4=BB=98=E9=80=80?= =?UTF-8?q?=E6=AC=BE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/hf/service/HfPayServiceImpl.java | 45 +++++++++++++++++-- .../impl/MerchantOrderServiceImpl.java | 2 +- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/hf/service/HfPayServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/hf/service/HfPayServiceImpl.java index 29efc21..df4ae60 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/hf/service/HfPayServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/hf/service/HfPayServiceImpl.java @@ -11,6 +11,7 @@ import cn.pluss.platform.exception.MsgException; import cn.pluss.platform.mapper.MerchantHfInfoMapper; import cn.pluss.platform.merchantOrder.MerchantOrderService; import cn.pluss.platform.pay.PayService; +import cn.pluss.platform.refundOrder.MerchantRefundOrderService; import cn.pluss.platform.util.DateUtils; import cn.pluss.platform.util.SnowFlakeUtil; import cn.pluss.platform.util.StringUtil; @@ -48,6 +49,10 @@ public class HfPayServiceImpl implements PayService { @Setter(onMethod_ = {@Autowired, @Lazy}) private MerchantOrderService merchantOrderService; + + @Setter(onMethod_ = {@Autowired, @Lazy}) + private MerchantRefundOrderService refundOrderService; + private static String changeY2F(double price) { DecimalFormat df = new DecimalFormat("#0.00"); return df.format(price); @@ -333,9 +338,9 @@ public class HfPayServiceImpl implements PayService { adapay = Refund.create(order.getTransNo(), refundParams); log.info("payment result=" + JSON.toJSONString(adapay)); if ("pending".equals(adapay.get("status"))) { - result.put("msg", "退款成功!"); + result.put("msg", "退款中!"); result.put("data", adapay.get("id")); - result.put("status", "1"); + result.put("status", "4"); result.put("code", ResultCode.SUCCESS.code()); return result; } else if ("failed".equals(adapay.get("status"))) { @@ -453,7 +458,7 @@ public class HfPayServiceImpl implements PayService { log.error("====================>【汇付】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", orderNo); return YsConfig.RESULT_SUCCESS_CODE; } - payDate = new Date(Long.valueOf(data.get("created_time").toString()) * 1000); + payDate = DateUtils.convertDateByString(data.get("created_time").toString()); order.setTransDt(payDate); order.setStatus("0"); order.setTransNo(data.get("id").toString()); @@ -469,12 +474,46 @@ public class HfPayServiceImpl implements PayService { break; case "refund.succeeded": + data = JSON.parseObject(params.get("data"), Map.class); + String returnOrderNo = data.get("refund_order_no").toString(); + QueryWrapper returnQueryWrapper = new QueryWrapper().eq("refundNo", returnOrderNo); + MerchantRefundOrder refundOrder = refundOrderService.getOne(returnQueryWrapper); + if (refundOrder == null) { + log.error("====================>【汇付】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", returnOrderNo); + return YsConfig.RESULT_SUCCESS_CODE; + } + refundOrder.setStatus("1"); + refundOrderService.update(refundOrder,returnQueryWrapper); + queryWrapper=new QueryWrapper().eq("orderNumber",refundOrder.getOrderNumber()); + order=merchantOrderService.getOne(queryWrapper); + + order.setStatus("2"); + merchantOrderService.update(order,queryWrapper); break; case "refund.failed": + + data = JSON.parseObject(params.get("data"), Map.class); + + returnOrderNo = data.get("refund_order_no").toString(); + returnQueryWrapper = new QueryWrapper().eq("refundNo", returnOrderNo); + + refundOrder = refundOrderService.getOne(returnQueryWrapper); + if (refundOrder == null) { + log.error("====================>【汇付】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", returnOrderNo); + return YsConfig.RESULT_SUCCESS_CODE; + } + + refundOrder.setStatus("3"); + refundOrderService.update(refundOrder,returnQueryWrapper); + queryWrapper=new QueryWrapper().eq("orderNumber",refundOrder.getOrderNumber()); + order=merchantOrderService.getOne(queryWrapper); + + order.setStatus("3"); + merchantOrderService.update(order,queryWrapper); break; } return result; diff --git a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantOrder/impl/MerchantOrderServiceImpl.java b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantOrder/impl/MerchantOrderServiceImpl.java index 43233b6..ea69386 100644 --- a/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantOrder/impl/MerchantOrderServiceImpl.java +++ b/pluss-service-bundle/src/main/java/cn/pluss/platform/merchantOrder/impl/MerchantOrderServiceImpl.java @@ -1627,7 +1627,7 @@ public class MerchantOrderServiceImpl extends ServiceImpl