From c721708e49dcdffea5060e0398bc6db00c0f0ba5430bce10c70d771324887187 Mon Sep 17 00:00:00 2001 From: yanglei Date: Tue, 6 Jan 2026 10:45:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=95=86=E6=88=B7(=E9=AA=91?= =?UTF-8?q?=E8=A1=8C)=E8=AE=A2=E5=8D=95=E8=AE=A2=E5=8D=95=E5=8F=B7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/clients/PaymentFeignClient.java | 12 +++++++- .../model/vo/FeignEbikeWxHandleNotifyVo.java | 24 +++++++++++++++ .../user/controller/EbikeOrderController.java | 29 ++++++++++++++++++- .../controller/EbikePaymentController.java | 7 +++-- 4 files changed, 67 insertions(+), 5 deletions(-) create mode 100644 ebike-feign/src/main/java/com/ebike/feign/model/vo/FeignEbikeWxHandleNotifyVo.java diff --git a/ebike-feign/src/main/java/com/ebike/feign/clients/PaymentFeignClient.java b/ebike-feign/src/main/java/com/ebike/feign/clients/PaymentFeignClient.java index 14c06e6..d96a124 100644 --- a/ebike-feign/src/main/java/com/ebike/feign/clients/PaymentFeignClient.java +++ b/ebike-feign/src/main/java/com/ebike/feign/clients/PaymentFeignClient.java @@ -4,6 +4,8 @@ import com.cdzy.common.model.response.JsonResult; import com.ebike.feign.component.FeignTokenInterceptor; import com.ebike.feign.config.ExampleFeignConfiguration; import com.ebike.feign.model.dto.FeignEbikeRefundDto; +import com.ebike.feign.model.vo.FeignEbikeWxHandleNotifyVo; +import com.fasterxml.jackson.databind.JsonNode; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -24,7 +26,7 @@ public interface PaymentFeignClient { * @param orderId 订单id */ @GetMapping("wxPayment/prepay") - JsonResult prepay(@RequestParam(name = "orderId") Long orderId); + JsonResult prepay(@RequestParam(name = "orderId") Long orderId); /** * 用户退款 @@ -41,4 +43,12 @@ public interface PaymentFeignClient { */ @GetMapping("wxPayment/checkRefundStatus/{refundId}") JsonResult checkRefundStatus(@PathVariable(name = "refundId") Long refundId); + + /** + * 通过商户(骑行)订单订单号查询支付订单状态 + * + * @param orderId 订单id + */ + @GetMapping("/wxPayment/queryOrderStatus/{orderId}") + JsonResult queryOrderStatusById(@PathVariable(name = "orderId") Long orderId); } diff --git a/ebike-feign/src/main/java/com/ebike/feign/model/vo/FeignEbikeWxHandleNotifyVo.java b/ebike-feign/src/main/java/com/ebike/feign/model/vo/FeignEbikeWxHandleNotifyVo.java new file mode 100644 index 0000000..af891f0 --- /dev/null +++ b/ebike-feign/src/main/java/com/ebike/feign/model/vo/FeignEbikeWxHandleNotifyVo.java @@ -0,0 +1,24 @@ +package com.ebike.feign.model.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author yanglei + * @since 2026-01-06 10:38 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class FeignEbikeWxHandleNotifyVo { + + /** + * 解析是否成功 + */ + private boolean success = false; + /** + * 解析错误消息 + */ + private String message; +} diff --git a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java index 596f130..e2eb9c5 100644 --- a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java +++ b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java @@ -1,5 +1,7 @@ package com.cdzy.user.controller; +import com.cdzy.common.enums.Code; +import com.cdzy.common.ex.EbikeException; import com.cdzy.common.model.request.PageParam; import com.cdzy.common.model.response.JsonResult; import com.cdzy.user.model.dto.EbikeUserCyclingDto; @@ -9,13 +11,21 @@ import com.cdzy.user.model.vo.EbikeBikeInfoVo; import com.cdzy.user.model.vo.EbikeRevenueStatisticsVo; import com.cdzy.user.model.vo.EbikeUserAllOrdersVo; import com.cdzy.user.service.EbikeOrderService; +import com.ebike.feign.clients.PaymentFeignClient; import com.ebike.feign.model.dto.FeignEbikeDto; import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; +import com.ebike.feign.model.vo.FeignEbikeWxHandleNotifyVo; import com.mybatisflex.core.paginate.Page; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotNull; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -33,6 +43,9 @@ public class EbikeOrderController { @Resource private EbikeOrderService ebikeOrderService; + @Resource + private PaymentFeignClient paymentFeignClient; + /** * 车辆列表 * @@ -130,4 +143,18 @@ public class EbikeOrderController { List revenueStatistics = ebikeOrderService.getRevenueStatistics(); return JsonResult.success(revenueStatistics); } + + /** + * 通过商户(骑行)订单订单号查询支付订单状态 + * + * @param orderId 订单id + */ + @GetMapping("/queryOrderStatus/{orderId}") + public JsonResult queryOrderStatusById(@PathVariable(name = "orderId") Long orderId) { + JsonResult jsonResult = paymentFeignClient.queryOrderStatusById(orderId); + if (jsonResult.getCode() != Code.SUCCESS) { + throw new EbikeException(jsonResult.getMessage()); + } + return JsonResult.success(jsonResult.getData()); + } } diff --git a/ebike-user/src/main/java/com/cdzy/user/controller/EbikePaymentController.java b/ebike-user/src/main/java/com/cdzy/user/controller/EbikePaymentController.java index 8a57eeb..f48d15f 100644 --- a/ebike-user/src/main/java/com/cdzy/user/controller/EbikePaymentController.java +++ b/ebike-user/src/main/java/com/cdzy/user/controller/EbikePaymentController.java @@ -6,6 +6,7 @@ import com.cdzy.common.model.response.JsonResult; import com.cdzy.user.model.entity.EbikePayment; import com.cdzy.user.service.EbikePaymentService; import com.ebike.feign.clients.PaymentFeignClient; +import com.fasterxml.jackson.databind.JsonNode; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -42,14 +43,14 @@ public class EbikePaymentController { } /** - * 支付下单。 + * 用户支付下单。 */ @GetMapping("/prepay") public JsonResult prepay(@RequestParam("orderId") Long orderId) { - JsonResult jsonResult = paymentFeignClient.prepay(orderId); + JsonResult jsonResult = paymentFeignClient.prepay(orderId); if (jsonResult.getCode() != Code.SUCCESS) { throw new EbikeException(jsonResult.getMessage()); } - return JsonResult.success(); + return JsonResult.success(jsonResult.getData()); } }