Administrator
2025-05-20 4b302483c88f9e49af18d35b206a733d828fbdbc
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -776,46 +776,49 @@
        mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
        this.baseMapper.updateById(mallMember);
        //完善信息赠送新人礼
        if (StrUtil.isNotBlank(mallMember.getPhone())) {
            DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                    CommonDictionaryEnum.NEW_GIFT_SETTING.getType(),
                    CommonDictionaryEnum.NEW_GIFT_SETTING.getCode()
            );
            ApiNewGiftSettingDto apiNewGiftSettingDto = JSONObject.parseObject(dic.getValue(), ApiNewGiftSettingDto.class);
            if (apiNewGiftSettingDto.getState() == 1) {
                String prizeScore = apiNewGiftSettingDto.getPrizeScore();
                BigDecimal bigDecimal = new BigDecimal(prizeScore).setScale(0, RoundingMode.HALF_DOWN);
                if (bigDecimal.compareTo(BigDecimal.ZERO) > 0) {
                    walletService.add(bigDecimal, mallMember.getId(), "prizeScore");
                    mallMoneyFlowService.addMoneyFlow(
                            mallMember.getId(),
                            bigDecimal,
                            ScoreFlowTypeEnum.MEMBER_INFO_GIFT.getValue(),
                            MallUtils.getOrderNum(),
                            FlowTypeEnum.PRIZE_SCORE.getValue(),
                            StrUtil.format(ScoreFlowTypeEnum.MEMBER_INFO_GIFT.getDesc(),bigDecimal),
                            2
                    );
                }
                if (apiNewGiftSettingDto.getCouponId() != null) {
                    MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(apiNewGiftSettingDto.getCouponId());
                    if(ObjectUtil.isNotEmpty(mallGoodsCoupon)){
                        MallMemberCoupon memberCoupon = new MallMemberCoupon();
                        memberCoupon.setCouponId(mallGoodsCoupon.getId());
                        memberCoupon.setCouponName(mallGoodsCoupon.getName());
                        memberCoupon.setInviteId(mallMember.getInviteId());
                        memberCoupon.setCouponUuid(IdUtil.simpleUUID());
                        memberCoupon.setState(1);
                        memberCoupon.setFromType(3);
                        memberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(), mallGoodsCoupon.getExpireDay()));
                        memberCoupon.setMemberId(mallMember.getId());
                        mallMemberCouponMapper.insert(memberCoupon);
                    }
                }
            }
        }
//        //完善信息赠送新人礼
//        if (StrUtil.isNotBlank(mallMember.getPhone()) && mallMember.getNewGift() == 0) {
//            DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
//                    CommonDictionaryEnum.NEW_GIFT_SETTING.getType(),
//                    CommonDictionaryEnum.NEW_GIFT_SETTING.getCode()
//            );
//            mallMember.setNewGift(1);
//            this.baseMapper.updateById(mallMember);
//
//            ApiNewGiftSettingDto apiNewGiftSettingDto = JSONObject.parseObject(dic.getValue(), ApiNewGiftSettingDto.class);
//            if (apiNewGiftSettingDto.getState() == 1) {
//                String prizeScore = apiNewGiftSettingDto.getPrizeScore();
//                BigDecimal bigDecimal = new BigDecimal(prizeScore).setScale(0, RoundingMode.HALF_DOWN);
//                if (bigDecimal.compareTo(BigDecimal.ZERO) > 0) {
//                    walletService.add(bigDecimal, mallMember.getId(), "prizeScore");
//                    mallMoneyFlowService.addMoneyFlow(
//                            mallMember.getId(),
//                            bigDecimal,
//                            ScoreFlowTypeEnum.MEMBER_INFO_GIFT.getValue(),
//                            MallUtils.getOrderNum(),
//                            FlowTypeEnum.PRIZE_SCORE.getValue(),
//                            StrUtil.format(ScoreFlowTypeEnum.MEMBER_INFO_GIFT.getDesc(),bigDecimal),
//                            2
//                    );
//                }
//                if (apiNewGiftSettingDto.getCouponId() != null) {
//                    MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(apiNewGiftSettingDto.getCouponId());
//                    if(ObjectUtil.isNotEmpty(mallGoodsCoupon)){
//                        MallMemberCoupon memberCoupon = new MallMemberCoupon();
//                        memberCoupon.setCouponId(mallGoodsCoupon.getId());
//                        memberCoupon.setCouponName(mallGoodsCoupon.getName());
//                        memberCoupon.setInviteId(mallMember.getInviteId());
//                        memberCoupon.setCouponUuid(IdUtil.simpleUUID());
//                        memberCoupon.setState(1);
//                        memberCoupon.setFromType(3);
//                        memberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(), mallGoodsCoupon.getExpireDay()));
//                        memberCoupon.setMemberId(mallMember.getId());
//                        mallMemberCouponMapper.insert(memberCoupon);
//                    }
//                }
//
//            }
//        }
        return new FebsResponse().success();
    }
