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/MemberTaskRecordServiceImpl.java |  141 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 140 insertions(+), 1 deletions(-)

diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java
index dcc563a..bdb772a 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java
@@ -1,10 +1,24 @@
 package com.ruoyi.shop.service.impl.task;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.shop.domain.dto.FileDto;
+import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto;
+import com.ruoyi.shop.domain.dto.MgtMemberTaskPageDto;
 import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord;
+import com.ruoyi.shop.domain.pojo.task.TaskFile;
+import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo;
+import com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo;
 import com.ruoyi.shop.mapper.task.MemberTaskRecordMapper;
 import com.ruoyi.shop.service.task.MemberTaskRecordService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.shop.service.task.TaskFileService;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +31,129 @@
 @Service
 public class MemberTaskRecordServiceImpl extends ServiceImpl<MemberTaskRecordMapper, MemberTaskRecord> implements MemberTaskRecordService {
 
+    @Resource
+    private MemberTaskRecordMapper memberTaskRecordMapper;
+
+    @Resource
+    private TaskFileService taskFileService;
+
+    /**
+     * 商户分页获取会员跟进任务
+     * @param page
+     * @param merMemberTaskPageDto
+     * @return
+     */
+    @Override
+    public List<MerMemberTaskRecordPageVo> pageMerMemberTaskRecord(Page page, MerMemberTaskPageDto merMemberTaskPageDto){
+        List<MerMemberTaskRecordPageVo> merMemberTaskRecordPageVoList = memberTaskRecordMapper.pageMerMemberTaskRecord(page, merMemberTaskPageDto);
+        if(merMemberTaskRecordPageVoList!=null&&!merMemberTaskRecordPageVoList.isEmpty()){
+            Long followId;
+            List<TaskFile> taskFileList;
+            List<FileDto> picture = new ArrayList<>();
+            List<FileDto> video = new ArrayList<>();
+            List<FileDto> audio = new ArrayList<>();
+            for(MerMemberTaskRecordPageVo merMemberTaskRecordPageVo : merMemberTaskRecordPageVoList){
+                followId = merMemberTaskRecordPageVo.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());
+                }
+                merMemberTaskRecordPageVo.setPicture(picture);
+                merMemberTaskRecordPageVo.setVideo(video);
+                merMemberTaskRecordPageVo.setAudio(audio);
+            }
+        }
+        return merMemberTaskRecordPageVoList;
+    }
+
+    /**
+     * @description  平台分页获取会员跟进任务
+     * @author  jqs
+     * @date    2023/6/16 15:48
+     * @param mgtMemberTaskPageDto
+     * @return  List<MgtMemberFollowPageVo>
+     */
+    @Override
+    public List<MgtMemberFollowPageVo> pageMgtMemberFollow( MgtMemberTaskPageDto mgtMemberTaskPageDto){
+        if(mgtMemberTaskPageDto.getTaskDate()==null){
+            mgtMemberTaskPageDto.setTaskDate(DateUtils.getDate());
+        }
+        List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordMapper.pageMgtMemberFollow( mgtMemberTaskPageDto);
+        if(mgtMemberFollowPageVoList!=null&&!mgtMemberFollowPageVoList.isEmpty()){
+            Long followId;
+            List<TaskFile> taskFileList;
+            List<FileDto> picture = new ArrayList<>();
+            List<FileDto> video = new ArrayList<>();
+            List<FileDto> audio = new ArrayList<>();
+            for(MgtMemberFollowPageVo mgtMemberFollowPageVo : mgtMemberFollowPageVoList){
+                followId = mgtMemberFollowPageVo.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());
+                }
+                mgtMemberFollowPageVo.setPicture(picture);
+                mgtMemberFollowPageVo.setVideo(video);
+                mgtMemberFollowPageVo.setAudio(audio);
+            }
+        }
+        return mgtMemberFollowPageVoList;
+    }
 }

--
Gitblit v1.7.1