From ec09e9f2c72ff37654076c327008ac89ed32a8c3 Mon Sep 17 00:00:00 2001
From: jiangqs <343695869@qq.com>
Date: 星期六, 24 六月 2023 17:44:11 +0800
Subject: [PATCH] 导入导出

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
index e833fd6..edadea4 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
@@ -8,11 +8,13 @@
 import com.ruoyi.goods.domain.dto.MgtActivityEditDto;
 import com.ruoyi.goods.domain.dto.MgtActivityGoodsEditDto;
 import com.ruoyi.goods.domain.dto.MgtActivityPageDto;
+import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto;
 import com.ruoyi.goods.domain.pojo.activity.Activity;
 import com.ruoyi.goods.domain.pojo.activity.ActivityTotal;
 import com.ruoyi.goods.domain.vo.MgtActivityGetVo;
 import com.ruoyi.goods.domain.vo.MgtActivityGoodsListVo;
 import com.ruoyi.goods.domain.vo.MgtActivityPageVo;
+import com.ruoyi.goods.domain.vo.MgtActivityRecordPageVo;
 import com.ruoyi.goods.mapper.activity.ActivityMapper;
 import com.ruoyi.goods.service.activity.ActivityGoodsService;
 import com.ruoyi.goods.service.activity.ActivityService;
@@ -20,15 +22,22 @@
 import com.ruoyi.goods.service.activity.ActivityTotalService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
+import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto;
 import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
+import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo;
 import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
+import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo;
+import com.ruoyi.system.api.service.RemoteMemberService;
 import com.ruoyi.system.api.service.RemoteShopService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -53,6 +62,10 @@
 
     @Resource
     private RemoteShopService remoteShopService;
+
+    @Resource
+    private RemoteMemberService remoteMemberService;
+
     /**
      * @param mgtActivityEditDto
      * @return void
@@ -199,4 +212,46 @@
         activity.setActivityStatus(-1);
         this.saveOrUpdate(activity);
     }
+
+    /**
+     * @description 分页获取活动参与记录列表
+     * @param mgtActivityRecordPageDto
+     * @return MgtActivityRecordPageVo
+     * @author jqs34
+     * @date 2023/6/24 16:58
+     */
+    @Override
+    public List<MgtActivityRecordPageVo> pageMgtActivityRecord(Page page, MgtActivityRecordPageDto mgtActivityRecordPageDto){
+        if(StringUtils.isNotBlank(mgtActivityRecordPageDto.getKeyword())){
+            MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto();
+            mgtUserIdByKeywordDto.setKeyword(mgtActivityRecordPageDto.getKeyword());
+            MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
+            if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){
+                mgtActivityRecordPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
+            }
+        }
+        List<MgtActivityRecordPageVo> activityRecordPageVoList = activityMapper.pageMgtActivityRecord(page, mgtActivityRecordPageDto);
+        if(!activityRecordPageVoList.isEmpty()){
+            // 定义变量
+            HashSet<Long> userIdSet = new HashSet<>();
+            // 遍历列表,用户 ID
+            for (MgtActivityRecordPageVo mgtActivityRecordPageVo : activityRecordPageVoList) {
+                userIdSet.add(mgtActivityRecordPageVo.getUserId());
+            }
+            // 将店铺 ID 和用户 ID 转换为逗号分隔的字符串
+            String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList()));
+            // 从远程服务获取店铺和用户信息
+            MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+            mgtBaseBathDto = new MgtBaseBathDto();
+            mgtBaseBathDto.setIds(userJoinedString);
+            List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+            Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream()
+                    .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
+            for (MgtActivityRecordPageVo mgtActivityRecordPageVo : activityRecordPageVoList) {
+                mgtActivityRecordPageVo.setNickName(userMap.get(mgtActivityRecordPageVo.getUserId()).getNickName()+"/"+(userMap.get(mgtActivityRecordPageVo.getUserId()).getRealName()));
+                mgtActivityRecordPageVo.setMobile(userMap.get(mgtActivityRecordPageVo.getUserId()).getUserMobile());
+            }
+        }
+        return activityRecordPageVoList;
+    }
 }

--
Gitblit v1.7.1