package com.ruoyi.shop.service.impl.task;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.MgtFollowShopTaskDto;
|
import com.ruoyi.shop.domain.pojo.task.ShopTask;
|
import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord;
|
import com.ruoyi.shop.domain.pojo.task.TaskFile;
|
import com.ruoyi.shop.mapper.task.ShopTaskMapper;
|
import com.ruoyi.shop.service.task.ShopTaskRecordService;
|
import com.ruoyi.shop.service.task.ShopTaskService;
|
import com.ruoyi.shop.service.task.TaskFileService;
|
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.text.ParseException;
|
import java.time.LocalDate;
|
import java.util.Date;
|
|
/**
|
* <p>
|
* 商户跟进任务 服务实现类
|
* </p>
|
*
|
* @author jqs
|
* @since 2023-04-25
|
*/
|
@Service
|
public class ShopTaskServiceImpl extends ServiceImpl<ShopTaskMapper, ShopTask> implements ShopTaskService {
|
|
@Resource
|
private ShopTaskMapper shopTaskMapper;
|
|
@Resource
|
private ShopTaskRecordService shopTaskRecordService;
|
|
@Resource
|
private TaskFileService taskFileService;
|
|
|
|
/**
|
* 平台跟进商户
|
* @param mgtFollowShopTaskDto
|
*/
|
@Override
|
public void followShopTask(MgtFollowShopTaskDto mgtFollowShopTaskDto){
|
//创建本次任务
|
ShopTask shopTask = new ShopTask();
|
String taskId = IdUtils.simpleUUID();
|
shopTask.setTaskId(taskId);
|
shopTask.setDelFlag(0);
|
shopTask.setShopId(mgtFollowShopTaskDto.getShopId());
|
shopTask.setFollowType(mgtFollowShopTaskDto.getFollowType());
|
shopTask.setNextFollowDate(DateUtils.toDate(LocalDate.now()));
|
shopTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle());
|
shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
|
shopTask.setCreateTime(new Date());
|
shopTask.setTaskDate(DateUtils.toDate(LocalDate.now()));
|
this.saveOrUpdate(shopTask);
|
//创建任务记录
|
ShopTaskRecord shopTaskRecord = new ShopTaskRecord();
|
shopTaskRecord.setDelFlag(0);
|
shopTaskRecord.setTaskId(taskId);
|
shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId());
|
shopTaskRecord.setFollowType(2);
|
shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent());
|
shopTaskRecord.setCreateTime(new Date());
|
shopTaskRecordService.saveOrUpdate(shopTaskRecord);
|
//创建任务文件
|
String picture = mgtFollowShopTaskDto.getPicture();
|
String[] strArr;
|
TaskFile taskFile;
|
if(StringUtils.isNotBlank(picture)){
|
strArr = picture.split(",");
|
for(String str : strArr){
|
taskFile = new TaskFile();
|
taskFile.setDelFlag(0);
|
taskFile.setFollowId(shopTaskRecord.getId());
|
taskFile.setFollowFrom(3);
|
taskFile.setFileUrl(str);
|
taskFile.setFileType(1);
|
taskFileService.saveOrUpdate(taskFile);
|
}
|
}
|
//创建下一次任务
|
ShopTask shopNextTask = new ShopTask();
|
String nextTaskId = IdUtils.simpleUUID();
|
shopNextTask.setTaskId(nextTaskId);
|
shopNextTask.setDelFlag(0);
|
shopNextTask.setShopId(mgtFollowShopTaskDto.getShopId());
|
shopNextTask.setFollowType(mgtFollowShopTaskDto.getFollowType());
|
shopNextTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle());
|
shopNextTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
|
shopNextTask.setCreateTime(new Date());
|
try {
|
shopNextTask.setNextFollowDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd"));
|
shopNextTask.setTaskDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd"));
|
} catch (ParseException e) {
|
throw new RuntimeException(e);
|
}
|
this.saveOrUpdate(shopNextTask);
|
}
|
|
/**
|
* @description boardTaskTotal
|
* @param
|
* @return MgtBulletinBoardVo
|
* @author jqs34
|
* @date 2023/6/18 17:08
|
*/
|
@Override
|
public MgtBulletinBoardVo boardTaskTotal(){
|
MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
|
LambdaQueryWrapper<ShopTask> queryWrapper = new LambdaQueryWrapper();
|
queryWrapper.eq(ShopTask::getDelFlag,0);
|
queryWrapper.eq(ShopTask::getTaskStatus,1);
|
queryWrapper.eq(ShopTask::getTaskDate,DateUtils.getDate());
|
Integer followShopToday = this.count(queryWrapper);
|
mgtBulletinBoardVo.setFollowShopToday(followShopToday);
|
return mgtBulletinBoardVo;
|
}
|
}
|