From a8e56f03a22c722ccf3f67a408919e6c8f256de3 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 10 八月 2023 01:45:01 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java |  266 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 248 insertions(+), 18 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 bde6eb3..bde2aa4 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,25 +1,26 @@
 package com.ruoyi.shop.service.impl.task;
-import java.util.Date;
-import java.util.List;
 
+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.MgtShopTaskPageDto;
-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.MgtShopTaskRecordPageVo;
+import com.ruoyi.shop.domain.dto.*;
+import com.ruoyi.shop.domain.pojo.task.*;
+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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -41,7 +42,8 @@
     @Resource
     private TaskFileService taskFileService;
 
-
+    @Resource
+    private RemoteUserService remoteUserService;
 
     /**
      * 平台跟进商户
@@ -51,15 +53,17 @@
     public void followShopTask(MgtFollowShopTaskDto mgtFollowShopTaskDto){
         //创建本次任务
         ShopTask shopTask = new ShopTask();
+        Date nowTime = new Date();
+        String nowTimeStr = DateUtils.getDate();
         String taskId = IdUtils.simpleUUID();
         shopTask.setTaskId(taskId);
         shopTask.setDelFlag(0);
         shopTask.setShopId(mgtFollowShopTaskDto.getShopId());
-        shopTask.setFollowType(mgtFollowShopTaskDto.getFollowType());
-        shopTask.setNextFollowDate(DateUtils.getDate());
-        shopTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle());
+        shopTask.setTaskTitle(mgtFollowShopTaskDto.getTaskTitle());
         shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
-        shopTask.setCreateTime(new Date());
+        shopTask.setCreateTime(nowTime);
+        shopTask.setTaskDate(nowTimeStr);
+        shopTask.setTaskStatus(2);
         this.saveOrUpdate(shopTask);
         //创建任务记录
         ShopTaskRecord shopTaskRecord = new ShopTaskRecord();
@@ -67,8 +71,9 @@
         shopTaskRecord.setTaskId(taskId);
         shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId());
         shopTaskRecord.setFollowType(2);
+        shopTaskRecord.setCustomeFollowType(mgtFollowShopTaskDto.getFollowType());
         shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent());
-        shopTaskRecord.setCreateTime(new Date());
+        shopTaskRecord.setCreateTime(nowTime);
         shopTaskRecordService.saveOrUpdate(shopTaskRecord);
         //创建任务文件
         String picture = mgtFollowShopTaskDto.getPicture();
@@ -92,13 +97,238 @@
         shopNextTask.setTaskId(nextTaskId);
         shopNextTask.setDelFlag(0);
         shopNextTask.setShopId(mgtFollowShopTaskDto.getShopId());
-        shopNextTask.setFollowType(mgtFollowShopTaskDto.getFollowType());
-        shopNextTask.setNextFollowDate(mgtFollowShopTaskDto.getNextTaskDate());
         shopNextTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle());
         shopNextTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
-        shopNextTask.setCreateTime(new Date());
+        shopNextTask.setCreateTime(nowTime);
+        int i = mgtFollowShopTaskDto.getNextTaskDate().compareTo(nowTimeStr);
+        if(i>0){
+            shopNextTask.setTaskStatus(0);
+        }else if(i==0){
+            shopNextTask.setTaskStatus(1);
+        }else{
+            shopNextTask.setTaskStatus(3);
+        }
+        shopNextTask.setTaskDate(mgtFollowShopTaskDto.getNextTaskDate());
         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();
+                if(userId!=null){
+                    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();
+        String nowTimeStr = DateUtils.getDate();
+        String taskId = IdUtils.simpleUUID();
+        shopTask.setTaskId(taskId);
+        shopTask.setDelFlag(0);
+        shopTask.setShopId(staffAddTaskDto.getShopId());
+        shopTask.setTaskTitle(staffAddTaskDto.getTaskTitle());
+        shopTask.setEmergencyState(staffAddTaskDto.getEmergencyState());
+        shopTask.setCreateTime(new Date());
+        shopTask.setTaskDate(staffAddTaskDto.getTaskDate());
+        int i = staffAddTaskDto.getTaskDate().compareTo(nowTimeStr);
+        if(i>0){
+            shopTask.setTaskStatus(0);
+        }else if(i==0){
+            shopTask.setTaskStatus(1);
+        }else{
+            shopTask.setTaskStatus(3);
+        }
+        this.saveOrUpdate(shopTask);
+    }
+
+    /**
+     * @description 员工商户任务跟进
+     * @param staffFollowShopTaskDto
+     * @return void
+     * @author jqs34
+     * @date 2023/7/16 11:56
+     */
+    @Override
+    public void staffFollowShopTask(StaffFollowShopTaskDto staffFollowShopTaskDto){
+        // 创建会员任务记录对象
+        ShopTaskRecord shopTaskRecord;
+        // 获取旧的会员任务
+        ShopTask oldShopTask = this.getById(staffFollowShopTaskDto.getTaskId());
+        oldShopTask.setTaskStatus(2);
+        this.saveOrUpdate(oldShopTask);
+        // 判断跟进类型
+        if (staffFollowShopTaskDto.getFollowType() == 1) {
+            // 获取跟进电话列表
+            List<MerFollowPhoneDto> followPhone = staffFollowShopTaskDto.getFollowPhone();
+            // 判断跟进电话列表是否为空
+            if (followPhone != null && !followPhone.isEmpty()) {
+                // 遍历跟进电话列表
+                for (MerFollowPhoneDto followPhoneDto : followPhone) {
+                    // 创建新的会员任务记录
+                    shopTaskRecord = new ShopTaskRecord();
+                    shopTaskRecord.setTaskId(staffFollowShopTaskDto.getTaskId());
+                    shopTaskRecord.setDelFlag(0);
+                    shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId());
+                    shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType());
+                    shopTaskRecord.setCallPhone(staffFollowShopTaskDto.getCallPhone());
+                    shopTaskRecord.setFollowContent(followPhoneDto.getFollowContent());
+                    shopTaskRecord.setCallTime(followPhoneDto.getCallTime());
+                    shopTaskRecord.setCreateTime(new Date());
+                    // 保存或更新会员任务记录
+                    shopTaskRecordService.saveOrUpdate(shopTaskRecord);
+                }
+            }
+        } else {
+            // 创建新的会员任务记录
+            shopTaskRecord = new ShopTaskRecord();
+            shopTaskRecord.setTaskId(staffFollowShopTaskDto.getTaskId());
+            shopTaskRecord.setDelFlag(0);
+            shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId());
+            shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType());
+            shopTaskRecord.setFollowContent(staffFollowShopTaskDto.getFollowContent());
+            shopTaskRecord.setCustomeFollowType(staffFollowShopTaskDto.getCustomeFollowType());
+            shopTaskRecord.setCreateTime(new Date());
+            // 保存或更新会员任务记录
+            shopTaskRecordService.saveOrUpdate(shopTaskRecord);
+            // 获取图片、视频和音频
+            String picture = staffFollowShopTaskDto.getPicture();
+            String video = staffFollowShopTaskDto.getVideo();
+            String audio = staffFollowShopTaskDto.getAudio();
+            String[] strArr;
+            TaskFile taskFile;
+            // 判断图片是否为空,并处理
+            if (StringUtils.isNotBlank(picture)) {
+                strArr = picture.split(",");
+                for (String str : strArr) {
+                    taskFile = new TaskFile();
+                    taskFile.setDelFlag(0);
+                    taskFile.setFollowId(shopTaskRecord.getId());
+                    taskFile.setFollowFrom(4);
+                    taskFile.setFileUrl(str);
+                    taskFile.setFileType(1);
+                    taskFileService.saveOrUpdate(taskFile);
+                }
+            }
+            // 判断视频是否为空,并处理
+            if (StringUtils.isNotBlank(video)) {
+                strArr = video.split(",");
+                for (String str : strArr) {
+                    taskFile = new TaskFile();
+                    taskFile.setDelFlag(0);
+                    taskFile.setFollowId(shopTaskRecord.getId());
+                    taskFile.setFollowFrom(4);
+                    taskFile.setFileUrl(str);
+                    taskFile.setFileType(2);
+                    taskFileService.saveOrUpdate(taskFile);
+                }
+            }
+            // 判断音频是否为空,并处理
+            if (StringUtils.isNotBlank(audio)) {
+                strArr = audio.split(",");
+                for (String str : strArr) {
+                    taskFile = new TaskFile();
+                    taskFile.setDelFlag(0);
+                    taskFile.setFollowId(shopTaskRecord.getId());
+                    taskFile.setFollowFrom(4);
+                    taskFile.setFileUrl(str);
+                    taskFile.setFileType(3);
+                    taskFileService.saveOrUpdate(taskFile);
+                }
+            }
+        }
+        // 判断下一个任务日期是否为空,并处理
+        if (StringUtils.isNotBlank(staffFollowShopTaskDto.getNextTaskDate())) {
+            ShopTask shopTask = new ShopTask();
+            String taskId = IdUtils.simpleUUID();
+            shopTask.setTaskId(taskId);
+            shopTask.setDelFlag(0);
+            shopTask.setShopId(oldShopTask.getShopId());
+            shopTask.setTaskDate(staffFollowShopTaskDto.getNextTaskDate());
+            shopTask.setFollowContent(staffFollowShopTaskDto.getNextTaskContent());
+            String nowTimeStr = DateUtils.getDate();
+            int i = staffFollowShopTaskDto.getNextTaskDate().compareTo(nowTimeStr);
+            if(i>0){
+                shopTask.setTaskStatus(0);
+            }else if(i==0){
+                shopTask.setTaskStatus(1);
+            }else{
+                shopTask.setTaskStatus(3);
+            }
+            shopTask.setEmergencyState(staffFollowShopTaskDto.getEmergencyState());
+            shopTask.setCreateTime(new Date());
+            this.saveOrUpdate(shopTask);
+        }
+    }
+
+    /**
+     * @description  检查任务时间状态
+     * @author  jqs
+     * @date    2023/7/19 18:01
+     * @param
+     * @return  void
+     */
+    @Override
+    public void checkTaskDateStatus(){
+        shopTaskMapper.checkShopTaskStatus();
+        shopTaskMapper.checkAgencyTaskStatus();
+        shopTaskMapper.checkMemberTaskStatus();
+    }
 }

--
Gitblit v1.7.1