1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.mes.opctask.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.opctask.entity.EdgStorageDeviceTaskHistory;
import com.mes.opctask.entity.request.TaskHistoryRequest;
import com.mes.opctask.mapper.EdgStorageDeviceTaskHistoryMapper;
import com.mes.opctask.service.EdgStorageDeviceTaskHistoryService;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * (EdgStorageDeviceTaskHistory)表服务实现类
 *
 * @author makejava
 * @since 2024-10-27 21:04:33
 */
@Service("edgStorageDeviceTaskHistoryService")
public class EdgStorageDeviceTaskHistoryServiceImpl extends ServiceImpl<EdgStorageDeviceTaskHistoryMapper, EdgStorageDeviceTaskHistory> implements EdgStorageDeviceTaskHistoryService {
 
    @Override
    public List<EdgStorageDeviceTaskHistory> queryEdgStorageDeviceTaskHistory(TaskHistoryRequest request) {
        LambdaQueryWrapper<EdgStorageDeviceTaskHistory> wrapper = new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
                .eq(EdgStorageDeviceTaskHistory::getDeviceId, request.getDeviceId())
                .eq(StringUtils.checkValNotNull(request.getTaskState()), EdgStorageDeviceTaskHistory::getTaskState, request.getTaskState())
                .eq(StringUtils.checkValNotNull(request.getTaskType()), EdgStorageDeviceTaskHistory::getTaskState, request.getTaskType())
                .between(StringUtils.checkValNotNull(request.getStartTime()), EdgStorageDeviceTaskHistory::getCreateTime, request.getStartTime(),
                        request.getEndTime()).orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 20");
        if (StringUtils.isNotBlank(request.getGlassId())) {
            wrapper.and(e -> e.like(EdgStorageDeviceTaskHistory::getGlassIdIn, request.getGlassId())
                    .or().like(EdgStorageDeviceTaskHistory::getGlassIdOut, request.getGlassId()));
        }
        return this.list(wrapper);
    }
}