| | |
| | | |
| | | 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; |
| | | |
| | |
| | | * @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); |
| | | } |
| | | } |