1
13693261870
2024-12-13 b7a71b30c1c1b06a162678c90a54c8188097dc81
se-modules/se-system/src/main/java/com/se/system/service/impl/SysStatusCtrlServiceImpl.java
@@ -2,10 +2,15 @@
import java.util.List;
import com.se.common.core.utils.DateUtils;
import com.se.system.service.WebSocketService;
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;
@@ -16,82 +21,117 @@
 * @date 2024-12-07
 */
@Service
public class SysStatusCtrlServiceImpl implements ISysStatusCtrlService
{
@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)
    {
    public SysStatusCtrl selectSysStatusCtrlByStatusId(Long statusId) {
        return sysStatusCtrlMapper.selectSysStatusCtrlByStatusId(statusId);
    }
    /**
     * 查询系统状态监控列表
     *
     *
     * @param sysStatusCtrl 系统状态监控
     * @return 系统状态监控
     */
    @Override
    public List<SysStatusCtrl> selectSysStatusCtrlList(SysStatusCtrl sysStatusCtrl)
    {
    public List<SysStatusCtrl> selectSysStatusCtrlList(SysStatusCtrl sysStatusCtrl) {
        return sysStatusCtrlMapper.selectSysStatusCtrlList(sysStatusCtrl);
    }
    /**
     * 新增系统状态监控
     *
     *
     * @param sysStatusCtrl 系统状态监控
     * @return 结果
     */
    @Override
    public int insertSysStatusCtrl(SysStatusCtrl sysStatusCtrl)
    {
    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)
    {
    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)
    {
    public int deleteSysStatusCtrlByStatusIds(Long[] statusIds) {
        CaffeineUtils.remove(CACHE_KEY);
        return sysStatusCtrlMapper.deleteSysStatusCtrlByStatusIds(statusIds);
    }
    /**
     * 删除系统状态监控信息
     *
     *
     * @param statusId 系统状态监控主键
     * @return 结果
     */
    @Override
    public int deleteSysStatusCtrlByStatusId(Long statusId)
    {
    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);
    }
    private void sendMsg(String json) throws Exception {
        //String json = JSONObject.toJSONStringWithDateFormat(jsonObject, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue);
        WebSocketService.broadCastInfo(json);
    }
}