From 77fc61a25c14071584e45731476207959137d6b6 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 04 三月 2026 17:17:39 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 7f9c503..9c0c299 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -857,12 +857,14 @@
             if(!Constants.equalsInteger(goods.getStatus(),Constants.ZERO)||!Constants.equalsInteger(goods.getIsdeleted(),Constants.ZERO)){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鍟嗗搧宸插垹闄ゆ垨宸蹭笅鏋讹紝鏃犳硶涓嬪崟");
             }
-            if(goodsSku.getStock().compareTo(new BigDecimal(Constants.formatIntegerNum(payDetailRequest.getGoodsNum())))<Constants.ZERO){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鍟嗗搧搴撳瓨涓嶈冻锛屾棤娉曚笅鍗曪紒");
+            if(Objects.nonNull(goodsSku.getStock())){
+                if(goodsSku.getStock().compareTo(new BigDecimal(Constants.formatIntegerNum(payDetailRequest.getGoodsNum())))<Constants.ZERO){
+                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鍟嗗搧搴撳瓨涓嶈冻锛屾棤娉曚笅鍗曪紒");
+                }
+                //鍟嗗搧搴撳瓨鎵i櫎
+                goodsSku.setStock(goodsSku.getStock().subtract(new BigDecimal(Constants.formatIntegerNum(payDetailRequest.getGoodsNum()))));
+                goodsSkuMapper.updateById(goodsSku);
             }
-            //鍟嗗搧搴撳瓨鎵i櫎
-            goodsSku.setStock(goodsSku.getStock().subtract(new BigDecimal(Constants.formatIntegerNum(payDetailRequest.getGoodsNum()))));
-            goodsSkuMapper.updateById(goodsSku);
             GoodsorderDetail goodsOrderDetail = new GoodsorderDetail();
             goodsOrderDetail.setCreator(member.getId());
             goodsOrderDetail.setCreateDate(new Date());
@@ -1443,6 +1445,7 @@
         orderPayConfirmResponse.setCouponAmount(couponAmount);
         //鑾峰彇鍙互浣跨敤鐨勪紭鎯犲埜
         List<MemberCoupon> memberCouponList = memberCouponService.getApplyCoupon(request.getPayDetailRequestList(),request.getMemberId());
+
         if(CollectionUtils.isNotEmpty(memberCouponList)){
             orderPayConfirmResponse.setMemberCouponList(memberCouponList);
             if(Objects.nonNull(request.getCouponId())&&Constants.equalsInteger(request.getCouponId(),-Constants.ONE)&&Objects.nonNull(memberCouponList)){
@@ -1456,11 +1459,11 @@
                 }
                 memberCoupon = memberCoupons.get(Constants.ZERO);
                 couponAmount = memberCoupon.getValidAmount();
-                memberCouponService.calculateCouponRata(memberCoupon,goodsCalculateList,amount);
+//                memberCouponService.calculateCouponRata(memberCoupon,goodsCalculateList,amount);
                 orderPayConfirmResponse.setMemberCoupon(memberCoupon);
             }
         }else {
-            if(Objects.nonNull(request.getCouponId())){
+            if(Objects.nonNull(request.getCouponId())&&!Constants.equalsInteger(request.getCouponId(),-Constants.ONE)){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犲彲鐢ㄤ紭鎯犲埜锛岃鍒锋柊鏌ョ湅");
             }
         }
@@ -1533,7 +1536,7 @@
             orderPayConfirmResponse.setIntegralAmount(integralAmount);
         }
         //浣跨敤浼樻儬鍒� 鍑忓幓浼樻儬鍒告姷鎵i噾棰�
-        if(Objects.nonNull(request.getCouponId())){
+        if(Objects.nonNull(orderPayConfirmResponse.getMemberCoupon())){
             orderPayConfirmResponse.setCouponAmount(couponAmount);
         }
         //瀹為檯鏀粯閲戦 鍑忓幓浼樻儬鍒搞�佺Н鍒嗘姷鎵i噾棰�
@@ -2285,6 +2288,7 @@
         List<Goodsorder> goodsorderList = goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
                 .eq(Goodsorder::getIsdeleted,Constants.ZERO)
                 .eq(Goodsorder::getReceiveType,Constants.ONE)
+                .isNotNull(Goodsorder::getExchangeCode)
                 .in(Goodsorder::getStatus,Constants.OrderStatus.WAIT_RECEIVE.getKey(),
                 Constants.OrderStatus.WAIT_PAY.getKey(),
                 Constants.OrderStatus.PAY_DONE.getKey())
@@ -2325,7 +2329,7 @@
         List<Goodsorder> goodsorderList = goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
                 .eq(Goodsorder::getIsdeleted, Constants.ZERO)
                 .eq(Goodsorder::getStatus, Constants.OrderStatus.WAIT_PAY.getKey())
-                .ge(Goodsorder::getCreateDate, "DATE_SUB(NOW(), INTERVAL 15 MINUTE)")
+                        .apply(" CREATE_DATE >  DATE_SUB(NOW(), INTERVAL 15 MINUTE) ")
         );
         if(CollectionUtils.isNotEmpty(goodsorderList)){
             for (Goodsorder goodsorder:goodsorderList) {

--
Gitblit v1.9.3