管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-08-09 bf9f5d506d34cbbcc68f77cdf71e30a6cf3cd7d4
src/main/java/com/lf/server/service/all/ScheduleService.java
@@ -1,10 +1,14 @@
package com.lf.server.service.all;
import com.lf.server.entity.all.RedisCacheKey;
import com.lf.server.entity.sys.LoginEntity;
import com.lf.server.entity.sys.OperateEntity;
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.LoginService;
import com.lf.server.service.sys.OperateService;
import com.lf.server.service.sys.ResService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -37,15 +41,18 @@
    private ResService resService;
    @Autowired
    private LoginService loginService;
    @Autowired
    private OperateService operateService;
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    private static final Log log = LogFactory.getLog(ScheduleService.class);
    /**
     * 查询服务器状态
     *
     * @return
     * @throws InterruptedException
     */
    public JSONObject selectServerStatus() throws InterruptedException {
        JSONObject json = new JSONObject();
@@ -57,9 +64,6 @@
    /**
     * 查询Cpu信息
     *
     * @return
     * @throws InterruptedException
     */
    public JSONObject selectCpuInfo() throws InterruptedException {
        SystemInfo systemInfo = new SystemInfo();
@@ -91,8 +95,6 @@
    /**
     * 查询内存信息
     *
     * @return
     */
    public JSONObject selectMemInfo() {
        JSONObject map = new JSONObject();
@@ -114,8 +116,6 @@
    /**
     * 查询在线用户
     *
     * @return
     */
    public List<JSONObject> selectOnlineUsers() {
        List<JSONObject> list = new ArrayList<JSONObject>();
@@ -123,7 +123,7 @@
        Set<String> keys = redisTemplate.keys(RedisCacheKey.signUserKey("*"));
        for (String key : keys) {
            Object obj = redisTemplate.opsForValue().get(key);
            if (obj != null && obj instanceof UserEntity) {
            if (obj instanceof UserEntity) {
                UserEntity ue = (UserEntity) obj;
                JSONObject map = new JSONObject();
@@ -139,18 +139,32 @@
    }
    /**
     * 统计在线用户数
     */
    public int countOnlineUsers() {
        Set<String> keys = redisTemplate.keys(RedisCacheKey.signUserKey("*"));
        return null == keys ? 0 : keys.size();
    }
    /**
     * 查询服务资源状态
     *
     * @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())){
                if (StringHelper.isEmpty(re.getServer())) {
                    list.add(re);
                    continue;
                }
@@ -161,7 +175,7 @@
                // Ping通地址
                socket.connect(add, 2000);
            } catch (Exception e) {
                log.error(e.getMessage());
                // log.error(e.getMessage())
                list.add(re);
            } finally {
                try {
@@ -174,4 +188,64 @@
        return list;
    }
    /**
     * 统计服务资源状态
     */
    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;
    }
    /**
     * 资源操作状态
     */
    public JSONObject operateCount() {
        List<OperateEntity> list = operateService.operateCount();
        JSONObject jsonObject = new JSONObject();
        if (list.isEmpty()) {
            return null;
        } else {
            List<JSONObject> lister = new ArrayList<JSONObject>();
            for (OperateEntity key : list) {
                JSONObject map = new JSONObject();
                map.put("count", key.getCount());
                map.put("modular2", key.getModular2());
                lister.add(map);
            }
            jsonObject.put("operateCount", lister);
            return jsonObject;
        }
    }
    /**
     * 用户登录状态
     */
    public JSONObject userLoginCount() {
        List<LoginEntity> list = loginService.selectLoginCounts();
        if (list == null || list.isEmpty()) {
            return null;
        }
        JSONObject jsonObject = new JSONObject();
        List<JSONObject> lister = new ArrayList<JSONObject>();
        for (LoginEntity key : list) {
            JSONObject map = new JSONObject();
            map.put("count", key.getCount());
            map.put("optime", key.getOptime());
            lister.add(map);
        }
        jsonObject.put("userLoginCount", lister);
        return jsonObject;
    }
}