From a8e56f03a22c722ccf3f67a408919e6c8f256de3 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 10 八月 2023 01:45:01 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java | 260 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 247 insertions(+), 13 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 53ae5b0..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,21 +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.util.Date; +import java.util.List; /** * <p> @@ -37,7 +42,8 @@ @Resource private TaskFileService taskFileService; - + @Resource + private RemoteUserService remoteUserService; /** * 平台跟进商户 @@ -47,15 +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.getDate()); - shopTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle()); + shopTask.setTaskTitle(mgtFollowShopTaskDto.getTaskTitle()); shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState()); - shopTask.setCreateTime(new Date()); + shopTask.setCreateTime(nowTime); + shopTask.setTaskDate(nowTimeStr); + shopTask.setTaskStatus(2); this.saveOrUpdate(shopTask); //创建任务记录 ShopTaskRecord shopTaskRecord = new ShopTaskRecord(); @@ -63,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(); @@ -88,13 +97,238 @@ shopNextTask.setTaskId(nextTaskId); shopNextTask.setDelFlag(0); shopNextTask.setShopId(mgtFollowShopTaskDto.getShopId()); - shopNextTask.setFollowType(mgtFollowShopTaskDto.getFollowType()); - shopNextTask.setNextFollowDate(mgtFollowShopTaskDto.getNextTaskDate()); shopNextTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle()); shopNextTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState()); - shopNextTask.setCreateTime(new Date()); + 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); } + /** + * @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; + } + /** + * @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