2021与蓝度共同重构项目,服务端
liuhaonan
2022-08-10 ada0b243f16f12b5025253663eacfe53055f8310
changes
已修改10个文件
已添加1个文件
343 ■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/domain/Light.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/LightMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightReportDataService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/VnnoxService.java 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/vo/NovaResultVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/Light.java
@@ -60,6 +60,13 @@
    private Integer power2;
    /**
     * æ˜¯å¦å­˜åœ¨ç¯å¤´ 1是 0否
     */
    private Integer light1;
    private Integer light2;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private LocalDateTime createTime;
dao/src/main/resources/mapper/LightMapper.xml
@@ -13,6 +13,8 @@
        <result property="light2Percent" column="light2_percent" jdbcType="INTEGER"/>
        <result property="power1" column="power1" jdbcType="INTEGER"/>
        <result property="power2" column="power2" jdbcType="INTEGER"/>
        <result property="light1" column="light1" jdbcType="INTEGER"/>
        <result property="light2" column="light2" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
    </resultMap>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightController.java
@@ -3,7 +3,6 @@
import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.LightControlParam;
import com.sandu.ximon.admin.param.LightPowerSettingParam;
@@ -16,6 +15,7 @@
import com.sandu.ximon.dao.bo.LightBo;
import com.sandu.ximon.dao.bo.LightReportDataBo;
import com.sandu.ximon.dao.bo.LightReportErrorBo;
import com.sandu.ximon.dao.domain.LightReportData;
import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
@@ -162,4 +162,17 @@
        boolean resule = lightService.setPower(lightPowerSettingParam);
        return ResponseUtil.success(resule);
    }
    /**
     * å•灯数据列表
     */
    @GetMapping("/data/list")
    public ResponseVO<Object> listData(BaseConditionVO conditionVO, @RequestParam(value = "deviceCode", required = false) String deviceCode) {
        if (!permissionConfig.check(MenuEnum.LIGHT_DATA.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List<LightReportData> reportDataList = lightReportDataService.getReportDataList(conditionVO, deviceCode);
        return ResponseUtil.success(reportDataList);
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/VnnoxController.java
@@ -1,6 +1,7 @@
package com.sandu.ximon.admin.controller;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.VnnoxParam;
@@ -8,7 +9,8 @@
import com.sandu.ximon.admin.service.LedPlayerEntityService;
import com.sandu.ximon.admin.service.VnnoxService;
import com.sandu.ximon.admin.utils.VnnoxAPIUtil;
import com.sandu.ximon.admin.utils.response.VnnoxResult;
import com.sandu.ximon.admin.vo.NovaPushResultVO;
import com.sandu.ximon.admin.vo.NovaResultVO;
import com.sandu.ximon.dao.domain.LedPlayerEntity;
import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity;
import com.sandu.ximon.dao.enums.MenuEnum;
@@ -59,44 +61,44 @@
    /**
     * é‡å¯
     *
     * @param vnnoxWebRequest
     * @param
     * @return
     */
    @PostMapping("/reboot")
    public ResponseVO<Object> reboot(@RequestBody List<String> vnnoxWebRequest) {
    public ResponseVO<Object> reboot(@RequestBody List<NovaPushResultVO> nova) {
        if (!permissionConfig.check(MenuEnum.VNNOX_RESTART.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        VnnoxResult vnnoxResult = vnnoxService.reboot(vnnoxWebRequest);
        return ResponseUtil.success(vnnoxResult);
        return ResponseUtil.success(vnnoxService.reboot(nova));
    }
    /**
     * åŒæ­¥æ’­æ”¾
     */
    @PostMapping("/syncPlay")
    public ResponseVO<Object> syncPlay(@RequestBody Map map) {
    public ResponseVO<Object> syncPlay(@RequestBody NovaResultVO vo) {
        if (!permissionConfig.check(MenuEnum.VNNOX_SYNC_PLAY.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List playIdlist = (List) map.get("playIdlist");
        Integer option = (Integer) map.get("option");
        VnnoxResult vnnoxResult = vnnoxService.syncPlay(playIdlist, option);
        return ResponseUtil.success(vnnoxResult);
        List<NovaPushResultVO> playIdlist = vo.getPlayIdlist();
        Integer option = vo.getOption();
        if (option == null || vo.getOption() == null) {
            throw new BusinessException("option不能为空");
        }
        return ResponseUtil.success(vnnoxService.syncPlay(playIdlist, option));
    }
    /**
     * ntp对时
     */
    @PostMapping("/ntp")
    public ResponseVO<Object> ntp(@RequestBody Map map) {
    public ResponseVO<Object> ntp(@RequestBody NovaResultVO vo) {
        if (!permissionConfig.check(MenuEnum.VNNOX_NTP.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        boolean enable = (boolean) map.get("enable");
        List playIdlist = (List) map.get("playIdlist");
        VnnoxResult vnnoxResult = vnnoxService.ntpSync(playIdlist, enable);
        return ResponseUtil.success(vnnoxResult);
        boolean enable = vo.isEnable();
        List<NovaPushResultVO> playIdlist = vo.getPlayIdlist();
        return ResponseUtil.success(vnnoxService.ntpSync(playIdlist, enable));
    }
    /**
@@ -108,8 +110,7 @@
        if (!permissionConfig.check(MenuEnum.VNNOX_ON_OFF.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        VnnoxResult vnnoxResult = vnnoxService.screenStatusChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getScreenStatus());
        return ResponseUtil.success(vnnoxResult);
        return ResponseUtil.success(vnnoxService.screenStatusChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getScreenStatus()));
    }
    /**
@@ -123,8 +124,7 @@
        if (!permissionConfig.check(MenuEnum.VNNOX_VOL_CHANGE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        VnnoxResult vnnoxResult = vnnoxService.volChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getVol());
        return ResponseUtil.success(vnnoxResult);
        return ResponseUtil.success(vnnoxService.volChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getVol()));
    }
    /**
@@ -138,8 +138,7 @@
        if (!permissionConfig.check(MenuEnum.VNNOX_BRIGHTNESS_CHANGE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        VnnoxResult vnnoxResult = vnnoxService.brightnessChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getBrightness());
        return ResponseUtil.success(vnnoxResult);
        return ResponseUtil.success(vnnoxService.brightnessChange(vnnoxWebRequest.getPlayerList(), vnnoxWebRequest.getBrightness()));
    }
@@ -204,6 +203,7 @@
    /**
     * å±å¹•详情     //前端未发现调用
     *
     * @param sn
     * @return
     */
ximon-admin/src/main/java/com/sandu/ximon/admin/param/LEDProgramParam.java
@@ -1,16 +1,13 @@
package com.sandu.ximon.admin.param;
import com.sandu.ximon.admin.config.VnnoxConstant;
import com.sandu.ximon.admin.utils.request.VnnoxRequest;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Base64;
import java.util.List;
import java.util.Map;
@Data
public class LEDProgramParam  {
public class LEDProgramParam {
    private Long id;
ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3ChargingService.java
@@ -1,16 +1,13 @@
package com.sandu.ximon.admin.service;
import cn.hutool.core.util.PageUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.config.C3mRedisConfig;
import com.sandu.ximon.admin.controller.C3mChargingChargeController;
import com.sandu.ximon.admin.dto.ChargingDto;
import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5C3HeartbeatReportInnerFrame;
@@ -30,12 +27,8 @@
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.admin.vo.EquipmentInfomation;
import com.sandu.ximon.dao.bo.C3ChargingBo;
import com.sandu.ximon.dao.domain.C3mCharging;
import com.sandu.ximon.dao.domain.C3mChargingCharge;
import com.sandu.ximon.dao.domain.C3mOrder;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.enums.OrderStatus;
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.enums.OrderStatus;
import com.sandu.ximon.dao.mapper.C3mChargingMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -78,7 +71,7 @@
    }
    /**
     * ä¿å­˜ä¸ŠæŠ¥C3充电设备心跳数据
     * ä¿å­˜ä¸ŠæŠ¥C3充电设备
     *
     * @return æ˜¯å¦æˆåŠŸ
     */
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightReportDataService.java
@@ -5,10 +5,12 @@
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.file.config.FileProperties;
import com.sandu.common.file.impl.AliOssFileServiceImpl;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightHeartbeatReportInnerFrame;
@@ -158,7 +160,7 @@
        //文件流化返回给前端
        findfile(request, response, file);
        //删除文件
       // file.delete();
        // file.delete();
    }
    /**
@@ -205,4 +207,16 @@
            }
        }
    }
    /**
     * æ ¹æ®macCode获取灯的数据
     */
    public List<LightReportData> getReportDataList(BaseConditionVO conditionVO, String macCode) {
        if (macCode.isEmpty()) {
            throw new BusinessException("mac不能为空");
        }
        PageHelper.startPage(conditionVO.getPageNo(), conditionVO.getPageSize());
        List<LightReportData> list = list(Wrappers.lambdaQuery(LightReportData.class).eq(LightReportData::getDeviceCode, macCode));
        return list;
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -1031,6 +1031,16 @@
        lights.forEach(light -> {
            light.setPower1(lightPowerSettingParam.getPower1());
            light.setPower2(lightPowerSettingParam.getPower2());
            if (lightPowerSettingParam.getPower1() != null) {
                light.setLight1(1);
            } else {
                light.setLight1(0);
            }
            if (lightPowerSettingParam.getPower2() != null) {
                light.setLight2(1);
            } else {
                light.setLight2(0);
            }
            light.setLightCount(lightPowerSettingParam.getLightCount());
        });
        return updateBatchById(lights);
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlayPlanNvService.java
@@ -24,7 +24,6 @@
import com.sandu.ximon.dao.domain.*;
import com.sandu.ximon.dao.mapper.PlayPlanNvMapper;
import lombok.AllArgsConstructor;
import org.aspectj.weaver.ast.Var;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -201,7 +200,7 @@
                programDto -> {
                    programDto.getWidgets().forEach(
                            widget -> {
                                if (!PlayerWidgetType.WEATHER.equals(widget.getType())) {
                                if (PlayerWidgetType.PICTURE.equals(widget.getType()) || PlayerWidgetType.VIDEO.equals(widget.getType())) {
                                    String url = widget.getUrl();
                                    LEDProgramFile one = fileService.getOne(Wrappers.lambdaQuery(LEDProgramFile.class).eq(LEDProgramFile::getFileUrl, url));
                                    if (one == null) {
@@ -228,7 +227,6 @@
                }
        );
        program.setSchedule(playerSchedule);
        program.setNoticeUrl(VnnoxConstant.NOTIFY_URL);
@@ -439,7 +437,7 @@
                programDto -> {
                    programDto.getWidgets().forEach(
                            widget -> {
                                if (!PlayerWidgetType.WEATHER.equals(widget.getType())) {
                                if (PlayerWidgetType.PICTURE.equals(widget.getType()) || PlayerWidgetType.VIDEO.equals(widget.getType())) {
                                    String url = widget.getUrl();
                                    LEDProgramFile one = fileService.getOne(Wrappers.lambdaQuery(LEDProgramFile.class).eq(LEDProgramFile::getFileUrl, url));
                                    if (one == null) {
@@ -447,9 +445,6 @@
                                    }
                                    widget.setMd5(one.getMd5());
                                    widget.setSize(Long.parseLong(one.getSize()));
                                }else {
                                    //WratherPage
                                    System.out.println(widget+"widget");
                                }
                            }
                    );
ximon-admin/src/main/java/com/sandu/ximon/admin/service/VnnoxService.java
@@ -17,6 +17,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.vo.NovaPushResultVO;
import com.sandu.ximon.dao.domain.LedPlayerEntity;
import com.sandu.ximon.dao.domain.LedPlayerInfoEntity;
import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity;
@@ -107,7 +108,12 @@
     * @param screenStatus
     * @return
     */
    public VnnoxResult screenStatusChange(List<LedPlayerEntity> playerList, Integer screenStatus) {
    public Map<String, Object> screenStatusChange(List<LedPlayerEntity> playerList, Integer screenStatus) {
        playerList.forEach(item -> {
            if (item.getPlayerId().isEmpty() || item.getPlayerName().isEmpty() || item.getPlayerName() == null || item.getPlayerId() == null) {
                throw new BusinessException("playerId或playerName为空");
            }
        });
        VnnoxScreenStatusType type;
        if (screenStatus.equals(0)) {
            type = VnnoxScreenStatusType.CLOSE;
@@ -116,29 +122,114 @@
        }
        VnnoxResult vnnoxResult = vnnoxAPIUtil.screenStatus(playerList.stream().map(item -> item.getPlayerId()).collect(Collectors.toList()), type);
        List<String> success = vnnoxResult.getSuccess();
        List<String> fail = vnnoxResult.getFail();
        //拼接成功失败的结果
        Map<String, Object> result = new HashMap<>();
        List<NovaPushResultVO> successList = new ArrayList<>();
        List<NovaPushResultVO> faileList = new ArrayList<>();
        List<String> finalSuccess = success;
        List<String> finalFail = fail;
        playerList.forEach(n -> {
            if (finalSuccess.contains(n.getPlayerId())) {
                NovaPushResultVO vo = new NovaPushResultVO();
                vo.setName(n.getPlayerName());
                vo.setPlayerId(n.getPlayerId());
                successList.add(vo);
            } else if (finalFail.contains(n.getPlayerId())) {
                NovaPushResultVO vo = new NovaPushResultVO();
                vo.setName(n.getPlayerName());
                vo.setPlayerId(n.getPlayerId());
                faileList.add(vo);
            }
        });
        result.put("success", successList);
        result.put("fail", faileList);
        //  æ ¹æ®å±å¹•状态调整REDIS标识位
        for (String playerId : vnnoxResult.getSuccess()) {
            redisUtils.set(VnnoxConstant.REDIS_SCREEN_STATUS + playerId, screenStatus, VnnoxConstant.REDIS_MAX_SAVE_TIME);
        }
        return vnnoxResult;
        return result;
    }
    public VnnoxResult volChange(List<LedPlayerEntity> playerList, Integer vol) {
    public Map<String, Object> volChange(List<LedPlayerEntity> playerList, Integer vol) {
        playerList.forEach(item -> {
            if (item.getPlayerId().isEmpty() || item.getPlayerName().isEmpty() || item.getPlayerName() == null || item.getPlayerId() == null) {
                throw new BusinessException("playerId或playerName为空");
            }
        });
        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);
        }
        return vnnoxResult;
        List<String> success = vnnoxResult.getSuccess();
        List<String> fail = vnnoxResult.getFail();
        //拼接成功失败的结果
        Map<String, Object> result = new HashMap<>();
        List<NovaPushResultVO> successList = new ArrayList<>();
        List<NovaPushResultVO> faileList = new ArrayList<>();
        List<String> finalSuccess = success;
        List<String> finalFail = fail;
        playerList.forEach(n -> {
            if (finalSuccess.contains(n.getPlayerId())) {
                NovaPushResultVO vo = new NovaPushResultVO();
                vo.setName(n.getPlayerName());
                vo.setPlayerId(n.getPlayerId());
                successList.add(vo);
            } else if (finalFail.contains(n.getPlayerId())) {
                NovaPushResultVO vo = new NovaPushResultVO();
                vo.setName(n.getPlayerName());
                vo.setPlayerId(n.getPlayerId());
                faileList.add(vo);
            }
        });
        result.put("success", successList);
        result.put("fail", faileList);
        return result;
    }
    public VnnoxResult brightnessChange(List<LedPlayerEntity> playerList, Integer brightness) {
    public Map<String, Object> brightnessChange(List<LedPlayerEntity> playerList, Integer brightness) {
        playerList.forEach(item -> {
            if (item.getPlayerId().isEmpty() || item.getPlayerName().isEmpty() || item.getPlayerName() == null || item.getPlayerId() == null) {
                throw new BusinessException("playerId或playerName为空");
            }
        });
        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);
        }
        return vnnoxResult;
        List<String> success = vnnoxResult.getSuccess();
        List<String> fail = vnnoxResult.getFail();
        //拼接成功失败的结果
        Map<String, Object> result = new HashMap<>();
        List<NovaPushResultVO> successList = new ArrayList<>();
        List<NovaPushResultVO> faileList = new ArrayList<>();
        List<String> finalSuccess = success;
        List<String> finalFail = fail;
        playerList.forEach(n -> {
            if (finalSuccess.contains(n.getPlayerId())) {
                NovaPushResultVO vo = new NovaPushResultVO();
                vo.setName(n.getPlayerName());
                vo.setPlayerId(n.getPlayerId());
                successList.add(vo);
            } else if (finalFail.contains(n.getPlayerId())) {
                NovaPushResultVO vo = new NovaPushResultVO();
                vo.setName(n.getPlayerName());
                vo.setPlayerId(n.getPlayerId());
                faileList.add(vo);
            }
        });
        result.put("success", successList);
        result.put("fail", faileList);
        return result;
    }
@@ -194,8 +285,37 @@
//    }
    //重启
    public VnnoxResult reboot(List<String> playerList) {
        return vnnoxAPIUtil.reboot(playerList);
    public Map<String, Object> reboot(List<NovaPushResultVO> nova) {
        List<String> playerIds = new ArrayList<>();
        nova.forEach(item -> {
            if (item.getPlayerId().isEmpty() || item.getName().isEmpty() || item.getName() == null || item.getPlayerId() == null) {
                throw new BusinessException("playerId或playerName为空");
            }
            playerIds.add(item.getPlayerId());
        });
        VnnoxResult reboot = vnnoxAPIUtil.reboot(playerIds);
        List<String> success = reboot.getSuccess();
        List<String> fail = reboot.getFail();
        //拼接成功失败的结果
        Map<String, Object> result = new HashMap<>();
        List<NovaPushResultVO> successList = new ArrayList<>();
        List<NovaPushResultVO> faileList = new ArrayList<>();
        List<String> finalSuccess = success;
        List<String> finalFail = fail;
        nova.forEach(n -> {
            if (finalSuccess.contains(n.getPlayerId())) {
                successList.add(n);
            } else if (finalFail.contains(n.getPlayerId())) {
                faileList.add(n);
            }
        });
        result.put("success", successList);
        result.put("fail", faileList);
        return result;
    }
    /**
@@ -204,8 +324,35 @@
     * @param
     * @return
     */
    public VnnoxResult syncPlay(List<String> playerList, Integer option) {
        return vnnoxAPIUtil.syncPlay(playerList, option);
    public Map<String, Object> syncPlay(List<NovaPushResultVO> nova, Integer option) {
        List<String> playerIds = new ArrayList<>();
        nova.forEach(item -> {
            if (item.getPlayerId().isEmpty() || item.getName().isEmpty() || item.getName() == null || item.getPlayerId() == null) {
                throw new BusinessException("playerId或playerName为空");
            }
            playerIds.add(item.getPlayerId());
        });
        VnnoxResult vnnoxResult = vnnoxAPIUtil.syncPlay(playerIds, option);
        List<String> success = vnnoxResult.getSuccess();
        List<String> fail = vnnoxResult.getFail();
        //拼接成功失败的结果
        Map<String, Object> result = new HashMap<>();
        List<NovaPushResultVO> successList = new ArrayList<>();
        List<NovaPushResultVO> faileList = new ArrayList<>();
        List<String> finalSuccess = success;
        List<String> finalFail = fail;
        nova.forEach(n -> {
            if (finalSuccess.contains(n.getPlayerId())) {
                successList.add(n);
            } else if (finalFail.contains(n.getPlayerId())) {
                faileList.add(n);
            }
        });
        result.put("success", successList);
        result.put("fail", faileList);
        return result;
    }
    /**
@@ -214,8 +361,35 @@
     * @param
     * @return
     */
    public VnnoxResult ntpSync(List<String> playerList, boolean enable) {
        return vnnoxAPIUtil.ntpSync(playerList, enable);
    public Map<String, Object> ntpSync(List<NovaPushResultVO> nova, boolean enable) {
        List<String> playerIds = new ArrayList<>();
        nova.forEach(item -> {
            if (item.getPlayerId().isEmpty() || item.getName().isEmpty() || item.getName() == null || item.getPlayerId() == null) {
                throw new BusinessException("playerId或playerName为空");
            }
            playerIds.add(item.getPlayerId());
        });
        VnnoxResult vnnoxResult = vnnoxAPIUtil.ntpSync(playerIds, enable);
        List<String> success = vnnoxResult.getSuccess();
        List<String> fail = vnnoxResult.getFail();
        //拼接成功失败的结果
        Map<String, Object> result = new HashMap<>();
        List<NovaPushResultVO> successList = new ArrayList<>();
        List<NovaPushResultVO> faileList = new ArrayList<>();
        List<String> finalSuccess = success;
        List<String> finalFail = fail;
        nova.forEach(n -> {
            if (finalSuccess.contains(n.getPlayerId())) {
                successList.add(n);
            } else if (finalFail.contains(n.getPlayerId())) {
                faileList.add(n);
            }
        });
        result.put("success", successList);
        result.put("fail", faileList);
        return result;
    }
ximon-admin/src/main/java/com/sandu/ximon/admin/vo/NovaResultVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.sandu.ximon.admin.vo;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
 * @Author liuhaonan
 * @Date 2022/04/24
 * @Version 1.0
 */
@Data
public class NovaResultVO  {
    List<NovaPushResultVO> playIdlist;
    /**
     * å¯¹æ—¶æŽ¥å£
     */
    private boolean enable;
    /**
     * åŒæ­¥æ’­æ”¾
     */
    private Integer option;
}