1
13693261870
2024-12-11 c6550a4d9bd69e59e9bb6ac6ad740e509edbd215
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package com.se.system.service.impl;
 
import java.util.List;
import com.se.common.core.utils.DateUtils;
import com.se.system.utils.CaffeineUtils;
import com.se.system.utils.ConnectUtils;
import com.se.system.utils.StringUtils;
import org.springframework.stereotype.Service;
import com.se.system.mapper.SysStatusCtrlMapper;
import com.se.system.domain.SysStatusCtrl;
import com.se.system.service.inte.ISysStatusCtrlService;
import org.springframework.util.CollectionUtils;
 
import javax.annotation.Resource;
 
/**
 * 系统状态监控Service业务层处理
 * 
 * @author se
 * @date 2024-12-07
 */
@Service
@SuppressWarnings("ALL")
public class SysStatusCtrlServiceImpl implements ISysStatusCtrlService {
    @Resource
    private SysStatusCtrlMapper sysStatusCtrlMapper;
 
    private final static String CACHE_KEY = "list:statusctrl";
 
    /**
     * 查询系统状态监控
     *
     * @param statusId 系统状态监控主键
     * @return 系统状态监控
     */
    @Override
    public SysStatusCtrl selectSysStatusCtrlByStatusId(Long statusId) {
        return sysStatusCtrlMapper.selectSysStatusCtrlByStatusId(statusId);
    }
 
    /**
     * 查询系统状态监控列表
     *
     * @param sysStatusCtrl 系统状态监控
     * @return 系统状态监控
     */
    @Override
    public List<SysStatusCtrl> selectSysStatusCtrlList(SysStatusCtrl sysStatusCtrl) {
        return sysStatusCtrlMapper.selectSysStatusCtrlList(sysStatusCtrl);
    }
 
    /**
     * 新增系统状态监控
     *
     * @param sysStatusCtrl 系统状态监控
     * @return 结果
     */
    @Override
    public int insertSysStatusCtrl(SysStatusCtrl sysStatusCtrl) {
        CaffeineUtils.remove(CACHE_KEY);
        sysStatusCtrl.setCreateTime(DateUtils.getNowDate());
        return sysStatusCtrlMapper.insertSysStatusCtrl(sysStatusCtrl);
    }
 
    /**
     * 修改系统状态监控
     *
     * @param sysStatusCtrl 系统状态监控
     * @return 结果
     */
    @Override
    public int updateSysStatusCtrl(SysStatusCtrl sysStatusCtrl) {
        CaffeineUtils.remove(CACHE_KEY);
        sysStatusCtrl.setUpdateTime(DateUtils.getNowDate());
        return sysStatusCtrlMapper.updateSysStatusCtrl(sysStatusCtrl);
    }
 
    /**
     * 批量删除系统状态监控
     *
     * @param statusIds 需要删除的系统状态监控主键
     * @return 结果
     */
    @Override
    public int deleteSysStatusCtrlByStatusIds(Long[] statusIds) {
        CaffeineUtils.remove(CACHE_KEY);
        return sysStatusCtrlMapper.deleteSysStatusCtrlByStatusIds(statusIds);
    }
 
    /**
     * 删除系统状态监控信息
     *
     * @param statusId 系统状态监控主键
     * @return 结果
     */
    @Override
    public int deleteSysStatusCtrlByStatusId(Long statusId) {
        CaffeineUtils.remove(CACHE_KEY);
        return sysStatusCtrlMapper.deleteSysStatusCtrlByStatusId(statusId);
    }
 
    private List<SysStatusCtrl> getList() {
        List<SysStatusCtrl> list = CaffeineUtils.getListByKey(CACHE_KEY);
        if (null == list) {
            list = selectSysStatusCtrlList(new SysStatusCtrl());
            CaffeineUtils.putListByKey(CACHE_KEY, list);
        }
 
        return list;
    }
 
    public void runSubSysTest() {
        List<SysStatusCtrl> list = getList();
        if (CollectionUtils.isEmpty(list)) return;
 
        for (SysStatusCtrl ctrl : list) {
            ctrl.setStatus("0");
            ctrl.setRemark("");
            if (!StringUtils.isEmpty(ctrl.getIp()) && !ConnectUtils.isReachable(ctrl.getIp())) {
                ctrl.setStatus("1");
                ctrl.setRemark("IP不连通");
            }
            if (!StringUtils.isEmpty(ctrl.getUrl()) && !ConnectUtils.testUrl(ctrl.getUrl(), ctrl.getMethod())) {
                ctrl.setStatus("1");
                ctrl.setRemark((ctrl.getRemark().length() > 0 ? ctrl.getRemark() + "," : "") + "URL连接不上");
            }
        }
 
        sysStatusCtrlMapper.updates(list);
    }
}