From 80fd41ea0dc602ac3ca33778f17fce5bc2e817b1 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 16 一月 2026 18:58:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java |  109 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 88 insertions(+), 21 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..56be23e 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,8 +3,10 @@
 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.kuaidi100.DeliveryDTO;
 import com.doumee.core.utils.kuaidi100.ExpressUtils;
@@ -14,22 +16,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 +90,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 +134,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 +151,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
@@ -161,7 +178,7 @@
     }
 
     @LoginRequired
-    @ApiOperation("鎴戠殑璁㈠崟鍒楄〃")
+    @ApiOperation("璁㈠崟鍒楄〃")
     @PostMapping("/orderPage")
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
@@ -191,7 +208,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 +233,30 @@
         goodsorderService.affirmOrder(dealOrderRequest.getOrderId(),getMemberId());
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
+
+
+    @LoginRequired
+    @ApiOperation("璁㈠崟鏍搁攢")
+    @PostMapping("/writeOffOrder")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse writeOffOrder(@RequestBody DealOrderRequest dealOrderRequest) {
+        goodsorderService.orderWriteOff(dealOrderRequest.getExchangeCode(),getMemberId());
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+    @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 +295,30 @@
         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());
+        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