| | |
| | | package com.sandu.ximon.admin.service; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.sandu.common.execption.BusinessException; |
| | | import com.sandu.common.util.SpringContextHolder; |
| | | import com.sandu.ximon.admin.config.VnnoxConstant; |
| | | import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereHeartbeatReportInnerFrame; |
| | | import com.sandu.ximon.admin.redis.DeviceRedisKey; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.*; |
| | | import com.sandu.ximon.admin.utils.request.VnnoxScreenStatusType; |
| | |
| | | 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.NovaAStateInfoVO; |
| | | import com.sandu.ximon.admin.vo.NovaPushResultVO; |
| | | import com.sandu.ximon.admin.vo.NovaScreenShorUrlVO; |
| | | import com.sandu.ximon.admin.vo.NovaWeatherVO; |
| | | import com.sandu.ximon.admin.vo.*; |
| | | import com.sandu.ximon.dao.domain.LedPlayerEntity; |
| | | import com.sandu.ximon.dao.domain.LedPlayerInfoEntity; |
| | | import com.sandu.ximon.dao.domain.LedV2RegisterResultEntity; |
| | |
| | | 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) { |
| | | if (redisUtils.get(VnnoxConstant.REDIS_VOL + playerId) == null |
| | | || redisUtils.get(VnnoxConstant.REDIS_BRIGHTNESS + playerId) == null |
| | | || redisUtils.get(VnnoxConstant.REDIS_SCREEN_STATUS + playerId) == null) { |
| | | temp.add(item.getPlayerId()); |
| | | } |
| | | } |
| | |
| | | for (LedPlayerEntity playerEntity : list) { |
| | | String playerId = playerEntity.getPlayerId(); |
| | | LedPlayerInfoEntity cache = new LedPlayerInfoEntity(); |
| | | // 设置屏幕状态 |
| | | // 设置屏幕状态 更新状态之后还拿不到数据说明设备有问题或不在线 设置默认为黑屏 |
| | | String result = redisUtils.get(VnnoxConstant.REDIS_SCREEN_STATUS + playerId); |
| | | Integer screenStatus = 1; |
| | | Integer screenStatus = 0; |
| | | if (null != result) { |
| | | screenStatus = Integer.parseInt(result); |
| | | } |
| | |
| | | vnnoxAPIUtil.getAsyncStatus(playerIdList, stateValue); |
| | | } |
| | | ); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 向Redis中存入设备状态 |
| | | */ |
| | | public void setCacheData() { |
| | | |
| | | List<List<LedPlayerEntity>> split = CollectionUtil.split(ledPlayerEntityService.list(), 100); |
| | | List<LedPlayerEntity> ledList = new ArrayList<>(); |
| | | split.forEach( |
| | | list -> { |
| | | List<LedPlayerEntity> ledPlayerEntities = vnnoxAPIUtil.syncCurrentInfo(list); |
| | | ledList.addAll(ledPlayerEntities); |
| | | } |
| | | ); |
| | | |
| | | ledList.forEach( |
| | | device -> { |
| | | RedisDeviceStatus deviceStatus = new RedisDeviceStatus(); |
| | | deviceStatus.setDeviceId(device.getPlayerId()); |
| | | if (device.getOnlineStatus() == 0) { |
| | | deviceStatus.setStatus(1); |
| | | } else if (device.getOnlineStatus() == 1) { |
| | | deviceStatus.setStatus(0); |
| | | } else { |
| | | deviceStatus.setStatus(1); |
| | | } |
| | | redisUtils.set(DeviceRedisKey.NOVA + device.getPlayerId(), JSON.toJSONString(deviceStatus)); |
| | | // redisUtils.delete(DeviceRedisKey.IP_BROADCAST + device.getId()); |
| | | } |
| | | ); |
| | | |
| | | } |
| | | } |