From 156e141e55a8abf486157d1fa89d25e23f4a06a3 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期五, 25 八月 2023 19:32:30 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java | 226 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 165 insertions(+), 61 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 f8f5bc9..3ba3861 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 @@ -4,9 +4,7 @@ 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.MerCreateMemberTaskDto; -import com.ruoyi.shop.domain.dto.MerFollowMemberTaskDto; -import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto; +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; @@ -15,10 +13,14 @@ 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; @@ -41,6 +43,11 @@ @Resource private RemoteMemberService remoteMemberService; + + @Resource + private TaskFileService taskFileService; + + /** * * @param page @@ -49,16 +56,13 @@ */ @Override public List<MerMemberTaskPageVo> pageMerMemberTask(Page page, MerMemberTaskPageDto merMemberTaskPageDto){ - String today = DateUtils.parseDateToStr("YYYY-MM-DD",new Date()); List<MerMemberTaskPageVo> merMemberTaskPageVoList = memberTaskMapper.pageMerMemberTask(page, merMemberTaskPageDto); - if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty()){ - String taskDate; + List<String> dealContent = new ArrayList<>(); + if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty() ){ for(MerMemberTaskPageVo merMemberTaskPageVo : merMemberTaskPageVoList){ - taskDate = merMemberTaskPageVo.getTaskDate(); - if(today.equals(taskDate)){ - merMemberTaskPageVo.setTodayFlag(1); - }else{ - merMemberTaskPageVo.setTodayFlag(0); + dealContent = memberTaskMapper.listDealContent(merMemberTaskPageVo.getTaskId()); + if(dealContent!=null&&!dealContent.isEmpty()){ + merMemberTaskPageVo.setDealContent(dealContent); } } } @@ -72,83 +76,183 @@ @Override public void createMemberTask(MerCreateMemberTaskDto merCreateMemberTaskDto){ MemberTask memberTask = new MemberTask(); - String taskId = IdUtils.fastUUID(); + 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 = new MemberTaskRecord(); + public void followMemberTask(MerFollowMemberTaskDto merFollowMemberTaskDto) { + // 创建会员任务记录对象 + MemberTaskRecord memberTaskRecord; + // 获取旧的会员任务 MemberTask oldMemberTask = this.getById(merFollowMemberTaskDto.getTaskId()); - memberTaskRecord.setTaskId(merFollowMemberTaskDto.getTaskId()); - memberTaskRecord.setDelFlag(0); - memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId()); - memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType()); - memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone()); - memberTaskRecord.setCallTime(merFollowMemberTaskDto.getCallTime()); - memberTaskRecordService.saveOrUpdate(memberTaskRecord); - String picture = merFollowMemberTaskDto.getPicture(); - String video = merFollowMemberTaskDto.getVideo(); - String audio = merFollowMemberTaskDto.getAudio(); - String[] strArr; - TaskFile taskFile; - if(StringUtils.isNotBlank(picture)){ - strArr = picture.split(","); - for(String str : strArr){ - taskFile = new TaskFile(); - taskFile.setDelFlag(0); - taskFile.setFollowId(memberTaskRecord.getId()); - taskFile.setFollowFrom(2); - taskFile.setFileUrl(str); - taskFile.setFileType(1); + 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(video)){ - strArr = picture.split(","); - for(String str : strArr){ - taskFile = new TaskFile(); - taskFile.setDelFlag(0); - taskFile.setFollowId(memberTaskRecord.getId()); - taskFile.setFollowFrom(2); - taskFile.setFileUrl(str); - taskFile.setFileType(2); - } - } - if(StringUtils.isNotBlank(audio)){ - strArr = picture.split(","); - for(String str : strArr){ - taskFile = new TaskFile(); - taskFile.setDelFlag(0); - taskFile.setFollowId(memberTaskRecord.getId()); - taskFile.setFollowFrom(2); - taskFile.setFileUrl(str); - taskFile.setFileType(3); - } - } - if(StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())){ + // 判断下一个任务日期是否为空,并处理 + if (StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())) { + String nowTimeStr = DateUtils.getDate(); MemberTask memberTask = new MemberTask(); - String taskId = IdUtils.fastUUID(); + 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()); - memberTask.setTaskStatus(2); + 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