puzhibing
2024-03-18 65ca63cc3d36f23d285a7d944fcc0d6bac92430d
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -1,27 +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.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
 * <p>
@@ -45,6 +52,15 @@
    @Resource
    private RemoteUserService remoteUserService;
    @Resource
    private RemoteConfigService remoteConfigService;
    @Autowired
    private ShopService shopService;
    /**
     * 平台跟进商户
@@ -121,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;
@@ -156,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());
                    }
                }
            }
        }
@@ -198,6 +248,7 @@
        }else{
            shopTask.setTaskStatus(3);
        }
        shopTask.setCreateUserId(staffAddTaskDto.getUserId());
        this.saveOrUpdate(shopTask);
    }
@@ -307,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){