管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-10-24 14663e5f2371b4007c6bc310d884a60533a88a27
src/main/java/com/lf/server/service/all/ScheduleService.java
@@ -3,6 +3,7 @@
import com.lf.server.entity.all.RedisCacheKey;
import com.lf.server.entity.sys.ResEntity;
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.FileHelper;
import com.lf.server.helper.StringHelper;
import com.lf.server.service.sys.ResService;
import org.apache.commons.logging.Log;
@@ -103,9 +104,9 @@
        // 剩余
        long surplusByte = memory.getAvailable();
        map.put("totalMem", StringHelper.formatByte(totalByte));
        map.put("use", StringHelper.formatByte(totalByte - surplusByte));
        map.put("remainMem", StringHelper.formatByte(surplusByte));
        map.put("totalMem", FileHelper.formatByte(totalByte));
        map.put("use", FileHelper.formatByte(totalByte - surplusByte));
        map.put("remainMem", FileHelper.formatByte(surplusByte));
        map.put("usage", new DecimalFormat("#.##%").format((totalByte - surplusByte) * 1.0 / totalByte));
        return map;
@@ -143,29 +144,57 @@
     * @return
     */
    public List<ResEntity> selectResStatus() {
        List<ResEntity> list = new ArrayList<ResEntity>();
        List<ResEntity> resList = resService.selectResAll();
        return testResStatus(resList);
    }
    private List<ResEntity> testResStatus(List<ResEntity> resList) {
        List<ResEntity> list = new ArrayList<ResEntity>();
        for (ResEntity re : resList) {
            Socket socket = new Socket();
            try {
                if (StringHelper.isEmpty(re.getServer())) {
                    list.add(re);
                    continue;
                }
                URI uri = new URI(re.getServer());
                SocketAddress add = new InetSocketAddress(uri.getHost(), uri.getPort() == -1 ? 80 : uri.getPort());
                // Ping通地址
                socket.connect(add, 2000);
            } catch (Exception e) {
                log.error(e.getStackTrace());
                log.error(e.getMessage());
                list.add(re);
            } finally {
                try {
                    socket.close();
                } catch (Exception e) {
                    log.error(e.getStackTrace());
                } catch (Exception ex) {
                    log.error(ex.getMessage());
                }
            }
        }
        return list;
    }
    /**
     * 统计服务资源状态
     *
     * @return
     */
    public JSONObject countResStatus() {
        List<ResEntity> resList = resService.selectResAll();
        List<ResEntity> unableList = testResStatus(resList);
        JSONObject jsonObject = new JSONObject();
        // 资源可用
        jsonObject.put("resAbleCount", resList.size() - unableList.size());
        // 资源不可用
        jsonObject.put("resUnableCount", unableList.size());
        return jsonObject;
    }
}