From ea1a62ba6484d6c6cb1ca67dcea938a95ba18fc6 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 26 五月 2025 18:26:26 +0800 Subject: [PATCH] 新增加用户端接口 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java | 129 +++++++++++++++++++++++++++++++++--------- 1 files changed, 100 insertions(+), 29 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 bde2aa4..f0a5645 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,26 +1,34 @@ package com.ruoyi.shop.service.impl.task; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.*; -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.shop.ShopService; 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.shop.Shop; +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.beans.factory.annotation.Autowired; 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> @@ -44,6 +52,15 @@ @Resource private RemoteUserService remoteUserService; + + @Resource + private RemoteConfigService remoteConfigService; + + @Autowired + private ShopService shopService; + + + /** * 平台跟进商户 @@ -120,12 +137,18 @@ * @date 2023/6/18 17:08 */ @Override - public MgtBulletinBoardVo boardTaskTotal(){ + public MgtBulletinBoardVo boardTaskTotal(List<Long> userIds){ 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()); + if(null != userIds && userIds.size() > 0){ + List<Shop> list = shopService.list(new QueryWrapper<Shop>().eq("del_flag", 0) + .in("belong_user_id", userIds)); + List<Long> collect = list.stream().map(Shop::getShopId).collect(Collectors.toList()); + queryWrapper.in(ShopTask::getShopId, collect); + } Integer followShopToday = this.count(queryWrapper); mgtBulletinBoardVo.setFollowShopToday(followShopToday); return mgtBulletinBoardVo; @@ -155,14 +178,42 @@ List<StaffShopTaskPageVo> shopTaskPageVoList = shopTaskMapper.pageStaffShopTask(page, staffShopTaskPageDto); if(shopTaskPageVoList!=null&&shopTaskPageVoList.size()>0){ Long userId; - SysUser sysUser; + SysStaff sysStaff; + HashSet<Long> userIdSet = new HashSet<>(); + HashSet<Long> createUserIdSet = new HashSet<>(); + for(StaffShopTaskPageVo staffShopTaskPageVo : shopTaskPageVoList){ + userIdSet.add(staffShopTaskPageVo.getUserId()); + if(null != staffShopTaskPageVo.getCreateUserId()){ + createUserIdSet.add(staffShopTaskPageVo.getCreateUserId()); + } + } + List<Long> useIdList = new ArrayList<>(userIdSet); + List<Long> createUserIdList = new ArrayList<>(createUserIdSet); + List<SysStaff> sysStaffList = remoteConfigService.listSysStaffByIds(useIdList).getData(); + Map<Long,SysStaff> sysStaffMap = sysStaffList.stream() + .collect(Collectors.toMap(SysStaff::getUserId, Function.identity())); + + createUserIdList.add(-1L); + List<SysStaff> sysStaffList1 = remoteConfigService.listSysStaffByIds(createUserIdList).getData(); + Map<Long,SysStaff> sysStaffMap1 = sysStaffList1.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); + if(null != sysStaff){ + staffShopTaskPageVo.setUserName(sysStaff.getStaffName()); + staffShopTaskPageVo.setUserPicture(sysStaff.getStaffAvatar()); + staffShopTaskPageVo.setUserPosition(sysStaff.getStaffPost()); + } + }else{ + if(null != staffShopTaskPageVo.getCreateUserId()){ + sysStaff = sysStaffMap1.get(staffShopTaskPageVo.getCreateUserId()); + staffShopTaskPageVo.setUserName(sysStaff.getStaffName()); + staffShopTaskPageVo.setUserPicture(sysStaff.getStaffAvatar()); + staffShopTaskPageVo.setUserPosition(sysStaff.getStaffPost()); + } } } } @@ -188,6 +239,7 @@ shopTask.setEmergencyState(staffAddTaskDto.getEmergencyState()); shopTask.setCreateTime(new Date()); shopTask.setTaskDate(staffAddTaskDto.getTaskDate()); + //任务状态 int i = staffAddTaskDto.getTaskDate().compareTo(nowTimeStr); if(i>0){ shopTask.setTaskStatus(0); @@ -196,6 +248,7 @@ }else{ shopTask.setTaskStatus(3); } + shopTask.setCreateUserId(staffAddTaskDto.getUserId()); this.saveOrUpdate(shopTask); } @@ -249,49 +302,52 @@ // 保存或更新会员任务记录 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); } } // 判断下一个任务日期是否为空,并处理 @@ -302,7 +358,7 @@ 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){ @@ -327,8 +383,23 @@ */ @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); + } } -- Gitblit v1.7.1