2021与蓝度共同重构项目,服务端
liuhaonan
2022-09-06 4791362c19d2d27a51593d625abb24173d1c63f2
changes
已修改9个文件
已添加2个文件
283 ■■■■■ 文件已修改
ximon-admin/src/main/java/com/sandu/ximon/admin/config/VnnoxConstant.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/config/VnnoxUrl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ServVnnoxController.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/AsyncStatusParam.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/VnnoxService.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/CountDownLatchUtil.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/VnnoxBaseRequest.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/response/VnnoxResultResponse.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/config/VnnoxConstant.java
@@ -19,6 +19,7 @@
    public static final String NOTIFY_URL = "http://112.74.63.130:20017/serv/vnnox/progress";
    public static final String SCREEN_SHOT_NOTIFY_URL = "http://112.74.63.130:20017/serv/vnnox/screenshot"; // TODO   è¦æ”¹
    public static final String STATUS_NOTIFY_URL = "http://112.74.63.130:20017/serv/vnnox/asyncStatus"; // TODO   è¦æ”¹
    public static final String username = "zhxm";
    public static final String password = "xm2512209.";
ximon-admin/src/main/java/com/sandu/ximon/admin/config/VnnoxUrl.java
@@ -30,6 +30,9 @@
    //天气
    public static String WEATHER = "/v1/player/program/weather";
    //实时信息(音量,亮度)
    public static String ASYNCURRENTSTATUS = "/v1/player/get/asynCurrentStatus";
    public static String getUrl(String urlSuffix) {
        return url + urlSuffix;
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
@@ -90,30 +90,6 @@
    }
    /**
     * è®¢å•状态查询  å¾®ä¿¡æ”¯ä»˜
     *
     * @param param
     * @return
     */
    @RequestMapping("/queryOrder")
    public ResponseVO<Object> queryOrder(@RequestBody PayParam param) {
        if (param.getOrderId() == null) {
            throw new BusinessException("请输入正确的订单id");
        }
        C3mOrder order = c3mOrderService.getById(param.getOrderId());
        if (order == null) {
            throw new BusinessException("订单不存在");
        }
        if ((OrderType.ALIPAY.getCode()).equals(order.getOrderType())) {
            return ResponseUtil.success(AliPayUtils.alipayQuery(order.getOutTradeNo(), param.getPoleId()));
        } else if ((OrderType.WXPAY.getCode()).equals(order.getOrderType())) {
            return ResponseUtil.success(wxPayService.WxOrderQuery(param.getPoleId(), order.getOutTradeNo()));
        } else {
            return ResponseUtil.success("支付方式异常");
        }
    }
    /**
     * è®¢å•列表
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ServVnnoxController.java
@@ -1,16 +1,21 @@
package com.sandu.ximon.admin.controller;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.config.VnnoxConstant;
import com.sandu.ximon.admin.param.AsyncStatusParam;
import com.sandu.ximon.admin.param.VnnoxProgressParam;
import com.sandu.ximon.admin.param.VnnoxScreenShotParam;
import com.sandu.ximon.admin.utils.CountDownLatchUtil;
import com.sandu.ximon.admin.utils.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.concurrent.CountDownLatch;
//诺瓦回调
@RestController
@@ -19,7 +24,11 @@
    @Autowired
    private RedisUtils redisUtils;
    @Autowired
    private CountDownLatchUtil countDownLatchUtil;
    @AnonymousAccess
    @PostMapping("/screenshot")
    public ResponseVO<Object> screenshot(@RequestBody VnnoxScreenShotParam vnnoxScreenShot) {
        String url = vnnoxScreenShot.getScreenShotUrl().replace("&amp;", "&");
@@ -27,10 +36,28 @@
        return ResponseUtil.success("ok");
    }
    @AnonymousAccess
    @PostMapping("/progress")
    public ResponseVO<Object> progress(@RequestBody VnnoxProgressParam vnnoxProgress) {
        redisUtils.set(VnnoxConstant.REDIS_PROGRESS + vnnoxProgress.getPlayerId(), vnnoxProgress.getPrecess());
        return ResponseUtil.success("ok");
    }
    @AnonymousAccess
    @PostMapping("/asyncStatus")
    public ResponseVO<Object> asyncStatus(@RequestBody AsyncStatusParam asyncStatusParam) {
        System.out.println(asyncStatusParam.toString());
        if ("brightnessValue".equals(asyncStatusParam.getCommand())) {
            //亮度
            redisUtils.set(VnnoxConstant.REDIS_BRIGHTNESS + asyncStatusParam.getPlayerId(), asyncStatusParam.getData().getRatio());
        } else if ("volumeValue".equals(asyncStatusParam.getCommand())) {
            //音量
            redisUtils.set(VnnoxConstant.REDIS_VOL + asyncStatusParam.getPlayerId(), asyncStatusParam.getData().getRatio());
        }
        countDownLatchUtil.countDown(asyncStatusParam.getLogid());
        return ResponseUtil.success("ok");
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
@@ -61,7 +61,7 @@
    @PostMapping("/allScreenShot")
    public ResponseVO<Object> allScreenShot(@RequestBody List<NovaPushResultVO> vnnoxWebRequest) {
    public ResponseVO<Object> allScreenShot(@RequestBody List<NovaPushResultVO> vnnoxWebRequest) throws InterruptedException {
        return ResponseUtil.success(vnnoxService.getScreenShotUrl(vnnoxWebRequest));
    }
@@ -209,7 +209,7 @@
    }
    /**
     * å±å¹•详情     //前端未发现调用
     * å±å¹•详情
     *
     * @param sn
     * @return
@@ -226,4 +226,11 @@
        vnnoxService.saveInfo();
        return ResponseUtil.success("执行完毕");
    }
    @AnonymousAccess
    @PostMapping("/asyncStatus")
    public ResponseVO<Object> asyncStatus(List<String> playerIds) {
        vnnoxService.asyncStatus(playerIds);
        return ResponseUtil.success("ok");
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/param/AsyncStatusParam.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.sandu.ximon.admin.param;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * @author LiuHaoNan
 * @date 2022/9/6
 */
