From 431dde90aa20f7652092fc0bfa9e6a1a28b06b9f Mon Sep 17 00:00:00 2001
From: jiangqs <343695869@qq.com>
Date: 星期日, 06 八月 2023 12:41:23 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang

---
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java |  217 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 155 insertions(+), 62 deletions(-)

diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
index f8f5bc9..7bbb6ba 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
@@ -6,6 +6,7 @@
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.shop.domain.dto.MerCreateMemberTaskDto;
 import com.ruoyi.shop.domain.dto.MerFollowMemberTaskDto;
+import com.ruoyi.shop.domain.dto.MerFollowPhoneDto;
 import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto;
 import com.ruoyi.shop.domain.pojo.task.MemberTask;
 import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord;
@@ -15,6 +16,9 @@
 import com.ruoyi.shop.service.task.MemberTaskRecordService;
 import com.ruoyi.shop.service.task.MemberTaskService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.shop.service.task.TaskFileService;
+import com.ruoyi.system.api.domain.dto.MemberTotalChangeDto;
+import com.ruoyi.system.api.domain.vo.MemberTaskSimpleVo;
 import com.ruoyi.system.api.service.RemoteMemberService;
 import org.springframework.stereotype.Service;
 
@@ -41,6 +45,11 @@
 
     @Resource
     private RemoteMemberService remoteMemberService;
+
+    @Resource
+    private TaskFileService taskFileService;
+
+
     /**
      *
      * @param page
@@ -49,19 +58,7 @@
      */
     @Override
     public List<MerMemberTaskPageVo> pageMerMemberTask(Page page, MerMemberTaskPageDto merMemberTaskPageDto){
-        String today = DateUtils.parseDateToStr("YYYY-MM-DD",new Date());
         List<MerMemberTaskPageVo> merMemberTaskPageVoList = memberTaskMapper.pageMerMemberTask(page, merMemberTaskPageDto);
-        if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty()){
-            String taskDate;
-            for(MerMemberTaskPageVo merMemberTaskPageVo : merMemberTaskPageVoList){
-                taskDate = merMemberTaskPageVo.getTaskDate();
-                if(today.equals(taskDate)){
-                    merMemberTaskPageVo.setTodayFlag(1);
-                }else{
-                    merMemberTaskPageVo.setTodayFlag(0);
-                }
-            }
-        }
         return merMemberTaskPageVoList;
     }
 
@@ -72,83 +69,179 @@
     @Override
     public void createMemberTask(MerCreateMemberTaskDto merCreateMemberTaskDto){
         MemberTask memberTask = new MemberTask();
-        String taskId = IdUtils.fastUUID();
+        String taskId = IdUtils.simpleUUID();
+        String nowTimeStr = DateUtils.getDate();
         memberTask.setTaskId(taskId);
         memberTask.setDelFlag(0);
         memberTask.setTaskStatus(0);
+        int i = merCreateMemberTaskDto.getTaskDate().compareTo(nowTimeStr);
+        if(i>0){
+            memberTask.setTaskStatus(0);
+        }else if(i==0){
+            memberTask.setTaskStatus(1);
+        }else{
+            memberTask.setTaskStatus(3);
+        }
+        memberTask.setEmergencyState(merCreateMemberTaskDto.getEmergencyState());
         memberTask.setShopId(merCreateMemberTaskDto.getShopId());
         memberTask.setUserId(merCreateMemberTaskDto.getMemberUserId());
         memberTask.setTaskDate(merCreateMemberTaskDto.getTaskDate());
         memberTask.setTaskContent(merCreateMemberTaskDto.getTaskContent());
         memberTask.setCreateTime(new Date());
         this.saveOrUpdate(memberTask);
+        MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
+        memberTotalChangeDto.setNextTaskTime(merCreateMemberTaskDto.getTaskDate());
+        remoteMemberService.changeMemberTotal(memberTotalChangeDto);
     }
 
     /**
-     *
+     * @description  会员任务跟进
+     * @author  jqs
+     * @date    2023/7/4 17:16
      * @param merFollowMemberTaskDto
+     * @return  void
      */
     @Override
