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