@NoArgsConstructor
@Data
public class AsyncStatusParam {
    private String playerId;
    private String command;
    private String logid;
    private DataDTO data;
    @NoArgsConstructor
    @Data
    public static class DataDTO {
        private String orderId;
        private Boolean enable;
        private String ratio;
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/VnnoxService.java
@@ -15,6 +15,7 @@
import com.sandu.ximon.admin.utils.response.VnnoxPlayerListResponse;
import com.sandu.ximon.admin.utils.response.VnnoxPlayerResponse;
import com.sandu.ximon.admin.utils.response.VnnoxResult;
import com.sandu.ximon.admin.utils.response.VnnoxResultResponse;
import com.sandu.ximon.admin.vo.NovaPushResultVO;
import com.sandu.ximon.admin.vo.NovaScreenShorUrlVO;
import com.sandu.ximon.dao.domain.LedPlayerEntity;
@@ -47,6 +48,7 @@
    private LedPlayerEntityService ledPlayerEntityService;
    private VnnoxProgramAPIUtil vnnoxProgramAPIUtil;
    private CountDownLatchUtil countDownLatchUtil;
    /**
     * è®¾å¤‡æ ¡éªŒæ³¨å†Œ
@@ -154,7 +156,7 @@
        //  æ ¹æ®å±å¹•状态调整REDIS标识位
        for (String playerId : vnnoxResult.getSuccess()) {
            redisUtils.set(VnnoxConstant.REDIS_SCREEN_STATUS + playerId, screenStatus, VnnoxConstant.REDIS_MAX_SAVE_TIME);
            redisUtils.set(VnnoxConstant.REDIS_SCREEN_STATUS + playerId, screenStatus);
        }
        return result;
    }
@@ -171,7 +173,7 @@
        VnnoxResult vnnoxResult = vnnoxAPIUtil.volChange(playerList.stream().map(item -> item.getPlayerId()).collect(Collectors.toList()), vol);
        //  æ ¹æ®éŸ³é‡è°ƒæ•´REDIS标识位
        for (String playerId : vnnoxResult.getSuccess()) {
            redisUtils.set(VnnoxConstant.REDIS_VOL + playerId, vol, VnnoxConstant.REDIS_MAX_SAVE_TIME);
            redisUtils.set(VnnoxConstant.REDIS_VOL + playerId, vol);
        }
        List<String> success = vnnoxResult.getSuccess();
        List<String> fail = vnnoxResult.getFail();
@@ -212,7 +214,7 @@
        VnnoxResult vnnoxResult = vnnoxAPIUtil.brightnessChange(playerList.stream().map(item -> item.getPlayerId()).collect(Collectors.toList()), brightness);
        //  æ ¹æ®äº®åº¦è°ƒæ•´REDIS标识位
        for (String playerId : vnnoxResult.getSuccess()) {
            redisUtils.set(VnnoxConstant.REDIS_BRIGHTNESS + playerId, brightness, VnnoxConstant.REDIS_MAX_SAVE_TIME);
            redisUtils.set(VnnoxConstant.REDIS_BRIGHTNESS + playerId, brightness);
        }
        List<String> success = vnnoxResult.getSuccess();
        List<String> fail = vnnoxResult.getFail();
@@ -286,7 +288,7 @@
    // æ‰¹é‡æˆªå±
    public List<NovaScreenShorUrlVO> getScreenShotUrl(List<NovaPushResultVO> playerIds) {
    public List<NovaScreenShorUrlVO> getScreenShotUrl(List<NovaPushResultVO> playerIds) throws InterruptedException {
        List<NovaScreenShorUrlVO> screenShorUrlList = new ArrayList<>();
        //从playerIds中获取playerId
@@ -306,6 +308,7 @@
                        break;
                    } else {
                        num++;
                        Thread.sleep(500);
                    }
                }
                screenShorUrlVO.setShortUrl(url);
@@ -497,10 +500,26 @@
    /**
     * èŽ·å–ç¼“å­˜æ•°æ®
     *
     * @param list
     * @param
     * @return
     */
    public List<LedPlayerEntity> setCacheInfo(List<LedPlayerEntity> ledList) {
        List<String> temp = new ArrayList<>();
        for (LedPlayerEntity item : ledList) {
            String playerId = item.getPlayerId();
            if (redisUtils.get(VnnoxConstant.REDIS_VOL + playerId) == null
                    || redisUtils.get(VnnoxConstant.REDIS_BRIGHTNESS + playerId) == null) {
                temp.add(item.getPlayerId());
            }
        }
        if (temp.size() > 0) {
            List<List<String>> split = CollectionUtil.split(temp, 100);
            for (List<String> playIds : split) {
                System.out.println(playIds.size());
                vnnoxAPIUtil.asyncStatus(playIds);
            }
        }
        List<List<LedPlayerEntity>> split = CollectionUtil.split(ledList, 100);
        for (List<LedPlayerEntity> list : split) {
            for (LedPlayerEntity playerEntity : list) {
@@ -517,14 +536,15 @@
                result = redisUtils.get(VnnoxConstant.REDIS_VOL + playerId);
                Integer vol = 0;
                if (null != result) {
                    vol = Integer.parseInt(result);
                    vol = Float.valueOf(result).intValue();
                }
                cache.setVol(vol);
                //  è®¾ç½®å±å¹•亮度
                result = redisUtils.get(VnnoxConstant.REDIS_BRIGHTNESS + playerId);
                Integer brightness = 0;
                if (null != result) {
                    brightness = Integer.parseInt(result);
                    brightness = Float.valueOf(result).intValue();
                }
                cache.setBrightness(brightness);
@@ -600,4 +620,10 @@
        }
    }
    public void asyncStatus(List<String> playerIds) {
        VnnoxResultResponse vnnoxResultResponse = vnnoxAPIUtil.asyncStatus(playerIds);
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/CountDownLatchUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.sandu.ximon.admin.utils;
import lombok.Data;
import org.springframework.context.annotation.Configuration;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
/**
 * @author LiuHaoNan
 * @date 2022/9/6
 */
@Configuration
public class CountDownLatchUtil {
    private static Map<String, CountDownLatch> data = new HashMap<>();
    public void countDown(String id) {
        if (data != null && data.get(id) != null) {
            data.get(id).countDown();
        }
    }
    public void push(String id, CountDownLatch countDownLatch) {
        if (data != null) {
            data.put(id, countDownLatch);
        }
    }
    public void remove(String id) {
        if (data != null) {
            data.remove(id);
        }
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/VnnoxAPIUtil.java
@@ -18,6 +18,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
@Component("VnnoxAPIUtil")
@AllArgsConstructor
@@ -25,6 +26,8 @@
    //@Autowired
    private RedisUtils redisUtils;
    private CountDownLatchUtil countDownLatchUtil;
    public static VnnoxAPIUtil getBean() {
        return (VnnoxAPIUtil) SpringContextUtil.getBean("VnnoxAPIUtil");
@@ -34,11 +37,7 @@
     * èŽ·å–token
     */
    public void getToken() {
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.GET_TOKEN),
                new VnnoxGetTokenRequest().toJson(),
                new CommonHeader(CommonHeader.FORM, false)
        );
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.GET_TOKEN), new VnnoxGetTokenRequest().toJson(), new CommonHeader(CommonHeader.FORM, false));
        CommonResponse commonResponse = JSON.parseObject(result, CommonResponse.class);
        VnnoxGetTokenResponse response = new VnnoxGetTokenResponse().parse(commonResponse);
@@ -61,11 +60,7 @@
        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)
        );
        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));
    }
