From 095eb642b440c3c3b9ed2e553a666970ac1032ab Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 03 九月 2025 16:15:26 +0800
Subject: [PATCH] 用户消费金额与总订单数,按标签过滤会员,订单列表会员名称与导出

---
 framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
index 48fa339..ed570fb 100644
--- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java
@@ -4,7 +4,6 @@
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.text.CharSequenceUtil;
 import cn.hutool.crypto.SecureUtil;
-import cn.hutool.crypto.digest.MD5;
 import cn.lili.base.Result;
 import cn.lili.cache.Cache;
 import cn.lili.cache.CachePrefix;
@@ -57,7 +56,6 @@
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.catalina.security.SecurityUtil;
 import org.apache.rocketmq.spring.core.RocketMQTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
@@ -70,6 +68,7 @@
 import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * 浼氬憳鎺ュ彛涓氬姟灞傚疄鐜�
@@ -578,8 +577,36 @@
         queryWrapper.eq(CharSequenceUtil.isNotBlank(memberSearchVO.getDisabled()), "disabled",
                 memberSearchVO.getDisabled().equals(SwitchEnum.OPEN.name()) ? 1 : 0);
         queryWrapper.orderByDesc("create_time");
+
         return this.baseMapper.pageByMemberVO(PageUtil.initPage(page), queryWrapper);
     }
+    @Override
+    public IPage<MemberVO> getMemberPageAndTag(MemberSearchVO memberSearchVO, PageVO page) {
+        QueryWrapper<Member> queryWrapper = Wrappers.query();
+        //鐢ㄦ埛鍚嶆煡璇�
+        queryWrapper.like(CharSequenceUtil.isNotBlank(memberSearchVO.getUsername()), "username", memberSearchVO.getUsername());
+        //鐢ㄦ埛鍚嶆煡璇�
+        queryWrapper.like(CharSequenceUtil.isNotBlank(memberSearchVO.getNickName()), "nick_name", memberSearchVO.getNickName());
+        //鎸夌収鐢佃瘽鍙风爜鏌ヨ
+        queryWrapper.like(CharSequenceUtil.isNotBlank(memberSearchVO.getMobile()), "mobile", memberSearchVO.getMobile());
+        //鎸夌収浼氬憳鐘舵�佹煡璇�
+        queryWrapper.eq(CharSequenceUtil.isNotBlank(memberSearchVO.getDisabled()), "disabled",
+                memberSearchVO.getDisabled().equals(SwitchEnum.OPEN.name()) ? 1 : 0);
+        queryWrapper.orderByDesc("create_time");
+        if (CollectionUtils.isNotEmpty(memberSearchVO.getTagIds())) {
+            // 浣跨敤inSql鏂规硶杩涜瀹夊叏鐨勫瓙鏌ヨ
+            String tagIdsStr = memberSearchVO.getTagIds().stream()
+                    .map(String::valueOf)
+                    .collect(Collectors.joining(","));
+            queryWrapper.inSql("id",
+                    "SELECT DISTINCT member_id FROM lmk_member_tag WHERE tag_id IN (" +
+                            tagIdsStr + ")");
+
+            return this.baseMapper.pageByMemberVO(PageUtil.initPage(page), queryWrapper);
+        }
+        return this.baseMapper.pageByMemberVO(PageUtil.initPage(page),queryWrapper);
+    }
+
 
     @Override
     @PointLogPoint
@@ -832,7 +859,6 @@
             if(StringUtils.isNotBlank(member.getFace()) && !member.getFace().contains("https")){
                 member.setFace(cosUtil.getPreviewUrl(member.getFace()));
             }
-
         }
         return member;
     }

--
Gitblit v1.8.0