-    public void followMemberTask(MerFollowMemberTaskDto merFollowMemberTaskDto){
-        MemberTaskRecord memberTaskRecord = new MemberTaskRecord();
+    public void followMemberTask(MerFollowMemberTaskDto merFollowMemberTaskDto) {
+        // 创建会员任务记录对象
+        MemberTaskRecord memberTaskRecord;
+        // 获取旧的会员任务
         MemberTask oldMemberTask = this.getById(merFollowMemberTaskDto.getTaskId());
-        memberTaskRecord.setTaskId(merFollowMemberTaskDto.getTaskId());
-        memberTaskRecord.setDelFlag(0);
-        memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId());
-        memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType());
-        memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone());
-        memberTaskRecord.setCallTime(merFollowMemberTaskDto.getCallTime());
-        memberTaskRecordService.saveOrUpdate(memberTaskRecord);
-        String picture = merFollowMemberTaskDto.getPicture();
-        String video = merFollowMemberTaskDto.getVideo();
-        String audio = merFollowMemberTaskDto.getAudio();
-        String[] strArr;
-        TaskFile taskFile;
-        if(StringUtils.isNotBlank(picture)){
-            strArr = picture.split(",");
-            for(String str : strArr){
-                taskFile = new TaskFile();
-                taskFile.setDelFlag(0);
-                taskFile.setFollowId(memberTaskRecord.getId());
-                taskFile.setFollowFrom(2);
-                taskFile.setFileUrl(str);
-                taskFile.setFileType(1);
+        oldMemberTask.setTaskStatus(2);
+        this.saveOrUpdate(oldMemberTask);
+        // 判断跟进类型
+        if (merFollowMemberTaskDto.getFollowType() == 1) {
+            // 获取跟进电话列表
+            List<MerFollowPhoneDto> followPhone = merFollowMemberTaskDto.getFollowPhone();
+            // 判断跟进电话列表是否为空
+            if (followPhone != null && !followPhone.isEmpty()) {
+                // 遍历跟进电话列表
+                for (MerFollowPhoneDto followPhoneDto : followPhone) {
+                    // 创建新的会员任务记录
+                    memberTaskRecord = new MemberTaskRecord();
+                    memberTaskRecord.setTaskId(merFollowMemberTaskDto.getTaskId());
+                    memberTaskRecord.setDelFlag(0);
+                    memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId());
+                    memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType());
+                    memberTaskRecord.setCustomeFollowType(merFollowMemberTaskDto.getCustomeFollowType());
+                    memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone());
+                    memberTaskRecord.setFollowContent(followPhoneDto.getFollowContent());
+                    memberTaskRecord.setCallTime(followPhoneDto.getCallTime());
+                    // 保存或更新会员任务记录
+                    memberTaskRecordService.saveOrUpdate(memberTaskRecord);
+                }
+            }
+        } else {
+            // 创建新的会员任务记录
+            memberTaskRecord = new MemberTaskRecord();
+            memberTaskRecord.setTaskId(merFollowMemberTaskDto.getTaskId());
+            memberTaskRecord.setDelFlag(0);
+            memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId());
+            memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType());
+            memberTaskRecord.setCustomeFollowType(merFollowMemberTaskDto.getCustomeFollowType());
+            memberTaskRecord.setFollowContent(merFollowMemberTaskDto.getFollowContent());
+            memberTaskRecord.setCreateTime(new Date());
+            // 保存或更新会员任务记录
+            memberTaskRecordService.saveOrUpdate(memberTaskRecord);
+            // 获取图片、视频和音频
+            String picture = merFollowMemberTaskDto.getPicture();
+            String video = merFollowMemberTaskDto.getVideo();
+            String audio = merFollowMemberTaskDto.getAudio();
+            String[] strArr;
+            TaskFile taskFile;
+            // 判断图片是否为空,并处理
+            if (StringUtils.isNotBlank(picture)) {
+                strArr = picture.split(",");
+                for (String str : strArr) {
+                    taskFile = new TaskFile();
+                    taskFile.setDelFlag(0);
+                    taskFile.setFollowId(memberTaskRecord.getId());
+                    taskFile.setFollowFrom(2);
+                    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(memberTaskRecord.getId());
+                    taskFile.setFollowFrom(2);
+                    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(memberTaskRecord.getId());
+                    taskFile.setFollowFrom(2);
+                    taskFile.setFileUrl(str);
+                    taskFile.setFileType(3);
+                    taskFileService.saveOrUpdate(taskFile);
+                }
             }
         }
