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/MemberTaskServiceImpl.java | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 239 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java index 6294833..41b8142 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java @@ -1,10 +1,28 @@ package com.ruoyi.shop.service.impl.task; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.utils.DateUtils; +import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.uuid.IdUtils; +import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.pojo.task.MemberTask; +import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord; +import com.ruoyi.shop.domain.pojo.task.TaskFile; +import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo; import com.ruoyi.shop.mapper.task.MemberTaskMapper; +import com.ruoyi.shop.service.task.MemberTaskRecordService; import com.ruoyi.shop.service.task.MemberTaskService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.shop.service.task.TaskFileService; +import com.ruoyi.system.api.domain.dto.MemberTotalChangeDto; +import com.ruoyi.system.api.domain.vo.MemberTaskSimpleVo; +import com.ruoyi.system.api.service.RemoteMemberService; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * <p> @@ -17,4 +35,225 @@ @Service public class MemberTaskServiceImpl extends ServiceImpl<MemberTaskMapper, MemberTask> implements MemberTaskService { + @Resource + private MemberTaskMapper memberTaskMapper; + + @Resource + private MemberTaskRecordService memberTaskRecordService; + + @Resource + private RemoteMemberService remoteMemberService; + + @Resource + private TaskFileService taskFileService; + + + /** + * + * @param page + * @param merMemberTaskPageDto + * @return + */ + @Override + public List<MerMemberTaskPageVo> pageMerMemberTask(Page page, MerMemberTaskPageDto merMemberTaskPageDto){ + List<MerMemberTaskPageVo> merMemberTaskPageVoList = memberTaskMapper.pageMerMemberTask(page, merMemberTaskPageDto); + List<String> dealContent = new ArrayList<>(); + if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty() ){ + for(MerMemberTaskPageVo merMemberTaskPageVo : merMemberTaskPageVoList){ + dealContent = memberTaskMapper.listDealContent(merMemberTaskPageVo.getTaskId()); + if(dealContent!=null&&!dealContent.isEmpty()){ + merMemberTaskPageVo.setDealContent(dealContent); + } + } + } + return merMemberTaskPageVoList; + } + + /** + * + * @param merCreateMemberTaskDto + */ + @Override + public void createMemberTask(MerCreateMemberTaskDto merCreateMemberTaskDto){ + MemberTask memberTask = new MemberTask(); + String taskId = IdUtils.simpleUUID(); + String nowTimeStr = DateUtils.getDate(); + memberTask.setTaskId(taskId); + memberTask.setDelFlag(0); + memberTask.setTaskStatus(0); + int i = merCreateMemberTaskDto.getTaskDate().compareTo(nowTimeStr); + if(i>0){ + memberTask.setTaskStatus(0); + }else if(i==0){ + memberTask.setTaskStatus(1); + }else{ + memberTask.setTaskStatus(3); + } + memberTask.setEmergencyState(merCreateMemberTaskDto.getEmergencyState()); + memberTask.setShopId(merCreateMemberTaskDto.getShopId()); + memberTask.setUserId(merCreateMemberTaskDto.getMemberUserId()); + memberTask.setTaskDate(merCreateMemberTaskDto.getTaskDate()); + memberTask.setTaskContent(merCreateMemberTaskDto.getTaskContent()); + memberTask.setCreateTime(new Date()); + this.saveOrUpdate(memberTask); + MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); + memberTotalChangeDto.setUserId(merCreateMemberTaskDto.getMemberUserId()); + memberTotalChangeDto.setNextTaskTime(merCreateMemberTaskDto.getTaskDate()); + remoteMemberService.changeMemberTotal(memberTotalChangeDto); + } + + /** + * @description 会员任务跟进 + * @author jqs + * @date 2023/7/4 17:16 + * @param merFollowMemberTaskDto + * @return void + */ + @Override + public void followMemberTask(MerFollowMemberTaskDto merFollowMemberTaskDto) { + // 创建会员任务记录对象 + MemberTaskRecord memberTaskRecord; + // 获取旧的会员任务 + MemberTask oldMemberTask = this.getById(merFollowMemberTaskDto.getTaskId()); + oldMemberTask.setTaskStatus(2); + this.saveOrUpdate(oldMemberTask); + // 判断跟进类型 + if (merFollowMemberTaskDto.getFollowType() == 1) { + // 获取跟进电话列表 + List<MerFollowPhoneDto> followPhone = merFollowMemberTaskDto.getFollowPhone(); + // 判断跟进电话列表是否为空 + if (followPhone != null && !followPhone.isEmpty()) { + // 遍历跟进电话列表 + for (MerFollowPhoneDto followPhoneDto : followPhone) { + // 创建新的会员任务记录 + memberTaskRecord = new MemberTaskRecord(); + memberTaskRecord.setTaskId(merFollowMemberTaskDto.getTaskId()); + memberTaskRecord.setDelFlag(0); + memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId()); + memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType()); + memberTaskRecord.setCustomeFollowType(merFollowMemberTaskDto.getCustomeFollowType()); + memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone()); + memberTaskRecord.setFollowContent(followPhoneDto.getFollowContent()); + memberTaskRecord.setCallTime(followPhoneDto.getCallTime()); + // 保存或更新会员任务记录 + memberTaskRecordService.saveOrUpdate(memberTaskRecord); + } + } + } else { + // 创建新的会员任务记录 + memberTaskRecord = new MemberTaskRecord(); + memberTaskRecord.setTaskId(merFollowMemberTaskDto.getTaskId()); + memberTaskRecord.setDelFlag(0); + memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId()); + memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType()); + memberTaskRecord.setCustomeFollowType(merFollowMemberTaskDto.getCustomeFollowType()); + memberTaskRecord.setFollowContent(merFollowMemberTaskDto.getFollowContent()); + memberTaskRecord.setCreateTime(new Date()); + // 保存或更新会员任务记录 + memberTaskRecordService.saveOrUpdate(memberTaskRecord); + // 获取图片、视频和音频 + List<FileDto> picture = merFollowMemberTaskDto.getPicture(); + List<FileDto> video = merFollowMemberTaskDto.getVideo(); + List<FileDto> audio = merFollowMemberTaskDto.getAudio(); + TaskFile taskFile; + List<TaskFile> taskFileList = new ArrayList<>(); + // 判断图片是否为空,并处理 + if (picture!=null&&!picture.isEmpty()) { + for (FileDto fileDto : picture) { + taskFile = new TaskFile(); + taskFile.setDelFlag(0); + taskFile.setFollowId(memberTaskRecord.getId()); + taskFile.setFollowFrom(2); + taskFile.setFileName(fileDto.getFileName()); + taskFile.setFileUrl(fileDto.getFileUrl()); + taskFile.setFileType(1); + taskFileList.add(taskFile); + } + } + // 判断视频是否为空,并处理 + if (video!=null&&!video.isEmpty()) { + for (FileDto fileDto : video) { + taskFile = new TaskFile(); + taskFile.setDelFlag(0); + taskFile.setFollowId(memberTaskRecord.getId()); + taskFile.setFollowFrom(2); + taskFile.setFileName(fileDto.getFileName()); + taskFile.setFileUrl(fileDto.getFileUrl()); + taskFile.setFileType(2); + taskFileList.add(taskFile); + } + } + // 判断音频是否为空,并处理 + if (audio!=null&&!audio.isEmpty()) { + for (FileDto fileDto : audio) { + taskFile = new TaskFile(); + taskFile.setDelFlag(0); + taskFile.setFollowId(memberTaskRecord.getId()); + taskFile.setFollowFrom(2); + taskFile.setFileName(fileDto.getFileName()); + taskFile.setFileUrl(fileDto.getFileUrl()); + taskFile.setFileType(3); + taskFileList.add(taskFile); + } + } + if(taskFileList!=null&&!taskFileList.isEmpty()){ + taskFileService.saveBatch(taskFileList); + } + + } + // 判断下一个任务日期是否为空,并处理 + if (StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())) { + String nowTimeStr = DateUtils.getDate(); + MemberTask memberTask = new MemberTask(); + String taskId = IdUtils.simpleUUID(); + memberTask.setTaskId(taskId); + memberTask.setDelFlag(0); + memberTask.setShopId(oldMemberTask.getShopId()); + memberTask.setUserId(oldMemberTask.getUserId()); + memberTask.setTaskDate(merFollowMemberTaskDto.getNextTaskDate()); + memberTask.setTaskContent(merFollowMemberTaskDto.getNextTaskContent()); + int i = merFollowMemberTaskDto.getNextTaskDate().compareTo(nowTimeStr); + if(i>0){ + memberTask.setTaskStatus(0); + }else if(i==0){ + memberTask.setTaskStatus(1); + }else{ + memberTask.setTaskStatus(3); + } + memberTask.setCreateTime(new Date()); + this.saveOrUpdate(memberTask); + MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto(); + memberTotalChangeDto.setUserId(oldMemberTask.getUserId()); + memberTotalChangeDto.setNextTaskTime(merFollowMemberTaskDto.getNextTaskDate()); + remoteMemberService.changeMemberTotal(memberTotalChangeDto); + } + } + + /** + * @description 获取进行中任务数 + * @author jqs + * @date 2023/6/26 13:45 + * @param shopId + * @return Integer + */ + @Override + public Integer getMemberIngTotal(Long shopId) { + return memberTaskMapper.getMemberIngTotal(shopId); + } + + + + /** + * @description 获取最近任务 + * @author jqs + * @date 2023/6/29 18:25 + * @param + * @return MemberTaskSimpleVo + */ + @Override + public MemberTaskSimpleVo getLastMemberTask(Long userId){ + return memberTaskMapper.getLastMemberTask(userId); + } + + } -- Gitblit v1.7.1