From 0774ea976b6aa86a8a7de334fa24fbd7524295d5 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期五, 26 一月 2024 11:57:11 +0800
Subject: [PATCH] 看板统计

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java |  179 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 160 insertions(+), 19 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 e189c4a..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,22 +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.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.system.api.domain.poji.sys.SysUser;
-import com.ruoyi.system.api.service.RemoteUserService;
+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.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -39,7 +45,7 @@
     private TaskFileService taskFileService;
 
     @Resource
-    private RemoteUserService remoteUserService;
+    private RemoteConfigService remoteConfigService;
     /**
      *
      * @param page
@@ -52,23 +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);
@@ -89,30 +116,62 @@
         if(mgtAgencyTaskRecordPageVoList!=null&&!mgtAgencyTaskRecordPageVoList.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<>();
             Long userId;
-            SysUser sysUser;
+            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();
-                sysUser = remoteUserService.getSysUser(userId).getData();
-                mgtAgencyTaskRecordPageVo.setUserName(sysUser.getNickName());
-                mgtAgencyTaskRecordPageVo.setUserPicture(sysUser.getAvatar());
+                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(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());
                 }
                 mgtAgencyTaskRecordPageVo.setPicture(picture);
                 mgtAgencyTaskRecordPageVo.setVideo(video);
@@ -121,4 +180,86 @@
         }
         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