| | |
| | | package com.sandu.ximon.admin.service; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.github.pagehelper.PageHelper; |
| | | 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.dto.TerminalDto; |
| | | import com.sandu.ximon.admin.param.BroadcastTerminalV2Param; |
| | | import com.sandu.ximon.admin.redis.DeviceRedisKey; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.RedisUtils; |
| | | import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; |
| | | import com.sandu.ximon.admin.utils.TerminalAPIUtils; |
| | | import com.sandu.ximon.admin.vo.EquipmentInfomation; |
| | | import com.sandu.ximon.admin.vo.TerminalVO; |
| | | import com.sandu.ximon.admin.vo.RedisDeviceStatus; |
| | | import com.sandu.ximon.dao.bo.BroadcastTerminalV2EntityBo; |
| | | import com.sandu.ximon.dao.domain.BroadcastTerminalV2Entity; |
| | | import com.sandu.ximon.dao.enums.AdministratorEnums; |
| | | import com.sandu.ximon.dao.enums.OrderByEnums; |
| | | import com.sandu.ximon.dao.enums.PoleBindingEnums; |
| | | import com.sandu.ximon.dao.mapper.IPBroadcastMapper; |
| | |
| | | |
| | | @Autowired |
| | | private IPBroadcastMapper broadcastTerminalV2EntityMapper; |
| | | @Autowired |
| | | private RedisUtils redisUtils; |
| | | |
| | | /** |
| | | * 同步终端 |
| | |
| | | public void synchTerminal() { |
| | | List<BroadcastTerminalV2Entity> server = broadcastTerminalV2EntityMapper.listAll(); |
| | | |
| | | List<TerminalVO> list = TerminalAPIUtils.getTerminalList(); |
| | | List<TerminalDto> list = TerminalAPIUtils.getTerminalList(); |
| | | System.out.println(list); |
| | | list.stream().forEach(item -> { |
| | | // 音柱服务器终端ID |
| | |
| | | */ |
| | | } |
| | | |
| | | /** |
| | | * IP音柱列表 |
| | | * |
| | | * @param baseConditionVO |
| | | * @param order |
| | | * @param seq |
| | | * @param broadcastTerminalV2Param |
| | | * @return |
| | | */ |
| | | public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalList(BaseConditionVO baseConditionVO, Integer order, Integer seq, BroadcastTerminalV2Param broadcastTerminalV2Param) { |
| | | if (broadcastTerminalV2Param == null) { |
| | | broadcastTerminalV2Param = new BroadcastTerminalV2Param(); |
| | |
| | | } |
| | | } |
| | | |
| | | List<TerminalVO> list = TerminalAPIUtils.getTerminalList(); |
| | | List<TerminalDto> list = TerminalAPIUtils.getTerminalList(); |
| | | for (BroadcastTerminalV2EntityBo bean : broadcastTerminalV2EntityBos) { |
| | | for (TerminalVO terminalVO : list) { |
| | | if (bean.getId().equals(terminalVO.getId())) { |
| | | bean.setStatus(terminalVO.getStatus()); |
| | | bean.setIp(terminalVO.getIp()); |
| | | bean.setVolumn(terminalVO.getVolumn()); |
| | | bean.setDefaultVolumn(terminalVO.getDefaultVolumn()); |
| | | bean.setPower(terminalVO.getPower()); |
| | | bean.setDefaultPower(terminalVO.getDefaultPower()); |
| | | bean.setLast(terminalVO.getLast()); |
| | | bean.setTaskType(terminalVO.getTaskType()); |
| | | bean.setTaskID(terminalVO.getTaskID()); |
| | | for (TerminalDto terminalDto : list) { |
| | | if (bean.getId().equals(terminalDto.getId())) { |
| | | bean.setStatus(terminalDto.getStatus()); |
| | | bean.setIp(terminalDto.getIp()); |
| | | bean.setVolumn(terminalDto.getVolumn()); |
| | | bean.setDefaultVolumn(terminalDto.getDefaultVolumn()); |
| | | bean.setPower(terminalDto.getPower()); |
| | | bean.setDefaultPower(terminalDto.getDefaultPower()); |
| | | bean.setLast(terminalDto.getLast()); |
| | | bean.setTaskType(terminalDto.getTaskType()); |
| | | bean.setTaskID(terminalDto.getTaskID()); |
| | | |
| | | if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalVO.getStatus()) { |
| | | if (0 == broadcastTerminalV2Param.getWorkState() && 0 == terminalDto.getStatus()) { |
| | | broadcastTerminalV2EntityBos_final.add(bean); |
| | | } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalVO.getStatus()) { |
| | | } else if (1 == broadcastTerminalV2Param.getWorkState() && 1 == terminalDto.getStatus()) { |
| | | broadcastTerminalV2EntityBos_final.add(bean); |
| | | } |
| | | break; |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * IP音柱列表(用于首页数据统计) |
| | | * |
| | | * @return |
| | | */ |
| | | public List<BroadcastTerminalV2EntityBo> getBroadcastTerminalListOnHome() { |
| | | List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos; |
| | | |
| | | if (SecurityUtils.getClientId() == null) { |
| | | broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(null, null, 2); |
| | | } else { |
| | | broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getBroadcastTerminalList(null, SecurityUtils.getUserId(), 2); |
| | | } |
| | | |
| | | return broadcastTerminalV2EntityBos; |
| | | } |
| | | |
| | | public List<BroadcastTerminalV2EntityBo> newIpTerminalList(String keyword) { |
| | | |
| | | List<BroadcastTerminalV2EntityBo> broadcastTerminalV2EntityBos = broadcastTerminalV2EntityMapper.getListTerminalOnBind(SecurityUtils.getClientId(), keyword); |
| | | |
| | | |
| | | List<TerminalVO> list = TerminalAPIUtils.getTerminalList(); |
| | | List<TerminalDto> list = TerminalAPIUtils.getTerminalList(); |
| | | for (BroadcastTerminalV2EntityBo bean : broadcastTerminalV2EntityBos) { |
| | | for (TerminalVO terminalVO : list) { |
| | | if (bean.getId().equals(terminalVO.getId())) { |
| | | bean.setStatus(terminalVO.getStatus()); |
| | | bean.setIp(terminalVO.getIp()); |
| | | bean.setVolumn(terminalVO.getVolumn()); |
| | | bean.setDefaultVolumn(terminalVO.getDefaultVolumn()); |
| | | bean.setPower(terminalVO.getPower()); |
| | | bean.setDefaultPower(terminalVO.getDefaultPower()); |
| | | bean.setLast(terminalVO.getLast()); |
| | | bean.setTaskType(terminalVO.getTaskType()); |
| | | bean.setTaskID(terminalVO.getTaskID()); |
| | | for (TerminalDto terminalDto : list) { |
| | | if (bean.getId().equals(terminalDto.getId())) { |
| | | bean.setStatus(terminalDto.getStatus()); |
| | | bean.setIp(terminalDto.getIp()); |
| | | bean.setVolumn(terminalDto.getVolume()); |
| | | bean.setDefaultVolumn(terminalDto.getDefaultVolumn()); |
| | | bean.setPower(terminalDto.getPower()); |
| | | bean.setDefaultPower(terminalDto.getDefaultPower()); |
| | | bean.setLast(terminalDto.getLast()); |
| | | bean.setTaskType(terminalDto.getTaskType()); |
| | | bean.setTaskID(terminalDto.getTaskID()); |
| | | break; |
| | | } |
| | | } |
| | |
| | | equipmentInfo.setEquipmentMac(id); |
| | | equipmentInfo.setEquipmentName(one.getTerminalName()); |
| | | } |
| | | TerminalVO terminalInfo = TerminalAPIUtils.getTerminalInfo(Integer.valueOf(id)); |
| | | TerminalDto terminalInfo = TerminalAPIUtils.getTerminalInfo(Integer.valueOf(id)); |
| | | if (terminalInfo != null) { |
| | | //空闲 1、 工作中 2 或者 4、 断线 0, 报 错 8 |
| | | switch (terminalInfo.getStatus()) { |
| | |
| | | if (byId == null) { |
| | | throw new BusinessException("终端不存在"); |
| | | } |
| | | boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(String.valueOf(byId.getId()), PoleBindingEnums.IPVOLUME); |
| | | if (!belong) { |
| | | throw new BusinessException("该设备不属于您,不能修改设备信息"); |
| | | if (AdministratorEnums.NORMAL.getCode().equals(SecurityUtils.getAdministratorIdentity())) { |
| | | boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(String.valueOf(byId.getId()), PoleBindingEnums.IPVOLUME); |
| | | if (!belong) { |
| | | throw new BusinessException("该设备不属于您,不能修改设备信息"); |
| | | } |
| | | } |
| | | byId.setTerminalName(name); |
| | | boolean flag = updateById(byId); |
| | |
| | | */ |
| | | return flag; |
| | | } |
| | | |
| | | |
| | | public static Object getInfo() { |
| | | return TerminalAPIUtils.getTerminalInfo(25); |
| | | } |
| | | |
| | | /** |
| | | * 向Redis中存入设备状态 |
| | | */ |
| | | public void setCacheData() { |
| | | //服务器所有音柱信息 |
| | | List<TerminalDto> list = TerminalAPIUtils.getTerminalList(); |
| | | list.forEach( |
| | | device -> { |
| | | RedisDeviceStatus deviceStatus = new RedisDeviceStatus(); |
| | | deviceStatus.setDeviceId(device.getId().toString()); |
| | | if (device != null) { |
| | | //空闲 1、 工作中 2 或者 4、 断线 0, 报 错 8 |
| | | switch (device.getStatus()) { |
| | | case 1: |
| | | case 2: |
| | | case 4: |
| | | deviceStatus.setStatus(0); |
| | | break; |
| | | case 0: |
| | | deviceStatus.setStatus(1); |
| | | break; |
| | | case 8: |
| | | deviceStatus.setStatus(0); |
| | | break; |
| | | default: |
| | | deviceStatus.setStatus(1); |
| | | |
| | | } |
| | | } |
| | | redisUtils.set(DeviceRedisKey.IP_BROADCAST + device.getId(), JSON.toJSONString(deviceStatus)); |
| | | // redisUtils.delete(DeviceRedisKey.IP_BROADCAST + device.getId()); |
| | | } |
| | | ); |
| | | |
| | | } |
| | | } |