-        if(StringUtils.isNotBlank(video)){
-            strArr = picture.split(",");
-            for(String str : strArr){
-                taskFile = new TaskFile();
-                taskFile.setDelFlag(0);
-                taskFile.setFollowId(memberTaskRecord.getId());
-                taskFile.setFollowFrom(2);
-                taskFile.setFileUrl(str);
-                taskFile.setFileType(2);
-            }
-        }
-        if(StringUtils.isNotBlank(audio)){
-            strArr = picture.split(",");
-            for(String str : strArr){
-                taskFile = new TaskFile();
-                taskFile.setDelFlag(0);
-                taskFile.setFollowId(memberTaskRecord.getId());
-                taskFile.setFollowFrom(2);
-                taskFile.setFileUrl(str);
-                taskFile.setFileType(3);
-            }
-        }
-        if(StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())){
+        // 判断下一个任务日期是否为空,并处理
+        if (StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())) {
+            String nowTimeStr = DateUtils.getDate();
             MemberTask memberTask = new MemberTask();
-            String taskId = IdUtils.fastUUID();
+            String taskId = IdUtils.simpleUUID();
             memberTask.setTaskId(taskId);
             memberTask.setDelFlag(0);
             memberTask.setShopId(oldMemberTask.getShopId());
             memberTask.setUserId(oldMemberTask.getUserId());
             memberTask.setTaskDate(merFollowMemberTaskDto.getNextTaskDate());
             memberTask.setTaskContent(merFollowMemberTaskDto.getNextTaskContent());
-            memberTask.setTaskStatus(2);
+            memberTask.setEmergencyState(merFollowMemberTaskDto.getEmergencyState());
+            int i = merFollowMemberTaskDto.getNextTaskDate().compareTo(nowTimeStr);
+            if(i>0){
+                memberTask.setTaskStatus(0);
+            }else if(i==0){
+                memberTask.setTaskStatus(1);
+            }else{
+                memberTask.setTaskStatus(3);
+            }
             memberTask.setCreateTime(new Date());
             this.saveOrUpdate(memberTask);
+            MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
+            memberTotalChangeDto.setNextTaskTime(merFollowMemberTaskDto.getNextTaskDate());
+            remoteMemberService.changeMemberTotal(memberTotalChangeDto);
         }
     }
+
+    /**
+     * @description 获取进行中任务数
+     * @author  jqs
+     * @date    2023/6/26 13:45
+     * @param shopId
+     * @return  Integer
+     */
+    @Override
+    public Integer getMemberIngTotal(Long shopId) {
+        return memberTaskMapper.getMemberIngTotal(shopId);
+    }
+
+
+
+    /**
+     * @description  获取最近任务
+     * @author  jqs
+     * @date    2023/6/29 18:25
+     * @param
+     * @return  MemberTaskSimpleVo
+     */
+    @Override
+    public MemberTaskSimpleVo getLastMemberTask(Long userId){
+        return memberTaskMapper.getLastMemberTask(userId);
+    }
+
+
 }

--
Gitblit v1.7.1