2021与蓝度共同重构项目,服务端
liuhaonan
2022-05-11 2c52eaf28f9b8a666547e1307a76c3032598e57f
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java
@@ -13,7 +13,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,39 +31,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);
        //  将token保存到redis缓存中
        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 +75,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());
@@ -220,4 +226,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();
    }
}