From fa668c325f2dac348fb9f80c0c6c679f9ce1e41b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 10 三月 2026 18:28:17 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 339d3aa..11722ec 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -85,6 +85,8 @@
     @Autowired
     private CouponMapper couponMapper;
     @Autowired
+    private MemberCouponMapper memberCouponMapper;
+    @Autowired
     private MemberCouponJoinMapper memberCouponJoinMapper;
     @Autowired
     private IntegralMapper integralMapper;
@@ -444,6 +446,20 @@
                     if(Objects.isNull(coupon)||Constants.equalsInteger(coupon.getIsdeleted(),Constants.ONE)&&num>Constants.ZERO){
                         continue;
                     }
+                    if(coupon.getNum()>Constants.ZERO) {
+                        //鏌ヨ宸查鍙栨暟閲�
+                        Integer getNum = memberCouponMapper.selectCount(new QueryWrapper<MemberCoupon>().lambda()
+                                .eq(MemberCoupon::getIsdeleted, Constants.ZERO)
+                                .eq(MemberCoupon::getCouponId, couponId)
+                                .ne(MemberCoupon::getGetMethod, Constants.TWO)
+                        ).intValue();
+                        if (getNum >= coupon.getNum()) {
+                            continue;
+                        }
+                        if (num > (coupon.getNum() - getNum)) {
+                            num = coupon.getNum().intValue() - getNum;
+                        }
+                    }
                     MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,new Date(),Constants.ZERO,null);
                     for (int i = 0; i < num; i++) {
                         //婊″噺鍗蜂笉浼氱敓鎴恗axPrice 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
@@ -486,6 +502,10 @@
         //璧犻�侀個璇风Н鍒�
         //寮�鍚個璇锋敞鍐岄�佺Н鍒�
         if(Constants.equalsInteger(platformConfigDTO.getShareIntegralRewardStatus(),Constants.ZERO)){
+            member = memberMapper.selectById(member.getRecId());
+            if(Objects.isNull(member)){
+                return;
+            }
             DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
             dealIntegralRequest.setIntegralNum(platformConfigDTO.getShareIntegralReward());
             dealIntegralRequest.setDealType(Constants.ZERO);
@@ -493,8 +513,6 @@
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER);
             dealIntegralRequest.setParam1(member.getNickname());
             integralService.dealIntegral(dealIntegralRequest,member);
-            //娣诲姞娑堟伅璁板綍
-
         }
     }
 
@@ -690,7 +708,7 @@
         }
         this.verifyPhoneCode(request.getCode(),request.getPhone());
         memberMapper.update(new UpdateWrapper<Member>().lambda()
-                .eq(Member::getPhone,request.getPhone())
+                .set(Member::getPhone,request.getPhone())
                 .eq(Member::getId,request.getMemberId())
         );
     }

--
Gitblit v1.9.3