@@ -88,11 +83,7 @@
        VnnoxSyncCurrentInfoRequest vnnoxSyncCurrentInfoRequest = new VnnoxSyncCurrentInfoRequest();
        vnnoxSyncCurrentInfoRequest.setPlayerIds(playerIds);
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.SYNC_CURRENT_INFO),
                vnnoxSyncCurrentInfoRequest.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.SYNC_CURRENT_INFO), vnnoxSyncCurrentInfoRequest.toJson(), new CommonHeader(CommonHeader.JSON, true));
        VnnoxSyncCurrentInfoResponse response = JSON.parseObject(result, VnnoxSyncCurrentInfoResponse.class);
@@ -126,11 +117,7 @@
        vnnoxScreenStatusRequest.setPlayerIds(playerIds);
        vnnoxScreenStatusRequest.setStatus(type);
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.SCREEN_STATUS),
                vnnoxScreenStatusRequest.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.SCREEN_STATUS), vnnoxScreenStatusRequest.toJson(), new CommonHeader(CommonHeader.JSON, true));
        VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
@@ -151,11 +138,7 @@
        request.setPlayerIds(playerIds);
        request.setValue(vol);
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.CHANGE_VOL),
                request.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.CHANGE_VOL), request.toJson(), new CommonHeader(CommonHeader.JSON, true));
        VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
        return response.getData();
