From 0a12bc6ec7148ae33596e9de142027ec379c7835 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 09 Apr 2024 10:11:50 +0800 Subject: [PATCH] Merge branch 'blnka' into blnka-vip --- src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java | 34 +++++++++++++++++++++++++++++++++- 1 files changed, 33 insertions(+), 1 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 60447a8..d4b1453 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 @@ -314,8 +314,40 @@ return new HashMap<>(); } + List<String> ids = new ArrayList<>(); + benefits.forEach(item -> { + ids.addAll(item.getDetails().stream().filter(detail -> detail.getLinkType() == 2 || detail.getLinkType() == 3).map(MallVipBenefitsDetails::getContent).collect(Collectors.toList())); + }); + + LambdaQueryWrapper<MallVipBenefitsRecord> recordQuery = new LambdaQueryWrapper<>(); + recordQuery.eq(MallVipBenefitsRecord::getReceiveId, ids) + .ge(MallVipBenefitsRecord::getReceiveTime, DateUtil.beginOfDay(new Date())) + .le(MallVipBenefitsRecord::getReceiveTime, DateUtil.endOfDay(new Date())); + List<MallVipBenefitsRecord> hasRecieveList = mallVipBenefitsRecordMapper.selectList(recordQuery); + Map<String, Object> map = new HashMap<>(); - map.put("benefit", benefits.get(0)); + if (CollUtil.isEmpty(hasRecieveList)) { + map.put("benefit", benefits.get(0)); + return map; + } + + 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()); + item.setDetails(collect); + }).filter(item -> CollUtil.isNotEmpty(item.getDetails())).collect(Collectors.toList()); + + if (CollUtil.isEmpty(collect1)) { + return map; + } + + map.put("benefit", collect1.get(0)); return map; } + + @Override + public IPage<MallVipBenefitsRecord> findVipBenefitsInPage(MallVipBenefitsRecord record, QueryRequest request) { + Page<MallVipBenefitsRecord> page = new Page<>(request.getPageNum(), request.getPageSize()); + return mallVipBenefitsRecordMapper.selectMemberBenefitsRecordInPage(record, page); + } } -- Gitblit v1.9.1