From 2259818ae150f10014db2906dc7dbc7cae1394f0 Mon Sep 17 00:00:00 2001 From: gong <1157756119@qq.com> Date: Thu, 15 Jan 2026 14:04:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=8A=B6=E6=80=81=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/czg/controller/NotifyController.java | 5 ++- .../czg/controller/pay/VipPayController.java | 20 ++++++++-- .../order/service/OrderInfoCustomService.java | 2 +- .../java/com/czg/pay/QueryOrderRespDTO.java | 39 +++++++++++++++++++ .../src/main/java/com/czg/PayManager.java | 11 ++---- .../czg/third/alipay/AlipayIsvPayManager.java | 9 ++--- .../czg/third/wechat/WechatPayManager.java | 30 +++++++------- .../czg/service/order/service/PayService.java | 4 +- .../impl/OrderInfoCustomServiceImpl.java | 5 ++- .../order/service/impl/PayServiceImpl.java | 6 +-- .../src/main/java/com/czg/PayAdapter.java | 3 +- .../java/com/czg/impl/NativePayAdapter.java | 12 +++--- .../java/com/czg/impl/PolyPayAdapter.java | 20 ++++++---- 13 files changed, 107 insertions(+), 59 deletions(-) create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/pay/QueryOrderRespDTO.java diff --git a/cash-api/order-server/src/main/java/com/czg/controller/NotifyController.java b/cash-api/order-server/src/main/java/com/czg/controller/NotifyController.java index cad69c2cb..07f4c90ce 100644 --- a/cash-api/order-server/src/main/java/com/czg/controller/NotifyController.java +++ b/cash-api/order-server/src/main/java/com/czg/controller/NotifyController.java @@ -5,6 +5,7 @@ import cn.hutool.core.io.IoUtil; import com.alibaba.fastjson2.JSONObject; import com.czg.PayCst; import com.czg.PolyPayUtils; +import com.czg.constant.PayChannelCst; import com.czg.constants.PayTypeConstants; import com.czg.dto.req.WechatNotifyReqDto; import com.czg.dto.req.WechatPayNotifyDataDto; @@ -77,7 +78,7 @@ public class NotifyController { WechatPayNotifyDataDto dataDto = JSONObject.parseObject(decrypted, WechatPayNotifyDataDto.class); PayNotifyRespDTO respDTO = dataDto.convertToPayNotifyRespDTO(); - orderInfoCustomService.payCallBackOrder(respDTO.getMchOrderNo(), respDTO, 0); + orderInfoCustomService.payCallBackOrder(respDTO.getMchOrderNo(), respDTO, PayChannelCst.NATIVE, 0); return "success"; } else if (PayCst.Platform.ALIPAY.equalsIgnoreCase(platform)) { // 支付宝 @@ -112,7 +113,7 @@ public class NotifyController { PayNotifyRespDTO respDTO = PolyPayUtils.getNotifyResp(respParams); AssertUtil.isNull(respDTO, "支付回调数据为空"); log.info("支付回调数据为:{}", respDTO); - orderInfoCustomService.payCallBackOrder(respDTO.getMchOrderNo(), respDTO, 0); + orderInfoCustomService.payCallBackOrder(respDTO.getMchOrderNo(), respDTO, PayChannelCst.POLY, 0); return SUCCESS; } diff --git a/cash-api/order-server/src/main/java/com/czg/controller/pay/VipPayController.java b/cash-api/order-server/src/main/java/com/czg/controller/pay/VipPayController.java index f0bb03d15..ad1b1c56b 100644 --- a/cash-api/order-server/src/main/java/com/czg/controller/pay/VipPayController.java +++ b/cash-api/order-server/src/main/java/com/czg/controller/pay/VipPayController.java @@ -1,7 +1,9 @@ package com.czg.controller.pay; import com.czg.annotation.Debounce; -import com.czg.entity.resp.CzgBaseResp; +import com.czg.order.entity.OrderPayment; +import com.czg.order.service.OrderPaymentService; +import com.czg.pay.QueryOrderRespDTO; import com.czg.resp.CzgResult; import com.czg.service.order.dto.VipMemberPayParamDTO; import com.czg.service.order.dto.VipPayParamDTO; @@ -10,6 +12,7 @@ import com.czg.service.order.service.PayService; import com.czg.service.order.service.ShopUserPayService; import com.czg.utils.AssertUtil; import com.czg.utils.ServletUtil; +import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; import org.springframework.validation.annotation.Validated; @@ -32,6 +35,9 @@ public class VipPayController { @Resource private ShopUserPayService shopUserPayService; + @Resource + private OrderPaymentService orderPaymentService; + /** * 现金充值 * 如果shop_info的 is_member_in_pwd=1 则pwd必填 店铺操作密码 @@ -168,10 +174,16 @@ public class VipPayController { public CzgResult queryOrderStatus(Long shopId, String payOrderNo) { AssertUtil.isNull(shopId, "店铺id不能为空"); AssertUtil.isBlank(payOrderNo, "支付单号不能为空"); + + OrderPayment payment = orderPaymentService.getOne(QueryWrapper.create().eq(OrderPayment::getOrderNo, payOrderNo)); + if (payment == null) { + return CzgResult.failure("支付单号不存在"); + } + CzgResult result = CzgResult.success(); - CzgResult queryPayOrder = payService.queryPayOrder(shopId, null, payOrderNo); - if (queryPayOrder.getCode() == 200 && queryPayOrder.getData() != null) { - String state = queryPayOrder.getData().getState(); + CzgResult queryPayOrder = payService.queryPayOrder(shopId, null, payOrderNo, payment.getPlatformType()); + if (queryPayOrder.isSuccess() && queryPayOrder.getData() != null) { + String state = queryPayOrder.getData().getStatus(); result.setData(state); switch (state) { case "TRADE_AWAIT" -> result.setMsg("等待用户付款"); diff --git a/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoCustomService.java b/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoCustomService.java index a7f85823f..bda46f3d6 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoCustomService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoCustomService.java @@ -44,7 +44,7 @@ public interface OrderInfoCustomService { CzgResult mergeOrder(MergeOrderDTO param); - void payCallBackOrder(@NotBlank String orderNo, @NotNull PayNotifyRespDTO notifyRespDTO, int retryCount); + void payCallBackOrder(@NotBlank String orderNo, @NotNull PayNotifyRespDTO notifyRespDTO, String channel, int retryCount); void refundCallBackOrder(@NotBlank String orderNo, @NotNull JSONObject resultJson); diff --git a/cash-common/cash-common-service/src/main/java/com/czg/pay/QueryOrderRespDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/pay/QueryOrderRespDTO.java new file mode 100644 index 000000000..7c8f0a5e2 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/pay/QueryOrderRespDTO.java @@ -0,0 +1,39 @@ +package com.czg.pay; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * 查询订单响应参数 + * @author yjjie + * @date 2026/1/15 13:56 + */ +@Data +@Accessors(chain = true) +public class QueryOrderRespDTO { + + /** + * 订单号 + */ + private String orderNo; + + /** + * 状态 + */ + private String status; + + /** + * 金额 + */ + private Long amount; + + /** + * 错误信息 + */ + private String errorMsg; + + /** + * 原始响应数据 + */ + private String originResp; +} diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/PayManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/PayManager.java index caaa9def7..6dc32e0b1 100644 --- a/cash-sdk/aggregation-pay/src/main/java/com/czg/PayManager.java +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/PayManager.java @@ -2,10 +2,7 @@ package com.czg; import com.czg.constants.SystemConstants; import com.czg.exception.CzgException; -import com.czg.pay.CzgPayBaseReq; -import com.czg.pay.CzgRefundReq; -import com.czg.pay.NativeMerchantDTO; -import com.czg.pay.RefundRespDTO; +import com.czg.pay.*; import com.czg.third.alipay.AlipayIsvPayManager; import com.czg.third.wechat.WechatPayManager; @@ -52,11 +49,11 @@ public class PayManager { /** * 查询订单状态 */ - public static Map queryOrderStatus(String platform, String orderNo, String subMerchantId) { + public static QueryOrderRespDTO queryOrderStatus(String platform, String orderNo, NativeMerchantDTO merchantDTO) { if (SystemConstants.PayType.WECHAT.equals(platform)) { - return WechatPayManager.queryOrder(null, orderNo, subMerchantId); + return WechatPayManager.queryOrder(null, orderNo, merchantDTO); } else if (SystemConstants.PayType.ALIPAY.equals(platform)) { - return AlipayIsvPayManager.queryOrder(null, orderNo, subMerchantId); + return AlipayIsvPayManager.queryOrder(null, orderNo, merchantDTO); } else { throw new CzgException("不支持的支付平台"); } diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvPayManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvPayManager.java index 3e0041597..159f0fb88 100644 --- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvPayManager.java +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvPayManager.java @@ -10,10 +10,7 @@ import com.alipay.v3.model.ExtendParams; import com.alipay.v3.util.model.CustomizedParams; import com.czg.PayCst; import com.czg.exception.CzgException; -import com.czg.pay.CzgPayBaseReq; -import com.czg.pay.CzgRefundReq; -import com.czg.pay.NativeMerchantDTO; -import com.czg.pay.RefundRespDTO; +import com.czg.pay.*; import com.czg.third.alipay.dto.config.AlipayConfigDto; import lombok.extern.slf4j.Slf4j; @@ -104,8 +101,8 @@ public class AlipayIsvPayManager { } } - public static Map queryOrder(AlipayConfigDto configDto, String orderNo, String subMerchantId) { - return new HashMap<>(); + public static QueryOrderRespDTO queryOrder(AlipayConfigDto configDto, String orderNo, NativeMerchantDTO merchantDTO) { + return new QueryOrderRespDTO(); } public static RefundRespDTO refundOrder(AlipayConfigDto configDto, CzgRefundReq paramsDto, String notifyUrl, NativeMerchantDTO merchantDTO) { diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatPayManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatPayManager.java index d97d6e24d..cf047806d 100644 --- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatPayManager.java +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatPayManager.java @@ -6,10 +6,7 @@ import cn.hutool.http.HttpUtil; import com.alibaba.fastjson2.JSONObject; import com.czg.PayCst; import com.czg.exception.CzgException; -import com.czg.pay.CzgPayBaseReq; -import com.czg.pay.CzgRefundReq; -import com.czg.pay.NativeMerchantDTO; -import com.czg.pay.RefundRespDTO; +import com.czg.pay.*; import com.czg.third.wechat.dto.config.WechatPayConfigDto; import com.wechat.pay.java.core.Config; import com.wechat.pay.java.core.cipher.Signer; @@ -205,7 +202,7 @@ public class WechatPayManager { * * @param configDto 配置 * @param orderNo 订单号 - * @param subMerchantId 子商户号 + * @param merchantDTO 支付商户信息 * SUCCESS:支付成功 * REFUND:转入退款 * NOTPAY:未支付 @@ -214,34 +211,35 @@ public class WechatPayManager { * USERPAYING:用户支付中(仅付款码支付会返回) * PAYERROR:支付失败(仅付款码支付会返回) */ - public static Map queryOrder(WechatPayConfigDto configDto, String orderNo, String subMerchantId) { + public static QueryOrderRespDTO queryOrder(WechatPayConfigDto configDto, String orderNo, NativeMerchantDTO merchantDTO) { try { if (configDto == null) { configDto = WechatPayConfigDto.getDefaultConfig(); } String resp = WechatReqUtils.getReq(configDto, "/v3/pay/partner/transactions/out-trade-no/" + orderNo, - Map.of("sp_mchid", configDto.getMerchantId(), "sub_mchid", subMerchantId)); + Map.of("sp_mchid", configDto.getMerchantId(), "sub_mchid", merchantDTO.getWechatMerchantId())); log.info("微信查询订单,订单号:{}, 响应:{}", orderNo, resp); - JSONObject res = new JSONObject(); - res.put("orderNo", orderNo); + QueryOrderRespDTO queryOrderRespDTO = new QueryOrderRespDTO() + .setOrderNo(orderNo) + .setOriginResp(resp); JSONObject object = JSONObject.parseObject(resp); String tradeState = object.getString("trade_state"); - res.put("message", object.getString("trade_state_desc")); + queryOrderRespDTO.setErrorMsg(object.getString("trade_state_desc")); if (PAY_SUCCESS.equals(tradeState)) { - res.put("status", "TRADE_SUCCESS"); - return res; + queryOrderRespDTO.setStatus("TRADE_SUCCESS"); + return queryOrderRespDTO; } if ("USERPAYING".equals(tradeState)) { - res.put("status", "TRADE_AWAIT"); - return res; + queryOrderRespDTO.setStatus("TRADE_AWAIT"); + return queryOrderRespDTO; } - res.put("status", "TRADE_FAIL"); - return res; + queryOrderRespDTO.setStatus("TRADE_FAIL"); + return queryOrderRespDTO; } catch (Exception e) { log.error("微信查询订单异常: orderNo = {}, e = {}", orderNo, e.getMessage()); throw new CzgException("微信查询订单异常"); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/PayService.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/PayService.java index faec650d3..265efb883 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/PayService.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/PayService.java @@ -1,11 +1,11 @@ package com.czg.service.order.service; -import com.czg.entity.resp.CzgBaseResp; import com.czg.enums.CzgPayEnum; import com.czg.order.dto.LtPayOtherDTO; import com.czg.order.entity.OrderPayment; import com.czg.pay.CzgPayBaseReq; import com.czg.pay.CzgRefundReq; +import com.czg.pay.QueryOrderRespDTO; import com.czg.pay.RefundRespDTO; import com.czg.resp.CzgResult; import lombok.NonNull; @@ -67,7 +67,7 @@ public interface PayService { * @param payOrderId 平台订单号 * @param mchOrderNo 商户订单号 */ - CzgResult queryPayOrder(Long shopId, String payOrderId, String mchOrderNo); + CzgResult queryPayOrder(Long shopId, String payOrderId, String mchOrderNo, String platform); /** * 退款查询 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 5864f4b49..6eeaa0c2c 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 @@ -1030,12 +1030,12 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { @Override @Transactional - public void payCallBackOrder(@NotBlank String orderNo, @NotNull PayNotifyRespDTO notifyRespDTO, int retryCount) { + public void payCallBackOrder(@NotBlank String orderNo, @NotNull PayNotifyRespDTO notifyRespDTO, String channel, int retryCount) { OrderPayment payment = paymentService.getOne(new QueryWrapper().eq(OrderPayment::getOrderNo, orderNo)); if (payment == null) { if (retryCount < MAX_RETRIES) { log.info("支付记录不存在,第 {} 次重试,将在 {} 秒后进行", retryCount + 1, DELAY); - executorService.schedule(() -> payCallBackOrder(orderNo, notifyRespDTO, retryCount + 1), DELAY, TimeUnit.SECONDS); + executorService.schedule(() -> payCallBackOrder(orderNo, notifyRespDTO, channel, retryCount + 1), DELAY, TimeUnit.SECONDS); } else { log.error("订单支付回调失败, 达到最大重试次数, 支付记录不存在, orderNo: {}", orderNo); } @@ -1049,6 +1049,7 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { payment.setRespJson(notifyRespDTO.getOriginalData()); payment.setPayStatus(PayTypeConstants.PayStatus.FAIL); payment.setPlatformType(notifyRespDTO.getPlatform()); + payment.setChannel(channel); if ("TRADE_SUCCESS".equals(notifyRespDTO.getStatus())) { payment.setPayStatus(PayTypeConstants.PayStatus.SUCCESS); if (PayTypeConstants.SourceType.ORDER.equals(payment.getSourceType())) { 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 b0b1f2023..3dca891a4 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 @@ -10,7 +10,6 @@ import com.czg.constant.PayChannelCst; import com.czg.constants.ParamCodeCst; import com.czg.constants.PayTypeConstants; import com.czg.constants.SystemConstants; -import com.czg.entity.resp.CzgBaseResp; import com.czg.enums.CzgPayEnum; import com.czg.exception.CzgException; import com.czg.order.dto.LtPayOtherDTO; @@ -20,6 +19,7 @@ import com.czg.order.service.OrderPaymentService; import com.czg.order.service.ShopMerchantService; import com.czg.pay.CzgPayBaseReq; import com.czg.pay.CzgRefundReq; +import com.czg.pay.QueryOrderRespDTO; import com.czg.pay.RefundRespDTO; import com.czg.resp.CzgResult; import com.czg.service.order.mapper.OrderPaymentMapper; @@ -146,7 +146,7 @@ public class PayServiceImpl implements PayService { @Override @Transactional - public CzgResult queryPayOrder(@NonNull Long shopId, String payOrderId, String mchOrderNo) { + public CzgResult queryPayOrder(@NonNull Long shopId, String payOrderId, String mchOrderNo, String platform) { ShopMerchant shopMerchant = getMerchant(shopId); PayAdapter adapter = PayAdapterFactory.getAdapter(shopMerchant.getChannel()); String payData = null; @@ -155,7 +155,7 @@ public class PayServiceImpl implements PayService { } else if (shopMerchant.getChannel().equals(PayChannelCst.POLY)) { payData = shopMerchant.getPolyPayJson(); } - return adapter.queryPayOrder(getDomain(), payData, payOrderId, mchOrderNo); + return adapter.queryPayOrder(getDomain(), payData, payOrderId, mchOrderNo, platform); } @Override diff --git a/cash-service/pay-service/src/main/java/com/czg/PayAdapter.java b/cash-service/pay-service/src/main/java/com/czg/PayAdapter.java index 6c2e69238..93ac20b55 100644 --- a/cash-service/pay-service/src/main/java/com/czg/PayAdapter.java +++ b/cash-service/pay-service/src/main/java/com/czg/PayAdapter.java @@ -1,6 +1,5 @@ package com.czg; -import com.czg.entity.resp.CzgBaseResp; import com.czg.enums.CzgPayEnum; import com.czg.pay.*; import com.czg.resp.CzgResult; @@ -39,7 +38,7 @@ public interface PayAdapter { CzgResult refund(@NotBlank String domain, @NotBlank String payData, String notifyUrl, CzgRefundReq bizData); - CzgResult queryPayOrder(@NotBlank String domain, @NotBlank String payData, String payOrderId, String mchOrderNo); + CzgResult queryPayOrder(@NotBlank String domain, @NotBlank String payData, String payOrderId, String mchOrderNo, String platform); CzgResult queryRefund(@NotBlank String domain, @NotBlank String payData, String mchRefundNo, String refundOrderId); diff --git a/cash-service/pay-service/src/main/java/com/czg/impl/NativePayAdapter.java b/cash-service/pay-service/src/main/java/com/czg/impl/NativePayAdapter.java index e4eb5d2a7..16a71f741 100644 --- a/cash-service/pay-service/src/main/java/com/czg/impl/NativePayAdapter.java +++ b/cash-service/pay-service/src/main/java/com/czg/impl/NativePayAdapter.java @@ -4,13 +4,9 @@ import com.alibaba.fastjson2.JSONObject; import com.czg.PayAdapter; import com.czg.PayManager; import com.czg.constant.PayChannelCst; -import com.czg.entity.resp.CzgBaseResp; import com.czg.enums.CzgPayEnum; import com.czg.exception.CzgException; -import com.czg.pay.CzgPayBaseReq; -import com.czg.pay.CzgRefundReq; -import com.czg.pay.NativeMerchantDTO; -import com.czg.pay.RefundRespDTO; +import com.czg.pay.*; import com.czg.resp.CzgResult; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; @@ -61,8 +57,10 @@ public class NativePayAdapter implements PayAdapter { } @Override - public CzgResult queryPayOrder(String domain, String payData, String payOrderId, String mchOrderNo) { - return null; + public CzgResult queryPayOrder(String domain, String payData, String payOrderId, String mchOrderNo, String platform) { + NativeMerchantDTO merchantDTO = getMerchantDTO(payData); + QueryOrderRespDTO respDTO = PayManager.queryOrderStatus(platform, mchOrderNo, merchantDTO); + return CzgResult.success(respDTO); } @Override diff --git a/cash-service/pay-service/src/main/java/com/czg/impl/PolyPayAdapter.java b/cash-service/pay-service/src/main/java/com/czg/impl/PolyPayAdapter.java index 05a2233a9..f5bc6524f 100644 --- a/cash-service/pay-service/src/main/java/com/czg/impl/PolyPayAdapter.java +++ b/cash-service/pay-service/src/main/java/com/czg/impl/PolyPayAdapter.java @@ -9,10 +9,7 @@ import com.czg.entity.resp.CzgBaseResp; import com.czg.entity.resp.CzgRefundResp; import com.czg.enums.CzgPayEnum; import com.czg.exception.CzgException; -import com.czg.pay.CzgPayBaseReq; -import com.czg.pay.CzgRefundReq; -import com.czg.pay.PolyMerchantDTO; -import com.czg.pay.RefundRespDTO; +import com.czg.pay.*; import com.czg.resp.CzgResult; import com.czg.utils.AssertUtil; import jakarta.validation.constraints.NotBlank; @@ -60,10 +57,19 @@ public class PolyPayAdapter implements PayAdapter { } @Override - public CzgResult queryPayOrder(@NotBlank String payData, @NotBlank String domain, String payOrderId, String mchOrderNo) { + public CzgResult queryPayOrder(@NotBlank String payData, @NotBlank String domain, String payOrderId, String mchOrderNo, String platform) { PolyMerchantDTO shopMerchant = JSONObject.parseObject(payData, PolyMerchantDTO.class); - PolyPayUtils.queryPayOrder(domain, shopMerchant.getAppId(), shopMerchant.getAppSecret(), payOrderId, mchOrderNo); - return null; + CzgResult result = PolyPayUtils.queryPayOrder(domain, shopMerchant.getAppId(), shopMerchant.getAppSecret(), payOrderId, mchOrderNo); + if (result.isSuccess()) { + QueryOrderRespDTO respDTO = new QueryOrderRespDTO() + .setStatus(result.getData().getState()) + .setOrderNo(result.getData().getMchOrderNo()) + .setAmount(result.getData().getAmount()) + .setErrorMsg("") + .setOriginResp(JSONObject.toJSONString(result.getData())); + return CzgResult.success(respDTO); + } + return CzgResult.failure(result.getMsg()); } @Override