jiangqs
2023-07-15 b0b52cbabf7a4bc8e00fc328d14ac05336d0221e
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -1,23 +1,32 @@
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.dto.StaffAddTaskDto;
import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
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.vo.MgtBulletinBoardVo;
import com.ruoyi.system.api.service.RemoteUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
/**
 * <p>
@@ -39,7 +48,8 @@
    @Resource
    private TaskFileService taskFileService;
    @Resource
    private RemoteUserService remoteUserService;
    /**
     * 平台跟进商户
@@ -53,12 +63,12 @@
        shopTask.setTaskId(taskId);
        shopTask.setDelFlag(0);
        shopTask.setShopId(mgtFollowShopTaskDto.getShopId());
        shopTask.setFollowType(mgtFollowShopTaskDto.getFollowType());
        shopTask.setNextFollowDate(DateUtils.toDate(LocalDate.now()));
        shopTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle());
        shopTask.setTaskTitle(mgtFollowShopTaskDto.getTaskTitle());
        shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
        shopTask.setCreateTime(new Date());
        shopTask.setTaskDate(DateUtils.toDate(LocalDate.now()));
        shopTask.setTaskStatus(2);
        this.saveOrUpdate(shopTask);
        //创建任务记录
        ShopTaskRecord shopTaskRecord = new ShopTaskRecord();
@@ -66,6 +76,7 @@
        shopTaskRecord.setTaskId(taskId);
        shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId());
        shopTaskRecord.setFollowType(2);
        shopTaskRecord.setCustomFollowType(mgtFollowShopTaskDto.getFollowType());
        shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent());
        shopTaskRecord.setCreateTime(new Date());
        shopTaskRecordService.saveOrUpdate(shopTaskRecord);
@@ -91,10 +102,10 @@
        shopNextTask.setTaskId(nextTaskId);
        shopNextTask.setDelFlag(0);
        shopNextTask.setShopId(mgtFollowShopTaskDto.getShopId());
        shopNextTask.setFollowType(mgtFollowShopTaskDto.getFollowType());
        shopNextTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle());
        shopNextTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
        shopNextTask.setCreateTime(new Date());
        shopNextTask.setTaskStatus(0);
        try {
            shopNextTask.setNextFollowDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd"));
            shopNextTask.setTaskDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd"));
@@ -104,5 +115,70 @@
        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();
                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();
    }
}