From 580f4d3c2ca9eee53eee95a4de2f6610b790780a Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 12 二月 2026 18:24:13 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java |  159 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 128 insertions(+), 31 deletions(-)

diff --git a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java
index a3d0d8e..81c55c8 100644
--- a/server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java
+++ b/server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java
@@ -3,9 +3,12 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.doumee.api.web.ApiController;
 import com.doumee.config.annotation.LoginRequired;
+import com.doumee.config.annotation.LoginShopRequired;
 import com.doumee.core.annotation.trace.Trace;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.kuaidi100.DeliveryDTO;
 import com.doumee.core.utils.kuaidi100.ExpressUtils;
 import com.doumee.core.wx.SendWxMessage;
@@ -14,22 +17,24 @@
 import com.doumee.dao.business.model.MemberCoupon;
 import com.doumee.dao.business.model.Shop;
 import com.doumee.dao.web.dto.CouponDTO;
-import com.doumee.dao.web.request.OrderPayRequest;
-import com.doumee.dao.web.request.PageRequest;
-import com.doumee.dao.web.request.PayDetailRequest;
+import com.doumee.dao.web.request.*;
 import com.doumee.dao.web.request.goods.DealOrderRequest;
 import com.doumee.dao.web.request.goods.MemberOrderRequest;
 import com.doumee.dao.web.request.goods.OrderCommentRequest;
+import com.doumee.dao.web.response.MemberCouponResponse;
 import com.doumee.dao.web.response.MyPageResponse;
 import com.doumee.dao.web.response.OrderCommentResponse;
 import com.doumee.dao.web.response.OrderDetailResponse;
 import com.doumee.dao.web.response.goods.MemberOrderResponse;
 import com.doumee.dao.web.response.goods.PayResponse;
+import com.doumee.service.business.HotCityService;
+import com.doumee.service.business.impl.MemberCouponServiceImpl;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -86,12 +91,25 @@
             @ApiImplicitParam(paramType = "query", dataType = "Long", name = "current", value = "椤电爜", required = true),
             @ApiImplicitParam(paramType = "query", dataType = "Long", name = "size", value = "姣忛〉璁板綍鏁�", required = true),
             @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "couponType", value = "浼樻儬鍒哥被鍒細0鍟嗗浼樻儬鍒� 1骞冲彴浼樻儬鍒�", required = true),
-            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "limitPrice", value = "婊¢", required = false)
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "limitPrice", value = "婊¢", required = false),
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "status", value = "鐘舵�侊細0=鏈娇鐢�;1=宸蹭娇鐢紱2=宸茶繃鏈�", required = false)
     })
-    public ApiResponse<IPage<CouponDTO>> memberCouponPage(PageRequest pageable, Integer couponType, BigDecimal limitPrice) {
-        IPage<CouponDTO> page = memberCouponService.memberCouponPage(pageable.toPage(),limitPrice,getMemberId(),couponType);
+    public ApiResponse<IPage<MemberCouponResponse>> memberCouponPage(PageRequest pageable, Integer couponType, BigDecimal limitPrice, Integer status) {
+        IPage<MemberCouponResponse> page = memberCouponService.memberCouponPage(pageable.toPage(),limitPrice,getMemberId(),couponType,status);
         return ApiResponse.success("鏌ヨ鎴愬姛",page);
     }
+
+    @LoginRequired
+    @ApiOperation("浼氬憳浼樻儬鍒歌鎯�")
+    @GetMapping("/memberCouponDetail")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "涓婚敭", required = true)
+    })
+    public ApiResponse<MemberCouponResponse> memberCouponDetail(Integer id) {
+        return ApiResponse.success("鏌ヨ鎴愬姛",memberCouponService.getMemberCouponDetail(id));
+    }
+
 
 //    @LoginRequired
 //    @ApiOperation("鍙敤浼樻儬鍒告暟閲�")
@@ -117,16 +135,16 @@
         return ApiResponse.success("鏌ヨ鎴愬姛", memberCouponService.getApplyCoupon(requestList,getMemberId()));
     }
 
-    @LoginRequired
-    @ApiOperation("缁忛攢鍟嗗垪琛�")
-    @PostMapping("/shopPage")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
-    })
-    public ApiResponse<IPage<Shop>> shopPage(@RequestBody PageWrap<Shop> pageWrap) {
-        IPage<Shop> page = goodsorderService.getShopPage(pageWrap);
-        return ApiResponse.success("鏌ヨ鎴愬姛",page);
-    }
+//    @LoginRequired
+//    @ApiOperation("缁忛攢鍟嗗垪琛�")
+//    @PostMapping("/shopPage")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+//    })
+//    public ApiResponse<IPage<Shop>> shopPage(@RequestBody PageWrap<Shop> pageWrap) {
+//        IPage<Shop> page = goodsorderService.getShopPage(pageWrap);
+//        return ApiResponse.success("鏌ヨ鎴愬姛",page);
+//    }
 
     @LoginRequired
     @ApiOperation("璁㈠崟鏀粯")
@@ -134,9 +152,9 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
     })
