From c5d38d650d2ac4101b1293a4f17346e7d5420076 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期五, 04 七月 2025 20:39:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java |  207 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 198 insertions(+), 9 deletions(-)

diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java
index a91505a..689e28f 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java
@@ -3,21 +3,28 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.shop.domain.dto.FileDto;
 import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
+import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto;
+import com.ruoyi.shop.domain.dto.StaffAgencyPageDto;
 import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord;
 import com.ruoyi.shop.domain.pojo.task.TaskFile;
 import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo;
-import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.StaffAgencyTaskRecordPageVo;
 import com.ruoyi.shop.mapper.task.AgencyTaskRecordMapper;
 import com.ruoyi.shop.service.task.AgencyTaskRecordService;
 import com.ruoyi.shop.service.task.TaskFileService;
-import com.ruoyi.shop.util.FileConvertUtils;
+import com.ruoyi.system.api.domain.poji.sys.SysStaff;
+import com.ruoyi.system.api.service.RemoteConfigService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
-import java.util.StringJoiner;
+import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -36,6 +43,9 @@
 
     @Resource
     private TaskFileService taskFileService;
+
+    @Resource
+    private RemoteConfigService remoteConfigService;
     /**
      *
      * @param page
@@ -48,22 +58,44 @@
         if(merAgencyTaskRecordPageVoList!=null&&!merAgencyTaskRecordPageVoList.isEmpty()){
             Long followId;
             List<TaskFile> taskFileList;
-            List<String> picture = new ArrayList<>();
-            List<String> video = new ArrayList<>();
-            List<String> audio = new ArrayList<>();
+            List<FileDto> picture = new ArrayList<>();
+            List<FileDto> video = new ArrayList<>();
+            List<FileDto> audio = new ArrayList<>();
+            //获取跟进详情文件
             for(MerAgencyTaskRecordPageVo merAgencyTaskRecordPageVo : merAgencyTaskRecordPageVoList){
                 followId = merAgencyTaskRecordPageVo.getFollowId();
                 taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1);
                 if(taskFileList!=null&&!taskFileList.isEmpty()){
-                    picture = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                    picture = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
                 }
                 taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2);
                 if(taskFileList!=null&&!taskFileList.isEmpty()){
-                    video = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                    video = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
                 }
                 taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3);
                 if(taskFileList!=null&&!taskFileList.isEmpty()){
-                    audio = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList());
+                    audio = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
                 }
                 merAgencyTaskRecordPageVo.setPicture(picture);
                 merAgencyTaskRecordPageVo.setVideo(video);
@@ -73,4 +105,161 @@
         return merAgencyTaskRecordPageVoList;
     }
 
+
+    /**
+     * 平台分页获取代理商跟进任务
+     * @return
+     */
+    @Override
+    public List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(MgtShopTaskPageDto mgtShopTaskPageDto){
+        List<MgtAgencyTaskRecordPageVo> mgtAgencyTaskRecordPageVoList = agencyTaskRecordMapper.pageMgtAgencyFollow(mgtShopTaskPageDto);
+        if(mgtAgencyTaskRecordPageVoList!=null&&!mgtAgencyTaskRecordPageVoList.isEmpty()){
+            Long followId;
+            List<TaskFile> taskFileList;
+            List<FileDto> picture = new ArrayList<>();
+            List<FileDto> video = new ArrayList<>();
+            List<FileDto> audio = new ArrayList<>();
+            Long userId;
+            SysStaff sysStaff;
+            HashSet<Long> userIdSet = new HashSet<>();
+            for(MgtAgencyTaskRecordPageVo mgtAgencyTaskRecordPageVo : mgtAgencyTaskRecordPageVoList){
+                userIdSet.add(mgtAgencyTaskRecordPageVo.getUserId());
+            }
+            List<Long> useIdList = new ArrayList<>(userIdSet);
+            List<SysStaff> sysStaffList = remoteConfigService.listSysStaffByIds(useIdList).getData();
+            Map<Long,SysStaff> sysStaffMap = sysStaffList.stream()
+                    .collect(Collectors.toMap(SysStaff::getUserId, Function.identity()));
+            for(MgtAgencyTaskRecordPageVo mgtAgencyTaskRecordPageVo : mgtAgencyTaskRecordPageVoList){
+                //获取任务用户信息
+                userId = mgtAgencyTaskRecordPageVo.getUserId();
+                sysStaff = sysStaffMap.get(userId);
+                if(sysStaff!=null){
+                    mgtAgencyTaskRecordPageVo.setUserName(sysStaff.getStaffName());
+                    mgtAgencyTaskRecordPageVo.setUserPicture(sysStaff.getStaffAvatar());
+                    mgtAgencyTaskRecordPageVo.setUserPosition(sysStaff.getStaffPost());
+                }
+                //获取任务详情文件
+                followId = mgtAgencyTaskRecordPageVo.getFollowId();
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    picture = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    video = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    audio = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
+                }
+                mgtAgencyTaskRecordPageVo.setPicture(picture);
+                mgtAgencyTaskRecordPageVo.setVideo(video);
+                mgtAgencyTaskRecordPageVo.setAudio(audio);
+            }
+        }
+        return mgtAgencyTaskRecordPageVoList;
+    }
+
+    /**
+     * @description  员工端分页获取经销商跟进任务记录列表
+     * @author  jqs
+     * @date    2023/7/14 19:24
+     * @param page
+     * @param staffAgencyPageDto
+     * @return  List<StaffAgencyTaskRecordPageVo>
+     */
+    @Override
+    public List<StaffAgencyTaskRecordPageVo> pageStaffAgencyTaskRecord(Page page, StaffAgencyPageDto staffAgencyPageDto){
+        List<StaffAgencyTaskRecordPageVo> agencyTaskRecordPageVoList = agencyTaskRecordMapper.pageStaffAgencyTaskRecord(page, staffAgencyPageDto);
+        if(agencyTaskRecordPageVoList!=null&&!agencyTaskRecordPageVoList.isEmpty()){
+            Long followId;
+            List<TaskFile> taskFileList;
+            List<FileDto> picture = new ArrayList<>();
+            List<FileDto> video = new ArrayList<>();
+            List<FileDto> audio = new ArrayList<>();
+            Long userId;
+            SysStaff sysStaff;
+            HashSet<Long> userIdSet = new HashSet<>();
+            for(StaffAgencyTaskRecordPageVo staffAgencyTaskRecordPageVo : agencyTaskRecordPageVoList){
+                userIdSet.add(staffAgencyTaskRecordPageVo.getUserId());
+            }
+            List<Long> useIdList = new ArrayList<>(userIdSet);
+            List<SysStaff> sysStaffList = remoteConfigService.listSysStaffByIds(useIdList).getData();
+            Map<Long,SysStaff> sysStaffMap = sysStaffList.stream()
+                    .collect(Collectors.toMap(SysStaff::getUserId, Function.identity()));
+            for(StaffAgencyTaskRecordPageVo staffAgencyTaskRecordPageVo : agencyTaskRecordPageVoList){
+                //获取任务用户信息
+                userId = staffAgencyTaskRecordPageVo.getUserId();
+                sysStaff = sysStaffMap.get(userId);
+                if(sysStaff!=null){
+                    staffAgencyTaskRecordPageVo.setUserName(sysStaff.getStaffName());
+                    staffAgencyTaskRecordPageVo.setUserPicture(sysStaff.getStaffAvatar());
+                    staffAgencyTaskRecordPageVo.setUserPosition(sysStaff.getStaffPost());
+                }
+                //获取任务详情文件
+                followId = staffAgencyTaskRecordPageVo.getFollowId();
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    picture = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    video = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
+                }
+                taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3);
+                if(taskFileList!=null&&!taskFileList.isEmpty()){
+                    audio = taskFileList.stream()
+                            .map(taskFile -> {
+                                FileDto fileDto = new FileDto();
+                                fileDto.setFileName(taskFile.getFileName());
+                                fileDto.setFileUrl(taskFile.getFileUrl());
+                                return fileDto;
+                            })
+                            .collect(Collectors.toList());
+                }
+                staffAgencyTaskRecordPageVo.setPicture(picture);
+                staffAgencyTaskRecordPageVo.setVideo(video);
+                staffAgencyTaskRecordPageVo.setAudio(audio);
+            }
+        }
+
+        return agencyTaskRecordPageVoList;
+    }
+
+
 }

--
Gitblit v1.7.1