From 32d38feada2a84606b14016abcddf34ec8fe9e3e Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Tue, 27 May 2025 14:19:25 +0800 Subject: [PATCH] refactor(mall): 优化会员标签查询逻辑 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 4971f43..57ddbee 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -14,6 +14,7 @@ import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.*; import cc.mrbird.febs.mall.vo.*; +import cc.mrbird.febs.mall.vo.memberLevel.ApiLabelInfoVo; import cc.mrbird.febs.mall.vo.memberLevel.ApiMemberLabelVo; import cc.mrbird.febs.pay.model.BrandWCPayRequestData; import cc.mrbird.febs.pay.service.IXcxPayService; @@ -330,16 +331,25 @@ List<HappyMemberLabelRecord> happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList( new LambdaQueryWrapper<HappyMemberLabelRecord>() .eq(HappyMemberLabelRecord::getMemberId, id) + .orderByDesc(HappyMemberLabelRecord::getId) + .last("limit 5") ); if(CollUtil.isNotEmpty(happyMemberLabelRecords)){ Set<Long> collect = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getLabelId).collect(Collectors.toSet()); List<HappyMemberLabel> happyMemberLabels = happyMemberLabelMapper.selectList( new LambdaQueryWrapper<HappyMemberLabel>() - .select(HappyMemberLabel::getIconPng) + .select(HappyMemberLabel::getIconPng, HappyMemberLabel::getName) .in(HappyMemberLabel::getId, collect) ); if(CollUtil.isNotEmpty(happyMemberLabels)){ - mallMemberVo.setLabelList(happyMemberLabels.stream().map(HappyMemberLabel::getIconPng).collect(Collectors.toList())); + ArrayList<ApiLabelInfoVo> apiMemberLabelVos = new ArrayList<>(); + for (HappyMemberLabel happyMemberLabel : happyMemberLabels) { + ApiLabelInfoVo apiLabelInfoVo = new ApiLabelInfoVo(); + apiLabelInfoVo.setIconPng(happyMemberLabel.getIconPng()); + apiLabelInfoVo.setName(happyMemberLabel.getName()); + apiMemberLabelVos.add(apiLabelInfoVo); + } + mallMemberVo.setLabelList(apiMemberLabelVos); } } return new FebsResponse().success().data(mallMemberVo); -- Gitblit v1.9.1