From 80d88f15a2222ec2dbe33f5d1d2b2296a890f41b Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 03 三月 2026 16:22:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java |   92 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 77 insertions(+), 15 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 56be23e..4d7180f 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
@@ -8,6 +8,7 @@
 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;
@@ -20,11 +21,13 @@
 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.request.goods.OrderPayConfirmRequest;
 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.OrderPayConfirmResponse;
 import com.doumee.dao.web.response.goods.PayResponse;
 import com.doumee.service.business.HotCityService;
 import com.doumee.service.business.impl.MemberCouponServiceImpl;
@@ -33,13 +36,16 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Created by IntelliJ IDEA.
@@ -53,6 +59,10 @@
 @RequestMapping("/web/orders")
 @Slf4j
 public class OrderApi extends ApiController {
+
+    @Autowired
+    private RedisTemplate<String, Object> redisTemplate;
+
     @LoginRequired
     @ApiOperation("鍜栧暋璁″垝宸茶闃呭垪琛�")
     @PostMapping("/planOrdersPage")
@@ -153,7 +163,11 @@
     })
     public ApiResponse<PayResponse> orderPay(@Valid @RequestBody  ShopOrderPayRequest request) {
         request.setMemberId(getMemberId());
-        return ApiResponse.success("鎿嶄綔鎴愬姛", goodsorderService.orderPay(request, memberCouponServiceImpl));
+        PayResponse payResponse = goodsorderService.orderPay(request, memberCouponServiceImpl);
+        if(Objects.nonNull(payResponse)&&StringUtils.isNotBlank(payResponse.getLockKey())){
+            redisTemplate.delete(payResponse.getLockKey());
+        }
+        return ApiResponse.success("鎿嶄綔鎴愬姛", payResponse);
     }
 
     @LoginRequired
@@ -162,7 +176,7 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
     })
-    public ApiResponse<PayResponse> orderPay(@RequestParam Integer orderId) {
+    public ApiResponse<PayResponse> replayPay(@RequestParam Integer orderId) {
         return ApiResponse.success("鎿嶄綔鎴愬姛", goodsorderService.replayPay(orderId));
     }
 
@@ -177,17 +191,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("淇敼璁㈠崟鏀惰揣鍦板潃")
@@ -235,16 +251,29 @@
     }
 
 
-    @LoginRequired
+    @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.getExchangeCode(),getMemberId());
+        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("璁㈠崟鍒犻櫎")
@@ -272,6 +301,20 @@
     }
 
     @LoginRequired
+    @ApiOperation("璁㈠崟寰呮敮浠樹俊鎭�")
+    @PostMapping("/orderPayConfirm")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
+    public ApiResponse<OrderPayConfirmResponse> orderPayConfirm(@RequestBody OrderPayConfirmRequest request) {
+        request.setMemberId(getMemberId());
+        return ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.orderPayConfirm(request,memberCouponServiceImpl));
+    }
+
+
+
+
+    @LoginRequired
     @ApiOperation("璁㈠崟缁熻")
     @GetMapping("/ordersStatistics")
     @ApiImplicitParams({
@@ -280,6 +323,11 @@
     public ApiResponse<MyPageResponse> ordersStatistics() {
         return ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.ordersStatistics(getMemberId()));
     }
+
+
+
+
+
 
     @LoginRequired
     @ApiOperation("鐗╂祦鏌ヨ")
@@ -305,11 +353,25 @@
     })
     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")

--
Gitblit v1.9.3