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