package com.mes.storagetask.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.mes.storagetask.mapper.StorageTaskMapper;
|
import com.mes.storagetask.entity.StorageTask;
|
import com.mes.storagetask.service.StorageTaskService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Optional;
|
|
/**
|
* @author system
|
* @since 2024-07-09 14:51:27
|
*/
|
@Service
|
@Slf4j
|
public class StorageTaskServiceImpl extends ServiceImpl<StorageTaskMapper, StorageTask> implements StorageTaskService {
|
|
@Autowired
|
private StorageTaskMapper storageTaskMapper;
|
|
@Override
|
public List<StorageTask> findList(StorageTask params){
|
LambdaQueryWrapper<StorageTask> query = Wrappers.lambdaQuery(StorageTask.class);
|
return storageTaskMapper.selectList(query);
|
}
|
|
|
public Map<String, Optional<StorageTask>> findLatestTasks() {
|
Map<String, Optional<StorageTask>> latestTasks = new HashMap<>();
|
|
// 查询最新的已完成任务
|
LambdaQueryWrapper<StorageTask> completedWrapper = new LambdaQueryWrapper<>();
|
completedWrapper.eq(StorageTask::getTaskType, "已完成")
|
.orderByDesc(StorageTask::getId)
|
.last("LIMIT 1");
|
Optional<StorageTask> latestCompletedTask = Optional.ofNullable(storageTaskMapper.selectOne(completedWrapper));
|
latestTasks.put("已完成", latestCompletedTask);
|
|
// 查询最新的等待中任务
|
LambdaQueryWrapper<StorageTask> pendingWrapper = new LambdaQueryWrapper<>();
|
pendingWrapper.eq(StorageTask::getTaskType, "等待中")
|
.orderByDesc(StorageTask::getId);
|
Optional<StorageTask> latestPendingTask = Optional.ofNullable(storageTaskMapper.selectOne(pendingWrapper));
|
latestTasks.put("等待中", latestPendingTask);
|
log.info(latestTasks+"");
|
return latestTasks;
|
}
|
|
|
|
|
}
|