From 6b05d4362696904973a4ad9d006ffea23ec4c957 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 26 八月 2022 18:07:11 +0800
Subject: [PATCH] fix

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java |  104 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 94 insertions(+), 10 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java
index 276dbe1..f5b35ac 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java
@@ -1,6 +1,7 @@
 package com.sandu.ximon.admin.utils;
 
 import com.alibaba.fastjson.JSON;
+import com.sandu.common.execption.BusinessException;
 import com.sandu.ximon.admin.config.VnnoxConstant;
 import com.sandu.ximon.admin.config.VnnoxUrl;
 import com.sandu.ximon.admin.utils.request.*;
@@ -12,8 +13,7 @@
 import org.springframework.stereotype.Component;
 
 import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 
 @Component("VnnoxAPIUtil")
 @AllArgsConstructor
@@ -29,39 +29,40 @@
     /**
      * 鑾峰彇token
      */
-    public void getToken () {
+    public void getToken() {
         String result = VnnoxRequestUtil.PostWithHeader(
                 VnnoxUrl.getUrl(VnnoxUrl.GET_TOKEN),
                 new VnnoxGetTokenRequest().toJson(),
                 new CommonHeader(CommonHeader.FORM, false)
         );
 
-        CommonResponse commonResponse = JSON.parseObject(result,CommonResponse.class);
+        CommonResponse commonResponse = JSON.parseObject(result, CommonResponse.class);
         VnnoxGetTokenResponse response = new VnnoxGetTokenResponse().parse(commonResponse);
         //  灏唗oken淇濆瓨鍒皉edis缂撳瓨涓�
-        redisUtils.set(VnnoxConstant.REDIS_TOKEN_NAME,response.getToken(),(long)(response.getExpire()-30));
+        redisUtils.set(VnnoxConstant.REDIS_TOKEN_NAME, response.getToken(), (long) (response.getExpire() - 30));
     }
 
 
     /**
      * 鑾峰彇鎾斁鍣ㄥ垪琛�
+     *
      * @param count 姣忔璇诲彇鏁伴噺锛岄粯璁�20锛屽彇鍊艰寖鍥达細1~100
      * @param start 浠庣鍑犳潯璁板綍寮�濮嬭鍙栵紝榛樿0
      * @return
      */
-    public VnnoxPlayerListResponse getPlayerList(Integer count, Integer start,String name) throws URISyntaxException {
+    public VnnoxPlayerListResponse getPlayerList(Integer count, Integer start, String name) throws URISyntaxException {
 
         List<NameValuePair> urlParameters = new ArrayList<>();
-        urlParameters.add(new BasicNameValuePair("count",count.toString()));
-        urlParameters.add(new BasicNameValuePair("start",start.toString()));
-        urlParameters.add(new BasicNameValuePair("name",name));
+        urlParameters.add(new BasicNameValuePair("count", count.toString()));
+        urlParameters.add(new BasicNameValuePair("start", start.toString()));
+        urlParameters.add(new BasicNameValuePair("name", name));
 
         String result = VnnoxRequestUtil.GetWithHeader(
                 VnnoxUrl.getUrl(VnnoxUrl.GET_PLAYER_LIST),
                 urlParameters,
                 new CommonHeader(CommonHeader.JSON, true)
         );
-        return new VnnoxPlayerListResponse().parse(JSON.parseObject(result,CommonResponse.class));
+        return new VnnoxPlayerListResponse().parse(JSON.parseObject(result, CommonResponse.class));
     }
 
     /**
@@ -72,6 +73,9 @@
      */
     public List<LedPlayerEntity> syncCurrentInfo(List<LedPlayerEntity> list) {
         List<String> playerIds = new ArrayList<>();
+        if (list.isEmpty()) {
+            return list;
+        }
 
         for (LedPlayerEntity playerEntity : list) {
             playerIds.add(playerEntity.getPlayerId());
@@ -199,6 +203,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("鏁版嵁瑙f瀽寮傚父!");
+            VnnoxResult vnnoxResult = new VnnoxResult();
+            vnnoxResult.getFail().addAll(players);
+            return vnnoxResult;
+        }
+    }
+
     /**
      * 璁惧閲嶅惎
      *
@@ -220,4 +260,48 @@
         return response.getData();
     }
 
+    /**
+     * 鍚屾鎾斁
+     */
+    public VnnoxResult syncPlay(List<String> playerId, Integer option) {
+        VnnoxBaseRequest request = new VnnoxBaseRequest();
+        request.setPlayerIds(playerId);
+        request.setOption(option);
+        request.setNoticeUrl(VnnoxConstant.SCREEN_SHOT_NOTIFY_URL);
+
+        String result = VnnoxRequestUtil.PostWithHeader(
+                VnnoxUrl.getUrl(VnnoxUrl.SIMU_LCAST),
+                request.toJson(),
+                new CommonHeader(CommonHeader.JSON, true)
+        );
+        VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
+
+        return response.getData();
+    }
+
+    /**
+     * NTP_SYNC
+     */
+    public VnnoxResult ntpSync(List<String> playerId, boolean enable) {
+//        VnnoxBaseRequest request = new VnnoxBaseRequest();
+//        request.setPlayerIds(playerId);
+//        request.setEnable(enable);
+//        request.setServer("ntp1.aliyun.com");
+//        request.setNoticeUrl(VnnoxConstant.SCREEN_SHOT_NOTIFY_URL);
+        Map map = new HashMap();
+        map.put("server", "ntp1.aliyun.com");
+        map.put("enable", enable);
+        map.put("noticeUrl", VnnoxConstant.SCREEN_SHOT_NOTIFY_URL);
+        map.put("playerIds", playerId);
+        String s = JSON.toJSONString(map);
+        String result = VnnoxRequestUtil.PostWithHeader(
+                VnnoxUrl.getUrl(VnnoxUrl.NTP_SYNC),
+                s,
+                new CommonHeader(CommonHeader.JSON, true)
+        );
+        VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
+
+        return response.getData();
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3