From e947320e6604a12f5fd6e323b0a885b9a77c1e95 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期一, 29 八月 2022 18:09:24 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java | 153 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 130 insertions(+), 23 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 2ff11cd..a4ab9d8 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,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;
@@ -13,7 +15,9 @@
import java.net.URISyntaxException;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
@Component("VnnoxAPIUtil")
@AllArgsConstructor
@@ -29,54 +33,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 result = VnnoxRequestUtil.GetWithHeader(
-// VnnoxUrl.getUrl(VnnoxUrl.GET_PLAYER_LIST),
-// new VnnoxGetPlayerListRequest(count, start).toJson(),
-// new CommonHeader(CommonHeader.JSON, true)
-// );
-// VnnoxPlayerListResponse response =
-// new VnnoxPlayerListResponse().parse(JSON.parseObject(result, CommonResponse.class));
-// System.out.println("----------------------------------------");
-// System.out.println("----------------------------------------");
-// System.out.println("----------------------------------------");
-// System.out.println(response);
-// return response;
-// }
- 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));
}
/**
@@ -87,6 +77,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());
@@ -214,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("鏁版嵁瑙f瀽寮傚父!");
+ VnnoxResult vnnoxResult = new VnnoxResult();
+ vnnoxResult.getFail().addAll(players);
+ return vnnoxResult;
+ }
+ }
+
/**
* 璁惧閲嶅惎
*
@@ -235,4 +264,82 @@
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();
+ }
+
+
+ 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;
+ }
+
+
}
\ No newline at end of file
--
Gitblit v1.9.3