From be4559dace13c8a753b9f3f50f6cead02fae80c618f27ccda5f3180700ded178 Mon Sep 17 00:00:00 2001 From: yanglei Date: Wed, 29 Oct 2025 16:10:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=AE=A2=E5=8D=95=E9=80=80?= =?UTF-8?q?=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/entity/EbikeOrderTransaction.java | 6 +- .../EbikeOrderTransactionController.java | 77 ++++++++++++++++++- .../model/entity/EbikeOrderTransaction.java | 4 +- .../service/EbikeOrderTransactionService.java | 21 ++++- ...pl.java => EbikeOrderTransactionImpl.java} | 46 ++++++----- 5 files changed, 128 insertions(+), 26 deletions(-) rename ebike-user/src/main/java/com/cdzy/user/service/impl/{EbikeOrderTransactionServiceImpl.java => EbikeOrderTransactionImpl.java} (85%) diff --git a/ebike-payment/src/main/java/com/cdzy/payment/model/entity/EbikeOrderTransaction.java b/ebike-payment/src/main/java/com/cdzy/payment/model/entity/EbikeOrderTransaction.java index 2431d14..03197f9 100644 --- a/ebike-payment/src/main/java/com/cdzy/payment/model/entity/EbikeOrderTransaction.java +++ b/ebike-payment/src/main/java/com/cdzy/payment/model/entity/EbikeOrderTransaction.java @@ -37,13 +37,13 @@ public class EbikeOrderTransaction implements Serializable { private static final long serialVersionUID = 1L; /** - * 订单ID + * 主键ID */ @Id private Long transactionId; /** - * 订单Id + * 订单id */ private String orderId; @@ -105,7 +105,7 @@ public class EbikeOrderTransaction implements Serializable { /** * 支付方式:wechat/alipay/balance */ - private String paymentMethod; + private Integer paymentMethod; /** * 使用卡券ID集合(JSON数组) diff --git a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderTransactionController.java b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderTransactionController.java index 50b9089..e810562 100644 --- a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderTransactionController.java +++ b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderTransactionController.java @@ -1,14 +1,22 @@ package com.cdzy.user.controller; +import cn.dev33.satoken.stp.StpUtil; +import com.cdzy.common.model.request.PageParam; import com.cdzy.common.model.response.JsonResult; -import com.cdzy.user.model.dto.EbikeUserCyclingDto; import com.cdzy.user.model.entity.EbikeOrderTransaction; import com.cdzy.user.service.EbikeOrderTransactionService; +import com.ebike.feign.model.dto.FeignOrderPaymentDto; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotBlank; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Objects; + +import static com.cdzy.user.model.entity.table.EbikeOrderTransactionTableDef.EBIKE_ORDER_TRANSACTION; + /** * 用户订单 控制层 * @@ -47,6 +55,30 @@ public class EbikeOrderTransactionController { return JsonResult.success(userOrders); } + /** + * 订单支付。 + * + * @param orderPaymentDto 支付信息 + * @ {@code 200} 添加成功,{@code 500} 添加失败 + */ + @PostMapping("payment") + public JsonResult payment(@RequestBody @Validated FeignOrderPaymentDto orderPaymentDto) { + ebikeOrderTransactionService.payment(orderPaymentDto); + return JsonResult.success(); + } + + /** + * 订单退款申请。 + * + * @param orderId 订单ID + * @ {@code 200} 添加成功,{@code 500} 添加失败 + */ + @GetMapping("refundApply") + public JsonResult refundApply(@RequestParam("orderId") String orderId) { + ebikeOrderTransactionService.refundApply(orderId); + return JsonResult.success(); + } + /** * 订单退款。 * @@ -82,4 +114,47 @@ public class EbikeOrderTransactionController { ebikeOrderTransactionService.failRefund(orderId); return JsonResult.success(); } + + /** + * 订单退款驳回。 + * + * @param orderId 订单ID + * @ {@code 200} 添加成功,{@code 500} 添加失败 + */ + @GetMapping("rejectRefund") + public JsonResult rejectRefund(@RequestParam("orderId") String orderId) { + ebikeOrderTransactionService.rejectRefund(orderId); + return JsonResult.success(); + } + + /** + * 根据用户订单表主键获取详细信。 + * + * @param transactionId 用户订单表主键 + * @ 用户订单表详情 + */ + @GetMapping("getInfo/{transactionId}") + public JsonResult getInfo(@PathVariable("transactionId") Long transactionId) { + EbikeOrderTransaction userOrder = ebikeOrderTransactionService.getById(transactionId); + return JsonResult.success(userOrder); + } + + /** + * 分页查询用户用户订单 + * + * @param pageParam 分页对象 + * @param orderStatus 订单状态 + */ + @GetMapping("page") + public JsonResult page(@Validated PageParam pageParam, @RequestParam(value = "orderStatus", required = false) Integer orderStatus) { + long userId = StpUtil.getLoginIdAsLong(); + QueryWrapper queryWrapper = QueryWrapper.create() + .where(EBIKE_ORDER_TRANSACTION.USER_ID.eq(userId)) + .where(EBIKE_ORDER_TRANSACTION.ORDER_STATUS.eq(orderStatus, Objects.nonNull(orderStatus))) + .orderBy(EBIKE_ORDER_TRANSACTION.CREATE_TIME, Boolean.TRUE); + Page page = ebikeOrderTransactionService.page(pageParam.getPage(), queryWrapper); + return JsonResult.success(page); + } + + } diff --git a/ebike-user/src/main/java/com/cdzy/user/model/entity/EbikeOrderTransaction.java b/ebike-user/src/main/java/com/cdzy/user/model/entity/EbikeOrderTransaction.java index 8de36e4..ddd5911 100644 --- a/ebike-user/src/main/java/com/cdzy/user/model/entity/EbikeOrderTransaction.java +++ b/ebike-user/src/main/java/com/cdzy/user/model/entity/EbikeOrderTransaction.java @@ -104,9 +104,9 @@ public class EbikeOrderTransaction implements Serializable { private LocalDateTime paymentTime; /** - * 支付方式:wechat/alipay/balance + * 支付方式:1-wechat 2-alipay 3-balance */ - private String paymentMethod; + private Integer paymentMethod; /** * 使用卡券ID集合(JSON数组) diff --git a/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderTransactionService.java b/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderTransactionService.java index 64754b8..fc4f866 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderTransactionService.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderTransactionService.java @@ -1,7 +1,7 @@ package com.cdzy.user.service; -import com.cdzy.user.model.dto.EbikeUserCyclingDto; import com.cdzy.user.model.entity.EbikeOrderTransaction; +import com.ebike.feign.model.dto.FeignOrderPaymentDto; import com.mybatisflex.core.service.IService; /** @@ -28,6 +28,18 @@ public interface EbikeOrderTransactionService extends IService implements EbikeOrderTransactionService { +public class EbikeOrderTransactionImpl extends ServiceImpl implements EbikeOrderTransactionService { @Resource private RedisUtil redisUtil; @@ -43,14 +44,14 @@ public class EbikeOrderTransactionServiceImpl extends ServiceImpl