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.common.core.utils.StringUtils;
|
import com.ruoyi.common.core.utils.uuid.IdUtils;
|
import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto;
|
import com.ruoyi.shop.domain.dto.MerCreateAgencyTaskDto;
|
import com.ruoyi.shop.domain.dto.MerFollowAgencyTaskDto;
|
import com.ruoyi.shop.domain.dto.MerFollowPhoneDto;
|
import com.ruoyi.shop.domain.pojo.task.*;
|
import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo;
|
import com.ruoyi.shop.mapper.task.AgencyTaskMapper;
|
import com.ruoyi.shop.service.task.AgencyTaskRecordService;
|
import com.ruoyi.shop.service.task.AgencyTaskService;
|
import com.ruoyi.shop.service.task.TaskFileService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 会员跟进任务 服务实现类
|
* </p>
|
*
|
* @author jqs
|
* @since 2023-05-07
|
*/
|
@Service
|
public class AgencyTaskServiceImpl extends ServiceImpl<AgencyTaskMapper, AgencyTask> implements AgencyTaskService {
|
|
@Resource
|
private AgencyTaskMapper agencyTaskMapper;
|
|
@Resource
|
private AgencyTaskRecordService agencyTaskRecordService;
|
|
@Resource
|
private TaskFileService taskFileService;
|
/**
|
*
|
* @param page
|
* @param merAgencyTaskPageDto
|
* @return
|
*/
|
@Override
|
public List<MerAgencyTaskPageVo> pageMerAgencyTask(Page page, MerAgencyTaskPageDto merAgencyTaskPageDto){
|
/*String nowDay = DateUtils.parseDateToStr("YYYY-MM-dd",new Date());
|
merAgencyTaskPageDto.setNowDay(nowDay);*/
|
List<MerAgencyTaskPageVo> merAgencyTaskPageVoList = agencyTaskMapper.pageMerAgencyTask(page, merAgencyTaskPageDto);
|
return merAgencyTaskPageVoList;
|
}
|
|
/**
|
*
|
* @param merCreateAgencyTaskDto
|
*/
|
@Override
|
public void createAgencyTask(MerCreateAgencyTaskDto merCreateAgencyTaskDto){
|
|
AgencyTask agencyTask = new AgencyTask();
|
String taskId = IdUtils.simpleUUID();
|
String nowTimeStr = DateUtils.getDate();
|
agencyTask.setTaskId(taskId);
|
agencyTask.setDelFlag(0);
|
int i = merCreateAgencyTaskDto.getTaskDate().compareTo(nowTimeStr);
|
if(i>0){
|
agencyTask.setTaskStatus(0);
|
}else if(i==0){
|
agencyTask.setTaskStatus(1);
|
}else{
|
agencyTask.setTaskStatus(3);
|
}
|
agencyTask.setShopId(merCreateAgencyTaskDto.getShopId());
|
agencyTask.setAgencyId(merCreateAgencyTaskDto.getAgencyId());
|
agencyTask.setTaskDate(merCreateAgencyTaskDto.getTaskDate());
|
agencyTask.setTaskContent(merCreateAgencyTaskDto.getTaskContent());
|
agencyTask.setCreateTime(new Date());
|
this.saveOrUpdate(agencyTask);
|
}
|
|
/**
|
*
|
* @param merFollowAgencyTaskDto
|
*/
|
@Override
|
public void followAgencyTask(MerFollowAgencyTaskDto merFollowAgencyTaskDto){
|
AgencyTaskRecord agencyTaskRecord;
|
AgencyTask oldAgencyTask = this.getById(merFollowAgencyTaskDto.getTaskId());
|
oldAgencyTask.setTaskStatus(2);
|
this.saveOrUpdate(oldAgencyTask);
|
if(merFollowAgencyTaskDto.getFollowType()==1){
|
// 获取跟进电话列表
|
List<MerFollowPhoneDto> followPhone = merFollowAgencyTaskDto.getFollowPhone();
|
// 判断跟进电话列表是否为空
|
if (followPhone != null && !followPhone.isEmpty()) {
|
// 遍历跟进电话列表
|
for (MerFollowPhoneDto followPhoneDto : followPhone) {
|
// 创建新的会员任务记录
|
agencyTaskRecord = new AgencyTaskRecord();
|
//更新任务
|
agencyTaskRecord.setTaskId(merFollowAgencyTaskDto.getTaskId());
|
agencyTaskRecord.setDelFlag(0);
|
agencyTaskRecord.setUserId(merFollowAgencyTaskDto.getUserId());
|
agencyTaskRecord.setFollowType(merFollowAgencyTaskDto.getFollowType());
|
agencyTaskRecord.setCallPhone(merFollowAgencyTaskDto.getCallPhone());
|
agencyTaskRecord.setCallTime(followPhoneDto.getCallTime());
|
agencyTaskRecord.setFollowContent(followPhoneDto.getFollowContent());
|
agencyTaskRecord.setCreateTime(new Date());
|
agencyTaskRecordService.saveOrUpdate(agencyTaskRecord);
|
}
|
}
|
}else{
|
agencyTaskRecord = new AgencyTaskRecord();
|
//创建任务详情文件
|
String picture = merFollowAgencyTaskDto.getPicture();
|
String video = merFollowAgencyTaskDto.getVideo();
|
String audio = merFollowAgencyTaskDto.getAudio();
|
String[] strArr;
|
TaskFile taskFile;
|
if(StringUtils.isNotBlank(picture)){
|
strArr = picture.split(",");
|
for(String str : strArr){
|
taskFile = new TaskFile();
|
taskFile.setDelFlag(0);
|
taskFile.setFollowId(agencyTaskRecord.getId());
|
taskFile.setFollowFrom(2);
|
taskFile.setFileUrl(str);
|
taskFile.setFileType(1);
|
taskFileService.saveOrUpdate(taskFile);
|
}
|
}
|
if(StringUtils.isNotBlank(video)){
|
strArr = video.split(",");
|
for(String str : strArr){
|
taskFile = new TaskFile();
|
taskFile.setDelFlag(0);
|
taskFile.setFollowId(agencyTaskRecord.getId());
|
taskFile.setFollowFrom(2);
|
taskFile.setFileUrl(str);
|
taskFile.setFileType(2);
|
taskFileService.saveOrUpdate(taskFile);
|
|
}
|
}
|
if(StringUtils.isNotBlank(audio)){
|
strArr = audio.split(",");
|
for(String str : strArr){
|
taskFile = new TaskFile();
|
taskFile.setDelFlag(0);
|
taskFile.setFollowId(agencyTaskRecord.getId());
|
taskFile.setFollowFrom(2);
|
taskFile.setFileUrl(str);
|
taskFile.setFileType(3);
|
taskFileService.saveOrUpdate(taskFile);
|
}
|
}
|
}
|
//创建新任务
|
if(StringUtils.isNotBlank(merFollowAgencyTaskDto.getNextTaskDate())){
|
AgencyTask agencyTask = new AgencyTask();
|
String taskId = IdUtils.simpleUUID();
|
agencyTask.setTaskId(taskId);
|
agencyTask.setDelFlag(0);
|
agencyTask.setShopId(oldAgencyTask.getShopId());
|
agencyTask.setAgencyId(oldAgencyTask.getAgencyId());
|
agencyTask.setTaskDate(merFollowAgencyTaskDto.getNextTaskDate());
|
agencyTask.setTaskContent(merFollowAgencyTaskDto.getNextTaskContent());
|
agencyTask.setTaskStatus(2);
|
agencyTask.setCreateTime(new Date());
|
this.saveOrUpdate(agencyTask);
|
}
|
}
|
}
|