diff --git a/src/main/java/com/gxwebsoft/hjc/controller/HjcOrderController.java b/src/main/java/com/gxwebsoft/hjc/controller/HjcOrderController.java index 9eebd79..8566ce1 100644 --- a/src/main/java/com/gxwebsoft/hjc/controller/HjcOrderController.java +++ b/src/main/java/com/gxwebsoft/hjc/controller/HjcOrderController.java @@ -202,6 +202,26 @@ public class HjcOrderController extends BaseController { return success(hjcOrderService.pageRel(param)); } + @Operation(summary = "退款(标记已退款,幂等),并推送 REFUNDED 状态") + @PostMapping("/refund") + public ApiResult refund(@RequestBody Map body) { + String orderNo = body.get("orderNo") == null ? null : String.valueOf(body.get("orderNo")); + if (orderNo == null) { + return fail("订单号不能为空"); + } + HjcOrder order = hjcOrderService.getByOrderNo(orderNo); + if (order == null) { + return fail("订单不存在"); + } + if (order.getPayStatus() != null && order.getPayStatus() == 3) { + return success("已是退款状态", order); + } + order.setPayStatus(3); + hjcOrderService.updateById(order); + hjcBizService.pushOrderToOneStop(order); + return success("已退款", order); + } + private String firstNotBlank(String a, String b) { return a != null && !a.trim().isEmpty() ? a : b; }