2021与蓝度共同重构项目,服务端
liuhaonan
2022-08-29 e947320e6604a12f5fd6e323b0a885b9a77c1e95
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java
@@ -1,8 +1,10 @@
package com.sandu.ximon.admin.utils;
import com.alibaba.fastjson.JSON;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.VnnoxConstant;
import com.sandu.ximon.admin.config.VnnoxUrl;
import com.sandu.ximon.admin.service.LedPlayerEntityService;
import com.sandu.ximon.admin.utils.request.*;
import com.sandu.ximon.admin.utils.response.*;
import com.sandu.ximon.dao.domain.LedPlayerEntity;
@@ -205,6 +207,42 @@
        return response.getData();
    }
    /**
     * 批量屏幕截图
     *
     * @param players
     * @return
     */
    public VnnoxResult screenShot(List<String> players) {
        VnnoxBaseRequest request = new VnnoxBaseRequest();
        request.setPlayerIds(players);
        request.setNoticeUrl(VnnoxConstant.SCREEN_SHOT_NOTIFY_URL);
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.SCREEN_SHOT),
                request.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        if (result.startsWith("{") && result.endsWith("}")) {
            VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
            if (response.getStatus() == 0) {
                return response.getData();
            } else {
                System.out.println(response.getErrmsg());
                VnnoxResult vnnoxResult = new VnnoxResult();
                vnnoxResult.getFail().addAll(players);
                return vnnoxResult;
            }
        } else {
            System.out.println("数据解析异常!");
            VnnoxResult vnnoxResult = new VnnoxResult();
            vnnoxResult.getFail().addAll(players);
            return vnnoxResult;
        }
    }
    /**
     * 设备重启
     *
@@ -270,4 +308,38 @@
        return response.getData();
    }
    public List<LedPlayerEntity> saveCurrentInfo(List<LedPlayerEntity> list) {
        List<String> playerIds = new ArrayList<>();
        if (list.isEmpty()) {
            return null;
        }
        for (LedPlayerEntity playerEntity : list) {
            playerIds.add(playerEntity.getPlayerId());
        }
        VnnoxSyncCurrentInfoRequest vnnoxSyncCurrentInfoRequest = new VnnoxSyncCurrentInfoRequest();
        vnnoxSyncCurrentInfoRequest.setPlayerIds(playerIds);
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.SYNC_CURRENT_INFO),
                vnnoxSyncCurrentInfoRequest.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        VnnoxSyncCurrentInfoResponse response = JSON.parseObject(result, VnnoxSyncCurrentInfoResponse.class);
        for (LedPlayerEntity playerEntity : list) {
            for (VnnoxPlayerInfoResponse res : response.getData()) {
                if (res.getPlayerId().equals(playerEntity.getPlayerId())) {
                    playerEntity.setResolution(res.getWidth() + " * " + res.getHeight());
                    break;
                }
            }
        }
       return list;
    }
}