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