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 implements StorageTaskService { @Autowired private StorageTaskMapper storageTaskMapper; @Override public List findList(StorageTask params){ LambdaQueryWrapper query = Wrappers.lambdaQuery(StorageTask.class); return storageTaskMapper.selectList(query); } public Map> findLatestTasks() { Map> latestTasks = new HashMap<>(); // 查询最新的已完成任务 LambdaQueryWrapper completedWrapper = new LambdaQueryWrapper<>(); completedWrapper.eq(StorageTask::getTaskType, "已完成") .orderByDesc(StorageTask::getId) .last("LIMIT 1"); Optional latestCompletedTask = Optional.ofNullable(storageTaskMapper.selectOne(completedWrapper)); latestTasks.put("已完成", latestCompletedTask); // 查询最新的等待中任务 LambdaQueryWrapper pendingWrapper = new LambdaQueryWrapper<>(); pendingWrapper.eq(StorageTask::getTaskType, "等待中") .orderByDesc(StorageTask::getId); Optional latestPendingTask = Optional.ofNullable(storageTaskMapper.selectOne(pendingWrapper)); latestTasks.put("等待中", latestPendingTask); log.info(latestTasks+""); return latestTasks; } }