From 044a57d2133b2363a6f0d3d167b3eaa587c70b91 Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Thu, 31 Jul 2025 17:18:47 +0800 Subject: [PATCH] Merge branch 'pxb' into xin --- oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java | 23 +++++++++++++++-------- 1 files changed, 15 insertions(+), 8 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java b/oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java index 23ff7af..ddd360b 100644 --- a/oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java +++ b/oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java @@ -5,10 +5,11 @@ import com.oying.modules.hwc.utils.SignUtil; import com.oying.modules.hwc.utils.XmlUtils; import com.oying.modules.security.config.SwiftPassProperties; -import com.oying.modules.sh.domain.Order; import com.oying.modules.sh.domain.OrderReturn; +import com.oying.modules.sh.domain.vo.OrderResponse; import com.oying.modules.sh.service.OrderReturnService; import com.oying.modules.sh.service.OrderService; +import com.oying.utils.enums.OrderStatusEnum; import com.oying.utils.enums.PayStateEnum; import com.oying.utils.enums.PayTypeEnum; import lombok.RequiredArgsConstructor; @@ -18,6 +19,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.Map; /** @@ -38,29 +40,31 @@ @Override @Transactional(rollbackFor = Exception.class) public void alipayCallback(HttpServletRequest request, HttpServletResponse response) { + Map<String, String> map = new HashMap<>(); try { String resString = XmlUtils.parseRequest(request); String respString = "error"; if (!resString.isEmpty()) { - Map<String, String> map = XmlUtils.toMap(resString.getBytes(), "utf-8"); + map = XmlUtils.toMap(resString.getBytes(), "utf-8"); String sign_type = map.get("sign_type"); String reSign = map.get("sign"); if (map.containsKey("sign")) { - Order order = orderService.getByOrderNum(map.get("out_trade_no")); - PayTypeEnum status = PayTypeEnum.find(order.getPayType()); + OrderResponse order = orderService.getByOrderNum(map.get("out_trade_no")); + PayTypeEnum status = PayTypeEnum.find(order.getOrder().getPayType()); if (SignUtil.verifySign(reSign, sign_type, map, properties, status)) { - log.error("验证签名错误!:{}", map.toString()); + log.error("汇旺财支付验证签名错误!:{}", map.toString()); } else { if ("0".equals(map.get("status"))) { if ("0".equals(map.get("result_code"))) { //业务处理 - if (PayStateEnum.SUCCESS.getKey().equals(order.getPayState())) { + if (PayStateEnum.SUCCESS.getKey().equals(order.getOrder().getPayState())) { // 已处理 respString = "success"; } else { PayStateEnum stateEnum = PayStateEnum.NOTPAY; if ("0".equals(map.get("pay_result"))) { stateEnum = PayStateEnum.SUCCESS; + orderService.operationLog(order, OrderStatusEnum.TWO, null); } orderService.updatePayStatus(map.get("out_trade_no"), stateEnum, map.get("pay_info"), map.get("time_end")); // 处理成功 @@ -73,6 +77,7 @@ } response.getWriter().write(respString); } catch (Exception e) { + log.error("汇旺财支付回调失败:{}", map.toString()); throw new BadRequestException("操作失败,原因:" + e.getMessage()); } } @@ -80,18 +85,19 @@ @Override @Transactional(rollbackFor = Exception.class) public void returnNotify(HttpServletRequest request, HttpServletResponse response) { + Map<String, String> map = new HashMap<>(); try { String resString = XmlUtils.parseRequest(request); String respString = "error"; if (!resString.isEmpty()) { - Map<String, String> map = XmlUtils.toMap(resString.getBytes(), "utf-8"); + map = XmlUtils.toMap(resString.getBytes(), "utf-8"); String sign_type = map.get("sign_type"); String reSign = map.get("sign"); if (map.containsKey("sign")) { OrderReturn order = returnService.getByReturnNum(map.get("out_refund_no")); PayTypeEnum status = PayTypeEnum.find(order.getPayType()); if (SignUtil.verifySign(reSign, sign_type, map, properties, status)) { - log.error("验证签名错误!:{}", map.toString()); + log.error("汇旺财退款验证签名错误!:{}", map.toString()); } else { if ("0".equals(map.get("status"))) { if ("0".equals(map.get("result_code"))) { @@ -107,6 +113,7 @@ } response.getWriter().write(respString); } catch (Exception e) { + log.error("汇旺财退款回调失败:{}", map.toString()); System.out.println("操作失败,原因:" + e.getMessage()); } } -- Gitblit v1.9.3