From b95715d5cdc806cbb15cc7f49c538e61f5ab5dc6 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 03 八月 2023 13:31:46 +0800
Subject: [PATCH] bug和二维码
---
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 230 insertions(+), 0 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 6294833..731f9a4 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
@@ -1,10 +1,29 @@
package com.ruoyi.shop.service.impl.task;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.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;
+import com.ruoyi.shop.domain.pojo.task.TaskFile;
+import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo;
import com.ruoyi.shop.mapper.task.MemberTaskMapper;
+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.vo.MemberTaskSimpleVo;
+import com.ruoyi.system.api.service.RemoteMemberService;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
/**
* <p>
@@ -17,4 +36,215 @@
@Service
public class MemberTaskServiceImpl extends ServiceImpl<MemberTaskMapper, MemberTask> implements MemberTaskService {
+ @Resource
+ private MemberTaskMapper memberTaskMapper;
+
+ @Resource
+ private MemberTaskRecordService memberTaskRecordService;
+
+ @Resource
+ private RemoteMemberService remoteMemberService;
+
+ @Resource
+ private TaskFileService taskFileService;
+
+
+ /**
+ *
+ * @param page
+ * @param merMemberTaskPageDto
+ * @return
+ */
+ @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;
+ }
+
+ /**
+ *
+ * @param merCreateMemberTaskDto
+ */
+ @Override
+ public void createMemberTask(MerCreateMemberTaskDto merCreateMemberTaskDto){
+ MemberTask memberTask = new MemberTask();
+ 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);
+ }
+
+ /**
+ * @description 会员任务跟进
+ * @author jqs
+ * @date 2023/7/4 17:16
+ * @param merFollowMemberTaskDto
+ * @return void
+ */
+ @Override
+ public void followMemberTask(MerFollowMemberTaskDto merFollowMemberTaskDto) {
+ // 创建会员任务记录对象
+ MemberTaskRecord memberTaskRecord;
+ // 获取旧的会员任务
+ MemberTask oldMemberTask = this.getById(merFollowMemberTaskDto.getTaskId());
+ 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.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.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(merFollowMemberTaskDto.getNextTaskDate())) {
+ String nowTimeStr = DateUtils.getDate();
+ MemberTask memberTask = new MemberTask();
+ 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.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);
+ }
+ }
+
+ /**
+ * @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