rk
2026-03-10 fa668c325f2dac348fb9f80c0c6c679f9ce1e41b
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++) {
                        //满减卷不会生成maxPrice 需要根据优惠券减少金额设置
@@ -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())
        );
    }