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 | 188 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 162 insertions(+), 26 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 b9b5667..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,26 +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.MgtMemberFollowPageVo; +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.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.StringJoiner; +import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -43,7 +45,7 @@ private TaskFileService taskFileService; @Resource - private RemoteUserService remoteUserService; + private RemoteConfigService remoteConfigService; /** * * @param page @@ -56,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); @@ -85,39 +108,70 @@ /** * 平台分页获取代理商跟进任务 - * @param page * @return */ @Override - public List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto){ - List<MgtAgencyTaskRecordPageVo> mgtAgencyTaskRecordPageVoList = agencyTaskRecordMapper.pageMgtAgencyFollow(page, mgtShopTaskPageDto); + public List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(MgtShopTaskPageDto mgtShopTaskPageDto){ + List<MgtAgencyTaskRecordPageVo> mgtAgencyTaskRecordPageVoList = agencyTaskRecordMapper.pageMgtAgencyFollow(mgtShopTaskPageDto); 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); @@ -126,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