From 0e4b49f4bee160790b1830e6a8606e739b32fc3b Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 11 三月 2026 09:09:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 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 e7949b5..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
@@ -55,6 +55,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.shiro.SecurityUtils;
+import org.checkerframework.checker.units.qual.N;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -84,6 +85,8 @@
     @Autowired
     private CouponMapper couponMapper;
     @Autowired
+    private MemberCouponMapper memberCouponMapper;
+    @Autowired
     private MemberCouponJoinMapper memberCouponJoinMapper;
     @Autowired
     private IntegralMapper integralMapper;
@@ -91,6 +94,8 @@
     private ShopMapper shopMapper;
     @Autowired
     private UserActionMapper userActionMapper;
+    @Autowired
+    private NoticeMapper noticeMapper;
 
 
     @Autowired
@@ -371,7 +376,6 @@
                 if(!this.checkIsCreateInvite(phone)){
                     member.setRecId(wxPhoneRequest.getRecId());
                 }
-                member.setIntegral(BigDecimal.ZERO);
                 member.setPhone(phone);
                 member.setStatus(Constants.ZERO);
             }
@@ -424,7 +428,7 @@
             dealIntegralRequest.setDealType(Constants.ZERO);
             dealIntegralRequest.setMemberId(member.getId());
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.REGISTER);
-            integralService.dealIntegral(dealIntegralRequest,null);
+            integralService.dealIntegral(dealIntegralRequest,member);
         }
         //寮�鍚敞鍐岄�佷紭鎯犲埜
         if(Constants.equalsInteger(platformConfigDTO.getRegCouponRewardStatus(),Constants.ZERO)){
@@ -442,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 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
@@ -450,6 +468,10 @@
                         }
                         memberCouponList.add(memberCoupon);
                     }
+                    Notice notice = Notice.getNotice(Constants.NoticeType.COUPON,
+                            member.getId(),null);
+                    notice.setContent(notice.getContent().replace("{param}",Constants.getCouponInfo(memberCoupon,num)));
+                    noticeMapper.insert(notice);
                 }
                 if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberCouponList)){
                     memberCouponJoinMapper.insert(memberCouponList);
@@ -480,17 +502,17 @@
         //璧犻�侀個璇风Н鍒�
         //寮�鍚個璇锋敞鍐岄�佺Н鍒�
         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);
             dealIntegralRequest.setMemberId(member.getRecId());
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER);
             dealIntegralRequest.setParam1(member.getNickname());
-            integralService.dealIntegral(dealIntegralRequest,null);
-            //娣诲姞娑堟伅璁板綍
-
-
-
+            integralService.dealIntegral(dealIntegralRequest,member);
         }
     }
 
@@ -686,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