-    public ApiResponse<PayResponse> orderPay(@Valid @RequestBody  OrderPayRequest orderPayRequest) {
-        orderPayRequest.setMemberId(getMemberId());
-        return ApiResponse.success("鎿嶄綔鎴愬姛", goodsorderService.orderPay(orderPayRequest));
+    public ApiResponse<PayResponse> orderPay(@Valid @RequestBody  ShopOrderPayRequest request) {
+        request.setMemberId(getMemberId());
+        return ApiResponse.success("鎿嶄綔鎴愬姛", goodsorderService.orderPay(request, memberCouponServiceImpl));
     }
 
     @LoginRequired
@@ -160,17 +178,19 @@
         return ApiResponse.success("鏌ヨ鎴愬姛", goodsorderService.getGoodsOrderDetail(orderId));
     }
 
-    @LoginRequired
-    @ApiOperation("鎴戠殑璁㈠崟鍒楄〃")
-    @PostMapping("/orderPage")
-    @ApiImplicitParams({
-            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
-    })
-    public ApiResponse<IPage<MemberOrderResponse>> orderPage(@RequestBody PageWrap<MemberOrderRequest> pageWrap) {
-        pageWrap.getModel().setMemberId(getMemberId());
-        IPage<MemberOrderResponse> page = goodsorderService.getGoodsOrderPage(pageWrap);
-        return ApiResponse.success("鏌ヨ鎴愬姛",page);
-    }
+//    @LoginRequired
+//    @ApiOperation("璁㈠崟鍒楄〃")
+//    @PostMapping("/orderPage")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+//    })
+//    public ApiResponse<IPage<MemberOrderResponse>> orderPage(@RequestBody PageWrap<MemberOrderRequest> pageWrap) {
+//        pageWrap.getModel().setMemberId(getMemberId());
+//        IPage<MemberOrderResponse> page = goodsorderService.getGoodsOrderPage(pageWrap);
+//        return ApiResponse.success("鏌ヨ鎴愬姛",page);
+//    }
+
+
 
     @LoginRequired
     @ApiOperation("淇敼璁㈠崟鏀惰揣鍦板潃")
@@ -191,7 +211,7 @@
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
     public ApiResponse cancelOrder(@RequestBody DealOrderRequest dealOrderRequest) {
-        goodsorderService.cancelOrder(dealOrderRequest.getOrderId(),getMemberId(),dealOrderRequest.getCancelInfo());
+        goodsorderService.cancelOrderNew(dealOrderRequest.getOrderId(),getMemberId(),dealOrderRequest.getCancelInfo());
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
@@ -216,6 +236,43 @@
         goodsorderService.affirmOrder(dealOrderRequest.getOrderId(),getMemberId());
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
+
+
+    @LoginShopRequired
+    @ApiOperation("璁㈠崟鏍搁攢")
+    @PostMapping("/writeOffOrder")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse writeOffOrder(@RequestBody DealOrderRequest dealOrderRequest) {
+        goodsorderService.orderWriteOff(dealOrderRequest.getOrderId(),getShopId());
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+
+    @LoginShopRequired
+    @ApiOperation("鏍规嵁鏍搁攢鐮佽幏鍙栬鍗曡鎯�")
+    @PostMapping("/getOrderDetailByCode")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<MemberOrderResponse> getOrderDetailByCode(@RequestBody DealOrderRequest dealOrderRequest) {
+        return ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.getGoodsOrderDetailByCode(dealOrderRequest.getExchangeCode()));
+    }
+
+
+
+    @LoginRequired
+    @ApiOperation("璁㈠崟鍒犻櫎")
+    @PostMapping("/delOrder")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse delOrder(@RequestBody DealOrderRequest dealOrderRequest) {
+        goodsorderService.delOrder(dealOrderRequest.getOrderId(),getMemberId());
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
 
 
     @LoginRequired
@@ -254,4 +311,44 @@
         return ApiResponse.success("鎿嶄綔鎴愬姛",deliveryDTO);
     }
 
+
+
+    @LoginShopRequired
+    @ApiOperation("缁忛攢鍟嗚鍗曞垪琛�")
+    @PostMapping("/shopOrderPage")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<PageData<Goodsorder>> shopOrderPage(@RequestBody PageWrap<ShopOrderRequest> pageWrap) {
+        pageWrap.getModel().setShopId(getShopId());
+        pageWrap.getModel().setUserType(Constants.ONE);
+        PageData<Goodsorder> page = goodsorderService.shopOrderPage(pageWrap);
+        return ApiResponse.success("鏌ヨ鎴愬姛",page);
+    }
+
+
+    @LoginRequired
+    @ApiOperation("璁㈠崟鍒楄〃")
+    @PostMapping("/orderPage")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<PageData<Goodsorder>> orderPage(@RequestBody PageWrap<ShopOrderRequest> pageWrap) {
+        pageWrap.getModel().setShopId(getMemberId());
+        pageWrap.getModel().setUserType(Constants.ZERO);
+        PageData<Goodsorder> page = goodsorderService.shopOrderPage(pageWrap);
+        return ApiResponse.success("鏌ヨ鎴愬姛",page);
+    }
+
+    @LoginShopRequired
+    @ApiOperation("璁㈠崟璇︽儏 - 缁忛攢鍟�")
+    @GetMapping("/shopOrderDetail")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "orderId", value = "璁㈠崟涓婚敭", required = true),
+    })
+    public ApiResponse<MemberOrderResponse> shopOrderDetail(@RequestParam Integer orderId) {
+        return ApiResponse.success("鏌ヨ鎴愬姛", goodsorderService.getGoodsOrderDetail(orderId));
+    }
+
 }

--
Gitblit v1.9.3