| | |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import com.ruoyi.shop.domain.dto.*; |
| | | import com.ruoyi.shop.domain.pojo.task.*; |
| | | 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.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.poji.sys.SysStaff; |
| | | import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo; |
| | | import com.ruoyi.system.api.service.RemoteConfigService; |
| | | import com.ruoyi.system.api.service.RemoteUserService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | @Resource |
| | | private RemoteUserService remoteUserService; |
| | | |
| | | @Resource |
| | | private RemoteConfigService remoteConfigService; |
| | | |
| | | /** |
| | | * 平台跟进商户 |
| | |
| | | List<StaffShopTaskPageVo> shopTaskPageVoList = shopTaskMapper.pageStaffShopTask(page, staffShopTaskPageDto); |
| | | if(shopTaskPageVoList!=null&&shopTaskPageVoList.size()>0){ |
| | | Long userId; |
| | | SysUser sysUser; |
| | | SysStaff sysStaff; |
| | | HashSet<Long> userIdSet = new HashSet<>(); |
| | | for(StaffShopTaskPageVo staffShopTaskPageVo : shopTaskPageVoList){ |
| | | userIdSet.add(staffShopTaskPageVo.getUserId()); |
| | | } |
| | | List<Long> useIdList = new ArrayList<>(userIdSet); |
| | | List<SysStaff> sysStaffList = remoteConfigService.listSysStaffByIds(useIdList).getData(); |
| | | Map<Long,SysStaff> sysStaffMap = sysStaffList.stream() |
| | | .collect(Collectors.toMap(SysStaff::getUserId, Function.identity())); |
| | | for(StaffShopTaskPageVo staffShopTaskPageVo : shopTaskPageVoList){ |
| | | //获取任务用户信息 |
| | | userId = staffShopTaskPageVo.getUserId(); |
| | | if(userId!=null){ |
| | | sysUser = remoteUserService.getSysUser(userId).getData(); |
| | | staffShopTaskPageVo.setUserName(sysUser.getNickName()); |
| | | staffShopTaskPageVo.setUserPicture(sysUser.getAvatar()); |
| | | sysStaff = sysStaffMap.get(userId); |
| | | staffShopTaskPageVo.setUserName(sysStaff.getStaffName()); |
| | | staffShopTaskPageVo.setUserPicture(sysStaff.getStaffAvatar()); |
| | | staffShopTaskPageVo.setUserPosition(sysStaff.getStaffPost()); |
| | | } |
| | | } |
| | | } |
| | |
| | | shopTask.setEmergencyState(staffAddTaskDto.getEmergencyState()); |
| | | shopTask.setCreateTime(new Date()); |
| | | shopTask.setTaskDate(staffAddTaskDto.getTaskDate()); |
| | | //任务状态 |
| | | int i = staffAddTaskDto.getTaskDate().compareTo(nowTimeStr); |
| | | if(i>0){ |
| | | shopTask.setTaskStatus(0); |
| | |
| | | // 保存或更新会员任务记录 |
| | | shopTaskRecordService.saveOrUpdate(shopTaskRecord); |
| | | // 获取图片、视频和音频 |
| | | String picture = staffFollowShopTaskDto.getPicture(); |
| | | String video = staffFollowShopTaskDto.getVideo(); |
| | | String audio = staffFollowShopTaskDto.getAudio(); |
| | | String[] strArr; |
| | | List<FileDto> picture = staffFollowShopTaskDto.getPicture(); |
| | | List<FileDto> video = staffFollowShopTaskDto.getVideo(); |
| | | List<FileDto> audio = staffFollowShopTaskDto.getAudio(); |
| | | TaskFile taskFile; |
| | | List<TaskFile> taskFileList = new ArrayList<>(); |
| | | // 判断图片是否为空,并处理 |
| | | if (StringUtils.isNotBlank(picture)) { |
| | | strArr = picture.split(","); |
| | | for (String str : strArr) { |
| | | if (picture!=null&&!picture.isEmpty()) { |
| | | for (FileDto fileDto : picture) { |
| | | taskFile = new TaskFile(); |
| | | taskFile.setDelFlag(0); |
| | | taskFile.setFollowId(shopTaskRecord.getId()); |
| | | taskFile.setFollowFrom(4); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileName(fileDto.getFileName()); |
| | | taskFile.setFileUrl(fileDto.getFileUrl()); |
| | | taskFile.setFileType(1); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | taskFileList.add(taskFile); |
| | | } |
| | | } |
| | | // 判断视频是否为空,并处理 |
| | | if (StringUtils.isNotBlank(video)) { |
| | | strArr = video.split(","); |
| | | for (String str : strArr) { |
| | | if (video!=null&&!video.isEmpty()) { |
| | | for (FileDto fileDto : video) { |
| | | taskFile = new TaskFile(); |
| | | taskFile.setDelFlag(0); |
| | | taskFile.setFollowId(shopTaskRecord.getId()); |
| | | taskFile.setFollowFrom(4); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileName(fileDto.getFileName()); |
| | | taskFile.setFileUrl(fileDto.getFileUrl()); |
| | | taskFile.setFileType(2); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | taskFileList.add(taskFile); |
| | | } |
| | | } |
| | | // 判断音频是否为空,并处理 |
| | | if (StringUtils.isNotBlank(audio)) { |
| | | strArr = audio.split(","); |
| | | for (String str : strArr) { |
| | | if (audio!=null&&!audio.isEmpty()) { |
| | | for (FileDto fileDto : audio) { |
| | | taskFile = new TaskFile(); |
| | | taskFile.setDelFlag(0); |
| | | taskFile.setFollowId(shopTaskRecord.getId()); |
| | | taskFile.setFollowFrom(4); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileName(fileDto.getFileName()); |
| | | taskFile.setFileUrl(fileDto.getFileUrl()); |
| | | taskFile.setFileType(3); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | taskFileList.add(taskFile); |
| | | } |
| | | } |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | taskFileService.saveBatch(taskFileList); |
| | | } |
| | | } |
| | | // 判断下一个任务日期是否为空,并处理 |
| | |
| | | shopTask.setDelFlag(0); |
| | | shopTask.setShopId(oldShopTask.getShopId()); |
| | | shopTask.setTaskDate(staffFollowShopTaskDto.getNextTaskDate()); |
| | | shopTask.setFollowContent(staffFollowShopTaskDto.getNextTaskContent()); |
| | | shopTask.setTaskTitle(staffFollowShopTaskDto.getNextTaskContent()); |
| | | String nowTimeStr = DateUtils.getDate(); |
| | | int i = staffFollowShopTaskDto.getNextTaskDate().compareTo(nowTimeStr); |
| | | if(i>0){ |
| | |
| | | */ |
| | | @Override |
| | | public void checkTaskDateStatus(){ |
| | | //平台-商户任务状态 |
| | | shopTaskMapper.checkShopTaskStatus(); |
| | | //商户-代理商任务状态 |
| | | shopTaskMapper.checkAgencyTaskStatus(); |
| | | //商户-会员任务状态 |
| | | shopTaskMapper.checkMemberTaskStatus(); |
| | | } |
| | | |
| | | /** |
| | | * @description 获取商户最近任务 |
| | | * @author jqs |
| | | * @date 2023/8/22 17:27 |
| | | * @param shopId |
| | | * @return ShopTask |
| | | */ |
| | | @Override |
| | | public ShopTask getLastTask(Long shopId){ |
| | | return shopTaskMapper.getLastTask(shopId); |
| | | } |
| | | } |