From 431dde90aa20f7652092fc0bfa9e6a1a28b06b9f Mon Sep 17 00:00:00 2001 From: jiangqs <343695869@qq.com> Date: 星期日, 06 八月 2023 12:41:23 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java | 249 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 229 insertions(+), 20 deletions(-) diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java index 8548529..bde2aa4 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java @@ -1,25 +1,26 @@ package com.ruoyi.shop.service.impl.task; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.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.domain.dto.*; +import com.ruoyi.shop.domain.pojo.task.*; +import com.ruoyi.shop.domain.vo.StaffShopTaskPageVo; 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.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo; +import com.ruoyi.system.api.service.RemoteUserService; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.text.ParseException; -import java.time.LocalDate; import java.util.Date; +import java.util.List; /** * <p> @@ -32,6 +33,8 @@ @Service public class ShopTaskServiceImpl extends ServiceImpl<ShopTaskMapper, ShopTask> implements ShopTaskService { + @Resource + private ShopTaskMapper shopTaskMapper; @Resource private ShopTaskRecordService shopTaskRecordService; @@ -39,7 +42,8 @@ @Resource private TaskFileService taskFileService; - + @Resource + private RemoteUserService remoteUserService; /** * 平台跟进商户 @@ -49,16 +53,17 @@ public void followShopTask(MgtFollowShopTaskDto mgtFollowShopTaskDto){ //创建本次任务 ShopTask shopTask = new ShopTask(); + Date nowTime = new Date(); + String nowTimeStr = DateUtils.getDate(); 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.setTaskTitle(mgtFollowShopTaskDto.getTaskTitle()); shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState()); - shopTask.setCreateTime(new Date()); - shopTask.setTaskDate(DateUtils.toDate(LocalDate.now())); + shopTask.setCreateTime(nowTime); + shopTask.setTaskDate(nowTimeStr); + shopTask.setTaskStatus(2); this.saveOrUpdate(shopTask); //创建任务记录 ShopTaskRecord shopTaskRecord = new ShopTaskRecord(); @@ -66,8 +71,9 @@ shopTaskRecord.setTaskId(taskId); shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId()); shopTaskRecord.setFollowType(2); + shopTaskRecord.setCustomeFollowType(mgtFollowShopTaskDto.getFollowType()); shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent()); - shopTaskRecord.setCreateTime(new Date()); + shopTaskRecord.setCreateTime(nowTime); shopTaskRecordService.saveOrUpdate(shopTaskRecord); //创建任务文件 String picture = mgtFollowShopTaskDto.getPicture(); @@ -91,16 +97,18 @@ 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); + shopNextTask.setCreateTime(nowTime); + int i = mgtFollowShopTaskDto.getNextTaskDate().compareTo(nowTimeStr); + if(i>0){ + shopNextTask.setTaskStatus(0); + }else if(i==0){ + shopNextTask.setTaskStatus(1); + }else{ + shopNextTask.setTaskStatus(3); } + shopNextTask.setTaskDate(mgtFollowShopTaskDto.getNextTaskDate()); this.saveOrUpdate(shopNextTask); } @@ -122,4 +130,205 @@ mgtBulletinBoardVo.setFollowShopToday(followShopToday); return mgtBulletinBoardVo; } + + /** + * @description 员工端获取进行中商户任务数 + * @author jqs + * @param shopIds + * @return Integer + */ + @Override + public Integer getShopIngTotal(List<Long> shopIds){ + return shopTaskMapper.getShopIngTotal(shopIds); + } + + /** + * @description 分页获取员工跟进任务 + * @author jqs + * @date 2023/7/15 15:09 + * @param page + * @param staffShopTaskPageDto + * @return List<StaffShopTaskPageVo> + */ + @Override + public List<StaffShopTaskPageVo> pageStaffShopTask(Page page, StaffShopTaskPageDto staffShopTaskPageDto){ + List<StaffShopTaskPageVo> shopTaskPageVoList = shopTaskMapper.pageStaffShopTask(page, staffShopTaskPageDto); + if(shopTaskPageVoList!=null&&shopTaskPageVoList.size()>0){ + Long userId; + SysUser sysUser; + for(StaffShopTaskPageVo staffShopTaskPageVo : shopTaskPageVoList){ + //获取任务用户信息 + userId = staffShopTaskPageVo.getUserId(); + if(userId!=null){ + sysUser = remoteUserService.getSysUser(userId).getData(); + staffShopTaskPageVo.setUserName(sysUser.getNickName()); + staffShopTaskPageVo.setUserPicture(sysUser.getAvatar()); + } + } + } + return shopTaskPageVoList; + } + + /** + * @description 员工端新增任务 + * @author jqs + * @date 2023/7/15 19:06 + * @param staffAddTaskDto + * @return void + */ + @Override + public void staffAddTask(StaffAddTaskDto staffAddTaskDto){ + ShopTask shopTask = new ShopTask(); + String nowTimeStr = DateUtils.getDate(); + String taskId = IdUtils.simpleUUID(); + shopTask.setTaskId(taskId); + shopTask.setDelFlag(0); + shopTask.setShopId(staffAddTaskDto.getShopId()); + shopTask.setTaskTitle(staffAddTaskDto.getTaskTitle()); + shopTask.setEmergencyState(staffAddTaskDto.getEmergencyState()); + shopTask.setCreateTime(new Date()); + shopTask.setTaskDate(staffAddTaskDto.getTaskDate()); + int i = staffAddTaskDto.getTaskDate().compareTo(nowTimeStr); + if(i>0){ + shopTask.setTaskStatus(0); + }else if(i==0){ + shopTask.setTaskStatus(1); + }else{ + shopTask.setTaskStatus(3); + } + this.saveOrUpdate(shopTask); + } + + /** + * @description 员工商户任务跟进 + * @param staffFollowShopTaskDto + * @return void + * @author jqs34 + * @date 2023/7/16 11:56 + */ + @Override + public void staffFollowShopTask(StaffFollowShopTaskDto staffFollowShopTaskDto){ + // 创建会员任务记录对象 + ShopTaskRecord shopTaskRecord; + // 获取旧的会员任务 + ShopTask oldShopTask = this.getById(staffFollowShopTaskDto.getTaskId()); + oldShopTask.setTaskStatus(2); + this.saveOrUpdate(oldShopTask); + // 判断跟进类型 + if (staffFollowShopTaskDto.getFollowType() == 1) { + // 获取跟进电话列表 + List<MerFollowPhoneDto> followPhone = staffFollowShopTaskDto.getFollowPhone(); + // 判断跟进电话列表是否为空 + if (followPhone != null && !followPhone.isEmpty()) { + // 遍历跟进电话列表 + for (MerFollowPhoneDto followPhoneDto : followPhone) { + // 创建新的会员任务记录 + shopTaskRecord = new ShopTaskRecord(); + shopTaskRecord.setTaskId(staffFollowShopTaskDto.getTaskId()); + shopTaskRecord.setDelFlag(0); + shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId()); + shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType()); + shopTaskRecord.setCallPhone(staffFollowShopTaskDto.getCallPhone()); + shopTaskRecord.setFollowContent(followPhoneDto.getFollowContent()); + shopTaskRecord.setCallTime(followPhoneDto.getCallTime()); + shopTaskRecord.setCreateTime(new Date()); + // 保存或更新会员任务记录 + shopTaskRecordService.saveOrUpdate(shopTaskRecord); + } + } + } else { + // 创建新的会员任务记录 + shopTaskRecord = new ShopTaskRecord(); + shopTaskRecord.setTaskId(staffFollowShopTaskDto.getTaskId()); + shopTaskRecord.setDelFlag(0); + shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId()); + shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType()); + shopTaskRecord.setFollowContent(staffFollowShopTaskDto.getFollowContent()); + shopTaskRecord.setCustomeFollowType(staffFollowShopTaskDto.getCustomeFollowType()); + shopTaskRecord.setCreateTime(new Date()); + // 保存或更新会员任务记录 + shopTaskRecordService.saveOrUpdate(shopTaskRecord); + // 获取图片、视频和音频 + String picture = staffFollowShopTaskDto.getPicture(); + String video = staffFollowShopTaskDto.getVideo(); + String audio = staffFollowShopTaskDto.getAudio(); + 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(4); + 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(shopTaskRecord.getId()); + taskFile.setFollowFrom(4); + 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(shopTaskRecord.getId()); + taskFile.setFollowFrom(4); + taskFile.setFileUrl(str); + taskFile.setFileType(3); + taskFileService.saveOrUpdate(taskFile); + } + } + } + // 判断下一个任务日期是否为空,并处理 + if (StringUtils.isNotBlank(staffFollowShopTaskDto.getNextTaskDate())) { + ShopTask shopTask = new ShopTask(); + String taskId = IdUtils.simpleUUID(); + shopTask.setTaskId(taskId); + shopTask.setDelFlag(0); + shopTask.setShopId(oldShopTask.getShopId()); + shopTask.setTaskDate(staffFollowShopTaskDto.getNextTaskDate()); + shopTask.setFollowContent(staffFollowShopTaskDto.getNextTaskContent()); + String nowTimeStr = DateUtils.getDate(); + int i = staffFollowShopTaskDto.getNextTaskDate().compareTo(nowTimeStr); + if(i>0){ + shopTask.setTaskStatus(0); + }else if(i==0){ + shopTask.setTaskStatus(1); + }else{ + shopTask.setTaskStatus(3); + } + shopTask.setEmergencyState(staffFollowShopTaskDto.getEmergencyState()); + shopTask.setCreateTime(new Date()); + this.saveOrUpdate(shopTask); + } + } + + /** + * @description 检查任务时间状态 + * @author jqs + * @date 2023/7/19 18:01 + * @param + * @return void + */ + @Override + public void checkTaskDateStatus(){ + shopTaskMapper.checkShopTaskStatus(); + shopTaskMapper.checkAgencyTaskStatus(); + shopTaskMapper.checkMemberTaskStatus(); + } } -- Gitblit v1.7.1