whycxzp
2025-04-30 e2c4237b2594eb6fa0e1cc894fe68b5f38ada864
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
38
39
40
41
package com.whyc.service;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.mapper.DevDfuStateMapper;
import com.whyc.pojo.DevDfuState;
import com.whyc.util.ThreadLocalUtil;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
 
@Service
public class DevDfuStateService {
 
    @Resource
    private DevDfuStateMapper mapper;
 
    public Response getPage(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        QueryWrapper<DevDfuState> query = Wrappers.query();
        query.orderByDesc("recordTime");
        List<DevDfuState> list = mapper.selectList(query);
        list.forEach(item -> {
            String recordTimeStr = item.getRecordTime();
            Date recordTime = ThreadLocalUtil.parse(recordTimeStr, 0);
            //recordTime与当前时间对比,如果超过30s,则设置online为离线
            if (recordTime.getTime() + 30000 < new Date().getTime()) {
                item.setOnline(0);
            }else{
                item.setOnline(1);
            }
        });
        PageInfo<DevDfuState> pageInfo = new PageInfo<>(list);
        return new Response().set(1, pageInfo);
    }
}