jiangqs
2023-06-18 c00d0d3bc399b6648145dfd955cedbea90f5f99d
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -1,10 +1,25 @@
package com.ruoyi.shop.service.impl.task;
import com.ruoyi.shop.domain.pojo.task.ShopTask;
import com.ruoyi.shop.mapper.task.ShopTaskMapper;
import com.ruoyi.shop.service.task.ShopTaskService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.pojo.task.ShopTask;
import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord;
import com.ruoyi.shop.domain.pojo.task.TaskFile;
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.vo.MgtBulletinBoardVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.time.LocalDate;
import java.util.Date;
/**
 * <p>
@@ -17,4 +32,96 @@
@Service
public class ShopTaskServiceImpl extends ServiceImpl<ShopTaskMapper, ShopTask> implements ShopTaskService {
    @Resource
    private ShopTaskMapper shopTaskMapper;
    @Resource
    private ShopTaskRecordService shopTaskRecordService;
    @Resource
    private TaskFileService taskFileService;
    /**
     * 平台跟进商户
     * @param mgtFollowShopTaskDto
     */
    @Override
    public void followShopTask(MgtFollowShopTaskDto mgtFollowShopTaskDto){
        //创建本次任务
        ShopTask shopTask = new ShopTask();
        String taskId = IdUtils.simpleUUID();
        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.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
        shopTask.setCreateTime(new Date());
        shopTask.setTaskDate(DateUtils.toDate(LocalDate.now()));
        this.saveOrUpdate(shopTask);
        //创建任务记录
        ShopTaskRecord shopTaskRecord = new ShopTaskRecord();
        shopTaskRecord.setDelFlag(0);
        shopTaskRecord.setTaskId(taskId);
        shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId());
        shopTaskRecord.setFollowType(2);
        shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent());
        shopTaskRecord.setCreateTime(new Date());
        shopTaskRecordService.saveOrUpdate(shopTaskRecord);
        //创建任务文件
        String picture = mgtFollowShopTaskDto.getPicture();
        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(3);
                taskFile.setFileUrl(str);
                taskFile.setFileType(1);
                taskFileService.saveOrUpdate(taskFile);
            }
        }
        //创建下一次任务
        ShopTask shopNextTask = new ShopTask();
        String nextTaskId = IdUtils.simpleUUID();
        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());
        try {
            shopNextTask.setNextFollowDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd"));
            shopNextTask.setTaskDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd"));
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
        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;
    }
}