@@ -1608,8 +1611,6 @@
        if(apiMemberNewGiftSettingVo.getState() == 1 && apiMemberNewGiftSettingVo.getOpenState() == 1){
            mallMember.setNewGift(1);
            mallMember.setLastLoginTime(new Date());
            this.baseMapper.updateById(mallMember);
            BigDecimal prizeScore = new BigDecimal(StrUtil.isBlank(apiNewGiftSettingDto.getPrizeScore()) ? "0" : apiNewGiftSettingDto.getPrizeScore())
                    .setScale(0, RoundingMode.HALF_DOWN);
@@ -1632,34 +1633,38 @@
            if(ObjectUtil.isNotEmpty(apiNewGiftSettingDto.getCouponId())){
                Long couponId = apiNewGiftSettingDto.getCouponId();
                MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId);
                List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdCouponIdWithOutInviteId(memberId, couponId);
                if(CollUtil.isEmpty(mallMemberCoupons)){
                    //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
                    MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
                    mallMemberCoupon.setCouponId(couponId);
                    mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
                    mallMemberCoupon.setMemberId(memberId);
                    mallMemberCoupon.setCouponUuid(couponUUID);
                    mallMemberCoupon.setInviteId(mallMember.getInviteId());
                    mallMemberCoupon.setState(1);
                    mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
                    mallMemberCouponMapper.insert(mallMemberCoupon);
                if(ObjectUtil.isNotEmpty(mallGoodsCoupon) && mallGoodsCoupon.getState() == 2){
                    List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdCouponIdWithOutInviteId(memberId, couponId);
                    if(CollUtil.isEmpty(mallMemberCoupons)){
                        //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
                        MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
                        mallMemberCoupon.setCouponId(couponId);
                        mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
                        mallMemberCoupon.setMemberId(memberId);
                        mallMemberCoupon.setCouponUuid(couponUUID);
                        mallMemberCoupon.setInviteId(mallMember.getInviteId());
                        mallMemberCoupon.setState(1);
                        mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
                        mallMemberCouponMapper.insert(mallMemberCoupon);
                    mallMoneyFlowService.addMoneyFlow(
                            memberId,
                            BigDecimal.ONE,
                            ScoreFlowTypeEnum.NEW_GIFT_COUPON.getValue(),
                            MallUtils.getOrderNum(),
                            FlowTypeEnum.BALANCE.getValue(),
                            StrUtil.format( ScoreFlowTypeEnum.NEW_GIFT_COUPON.getDesc(),mallGoodsCoupon.getName()),
                            2);
                        mallMoneyFlowService.addMoneyFlow(
                                memberId,
                                BigDecimal.ONE,
                                ScoreFlowTypeEnum.NEW_GIFT_COUPON.getValue(),
                                MallUtils.getOrderNum(),
                                FlowTypeEnum.BALANCE.getValue(),
                                StrUtil.format( ScoreFlowTypeEnum.NEW_GIFT_COUPON.getDesc(),mallGoodsCoupon.getName()),
                                2);
                    apiMemberNewGiftSettingVo.setCouponName(mallGoodsCoupon.getName());
                        apiMemberNewGiftSettingVo.setCouponName(mallGoodsCoupon.getName());
                    }
                }
            }
        }
        mallMember.setLastLoginTime(new Date());
        this.baseMapper.updateById(mallMember);
//        this.baseMapper.updateLastLoginTime(memberId,new Date());
        return new FebsResponse().success().data(apiMemberNewGiftSettingVo);