From 07b964209ad7ff91def2ed1962c5a02441710d86 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 12 Jun 2026 09:48:25 +0800
Subject: [PATCH] refactor(mall): 重构DTO和控制器结构并添加验证注解

---
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 50 insertions(+), 6 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
index 3005441..d71f5fe 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
@@ -1,10 +1,13 @@
 package cc.mrbird.febs.mall.controller;
 
+import cc.mrbird.febs.common.annotation.Limit;
 import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.entity.LimitType;
 import cc.mrbird.febs.mall.dto.*;
 import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
 import cc.mrbird.febs.mall.vo.OrderDetailVo;
 import cc.mrbird.febs.mall.vo.OrderListVo;
+import cc.mrbird.febs.pay.service.IXcxPayService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -15,7 +18,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -27,21 +29,31 @@
 @RestController
 @RequiredArgsConstructor
 @RequestMapping(value = "/api/order")
-@Api(value = "ApiMallOrderController", tags = "订单接口类")
+@Api(value = "ApiMallOrderController", tags = "DS-订单接口类")
 public class ApiMallOrderController {
 
     private final IApiMallOrderInfoService mallOrderInfoService;
+    private final IXcxPayService iXcxPayService;
+
+    @ApiOperation(value = "创建订单--验证是否允许创建", notes = "创建订单--验证是否允许创建")
+    @PostMapping(value = "/createOrderVerify")
+    @Limit(key = "createOrderVerify", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    public FebsResponse createOrderVerify(@RequestBody ApiCreateOrderVerifyDto apiCreateOrderVerifyDto) {
+        return mallOrderInfoService.createOrderVerify(apiCreateOrderVerifyDto);
+    }
 
     @ApiOperation(value = "创建订单", notes = "创建订单")
     @PostMapping(value = "/createOrder")
-    public FebsResponse createOrder(@RequestBody AddOrderDto addOrderDto) {
+    @Limit(key = "createOrder", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
+    public FebsResponse createOrder(@RequestBody @Validated AddOrderDto addOrderDto) {
         Long orderId = mallOrderInfoService.createOrder(addOrderDto);
 
-        return new FebsResponse().success().data(orderId).message("创建订单成功");
+        return new FebsResponse().success().data(orderId).message("Order successfully created");
     }
 
     @ApiOperation(value = "取消订单", notes = "取消订单")
     @PostMapping(value = "/cancelOrder/{id}")
+    @Limit(key = "cancelOrder", period = 5, count = 1, name = "注册", prefix = "limit",limitType = LimitType.IP)
     public FebsResponse cancelOrder(@PathVariable("id") Long id) {
         mallOrderInfoService.cancelOrder(id);
         return new FebsResponse().success();
@@ -50,10 +62,10 @@
     @ApiOperation(value = "支付订单", notes = "支付订单")
     @PostMapping(value = "/payOrder")
     public FebsResponse payOrder(@RequestBody PayOrderDto payOrderDto) {
-        String result = mallOrderInfoService.payOrder(payOrderDto);
+        Map<String, Object> result = mallOrderInfoService.payOrder(payOrderDto);
 
         Map<String, Object> map = new HashMap<>();
-        map.put("orderNo", result);
+        map.put("order", result);
         map.put("type", payOrderDto.getType());
         return new FebsResponse().success().data(map).message("支付成功");
     }
@@ -90,6 +102,24 @@
         return new FebsResponse().success().message("删除成功");
     }
 
+    @ApiOperation(value = "用户退款", notes = "用户退款")
+    @PostMapping(value = "/refundOrder/{id}")
+    public FebsResponse refundOrder(@PathVariable("id") Long id) {
+        return mallOrderInfoService.refundOrder(id);
+    }
+
+    @ApiOperation(value = "用户退款--提交退款申请", notes = "用户退款--提交退款申请")
+    @PostMapping(value = "/applyRefundOrder")
+    public FebsResponse applyRefundOrder(@RequestBody ApplyRefundOrderDto applyRefundOrderDto) {
+        return mallOrderInfoService.applyRefundOrder(applyRefundOrderDto);
+    }
+
+    @ApiOperation(value = "用户退款--取消退款申请", notes = "用户退款--取消退款申请")
+    @PostMapping(value = "/cancelRefundOrder/{id}")
+    public FebsResponse cancelRefundOrder(@PathVariable("id") Long id) {
+        return mallOrderInfoService.cancelRefundOrder(id);
+    }
+
     @ApiOperation(value = "提交退款申请", notes = "提交退款申请")
     @PostMapping(value = "/applyRefund")
     public FebsResponse applyRefund(@RequestBody AddRefundDto addRefundDto) {
@@ -103,4 +133,18 @@
         mallOrderInfoService.refundExpress(refundExpressDto);
         return new FebsResponse().success().message("提交成功");
     }
+
+    @ApiOperation(value = "评价", notes = "评价")
+    @PostMapping(value = "/goodsComment")
+    public FebsResponse goodsComment(@RequestBody ApiAddCommentDtos addCommentDtos) {
+        mallOrderInfoService.goodsComment(addCommentDtos);
+        return new FebsResponse().success().message("评价成功");
+    }
+
+    @ApiOperation(value = "获取微信订阅TemplateId")
+    @GetMapping(value = "/getTemplateId")
+    public FebsResponse getTemplateId() {
+        return new FebsResponse().success().data(iXcxPayService.getTemplateId());
+    }
+
 }

--
Gitblit v1.9.1