@@ -174,11 +157,7 @@
        request.setPlayerIds(playerIds);
        request.setValue(brightness);
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.CHANGE_BRIGHTNESS),
                request.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.CHANGE_BRIGHTNESS), request.toJson(), new CommonHeader(CommonHeader.JSON, true));
        VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
        return response.getData();
@@ -197,11 +176,7 @@
        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)
        );
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.SCREEN_SHOT), request.toJson(), new CommonHeader(CommonHeader.JSON, true));
        VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
        return response.getData();
@@ -219,11 +194,7 @@
        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)
        );
        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);
@@ -254,11 +225,7 @@
        request.setPlayerIds(playerIdList);
        request.setNoticeUrl(VnnoxConstant.SCREEN_SHOT_NOTIFY_URL);
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.REBOOT),
                request.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.REBOOT), request.toJson(), new CommonHeader(CommonHeader.JSON, true));
        VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
        return response.getData();
@@ -273,11 +240,7 @@
        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)
        );
        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();
@@ -298,11 +261,7 @@
        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)
        );
        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();
@@ -322,11 +281,7 @@
        VnnoxSyncCurrentInfoRequest vnnoxSyncCurrentInfoRequest = new VnnoxSyncCurrentInfoRequest();
        vnnoxSyncCurrentInfoRequest.setPlayerIds(playerIds);
        String result = VnnoxRequestUtil.PostWithHeader(
                VnnoxUrl.getUrl(VnnoxUrl.SYNC_CURRENT_INFO),
                vnnoxSyncCurrentInfoRequest.toJson(),
                new CommonHeader(CommonHeader.JSON, true)
        );
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.SYNC_CURRENT_INFO), vnnoxSyncCurrentInfoRequest.toJson(), new CommonHeader(CommonHeader.JSON, true));
        VnnoxSyncCurrentInfoResponse response = JSON.parseObject(result, VnnoxSyncCurrentInfoResponse.class);
@@ -338,8 +293,35 @@
                }
            }
        }
       return list;
        return list;
    }
    /**
     * èŽ·å–éŸ³é‡,亮度
     */
    public VnnoxResultResponse asyncStatus(List<String> playerId) {
        List<String> commands = new ArrayList<>();
        commands.add("volumeValue");
        commands.add("brightnessValue");
        VnnoxBaseRequest request = new VnnoxBaseRequest();
        request.setPlayerIds(playerId);
        request.setCommands(commands);
        request.setNoticeUrl(VnnoxConstant.STATUS_NOTIFY_URL);
        String result = VnnoxRequestUtil.PostWithHeader(VnnoxUrl.getUrl(VnnoxUrl.ASYNCURRENTSTATUS), request.toJson(), new CommonHeader(CommonHeader.JSON, true));
        VnnoxResultResponse response = JSON.parseObject(result, VnnoxResultResponse.class);
        System.out.println(response.toString());
        int size = response.getData().getSuccess().size();
        CountDownLatch countDownLatch = new CountDownLatch(size * 2);
        countDownLatchUtil.push(response.getLogid(), countDownLatch);
        try {
            countDownLatch.await();
            countDownLatchUtil.remove(response.getLogid());
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        return response;
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/request/VnnoxBaseRequest.java
@@ -20,6 +20,8 @@
    private String server;
    private List<String> commands;
    @Override
    public String toJson() {
        return VnnoxConstant.GSON.toJson(this);
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/response/VnnoxResultResponse.java
@@ -12,4 +12,6 @@
    private VnnoxResult data;
    private String errmsg;
}