| | |
| | | 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.ArrayList; |
| | | 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; |
| | | |
| | | @Autowired |
| | | private ShopService shopService; |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 平台跟进商户 |
| | |
| | | * @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; |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | }else{ |
| | | shopTask.setTaskStatus(3); |
| | | } |
| | | shopTask.setCreateUserId(staffAddTaskDto.getUserId()); |
| | | this.saveOrUpdate(shopTask); |
| | | } |
| | | |
| | |
| | | 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){ |