From 38d547d91d7eee81ed56ca6ceba7fd393952a082 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Mon, 12 May 2025 16:12:15 +0800 Subject: [PATCH] feat(sign): 增加签到获得会员经验或积分的功能 - 在 ApiSignVo 中添加 mostSignIn 字段,用于区分签到获得的类型 - 在 ScoreFlowTypeEnum 中新增 SIGN_EXPERIENCE 和 SIGN_SCORE 类型 - 修改 ScoreServiceImpl 中的签到逻辑,支持获得会员经验和积分 - 更新 ScoreSettingDto,添加 mostSignIn 字段用于配置签到获得类型 - 在前端设置页面添加签到获得类型的选项 --- src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java index d4b1453..e82887b 100644 --- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java @@ -276,6 +276,7 @@ mallMemberCouponMapper.insert(memberCoupon); record.setReceiveName(coupon.getName()); + record.setStatus(1); } mallVipBenefitsRecordMapper.insert(record); @@ -320,7 +321,8 @@ }); LambdaQueryWrapper<MallVipBenefitsRecord> recordQuery = new LambdaQueryWrapper<>(); - recordQuery.eq(MallVipBenefitsRecord::getReceiveId, ids) + recordQuery.in(MallVipBenefitsRecord::getReceiveId, ids) + .eq(MallVipBenefitsRecord::getMemberId, member.getId()) .ge(MallVipBenefitsRecord::getReceiveTime, DateUtil.beginOfDay(new Date())) .le(MallVipBenefitsRecord::getReceiveTime, DateUtil.endOfDay(new Date())); List<MallVipBenefitsRecord> hasRecieveList = mallVipBenefitsRecordMapper.selectList(recordQuery); @@ -333,7 +335,7 @@ List<Long> hasIds = hasRecieveList.stream().map(MallVipBenefitsRecord::getReceiveId).collect(Collectors.toList()); List<MallVipBenefits> collect1 = benefits.stream().peek(item -> { - List<MallVipBenefitsDetails> collect = item.getDetails().stream().filter(detail -> hasIds.contains(Long.parseLong(detail.getContent()))).collect(Collectors.toList()); + List<MallVipBenefitsDetails> collect = item.getDetails().stream().filter(detail -> (detail.getLinkType() == 2 || detail.getLinkType() == 3) && !hasIds.contains(Long.parseLong(detail.getContent()))).collect(Collectors.toList()); item.setDetails(collect); }).filter(item -> CollUtil.isNotEmpty(item.getDetails())).collect(Collectors.toList()); -- Gitblit v1.9.1