From 10f1422bc8f401b06b1e55ee63b23016d74abce8 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 28 二月 2024 11:34:09 +0800
Subject: [PATCH] 优化商户发券逻辑
---
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java | 191 ++++++++++++++++++++++++++++++++---------------
1 files changed, 129 insertions(+), 62 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 9b0874d..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
@@ -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;
@@ -16,11 +14,13 @@
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;
@@ -56,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);
}
}
}
@@ -80,76 +77,133 @@
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 = 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());
- memberTaskRecord.setFollowContent(merFollowMemberTaskDto.getFollowContent());
- memberTaskRecord.setCreateTime(new Date());
- 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);
- taskFileService.saveOrUpdate(taskFile);
+ 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);
+ }
}
- }
- 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);
- taskFileService.saveOrUpdate(taskFile);
+ } 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(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);
- taskFileService.saveOrUpdate(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())){
+ // 判断下一个任务日期是否为空,并处理
+ if (StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())) {
+ String nowTimeStr = DateUtils.getDate();
MemberTask memberTask = new MemberTask();
String taskId = IdUtils.simpleUUID();
memberTask.setTaskId(taskId);
@@ -158,9 +212,20 @@
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);
}
}
@@ -176,6 +241,8 @@
return memberTaskMapper.getMemberIngTotal(shopId);
}
+
+
/**
* @description 获取最近任务
* @author jqs
--
Gitblit v1.7.1