| | |
| | | package com.ard.sample.manage.service.impl; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.ard.common.annotation.DataScope; |
| | | import com.ard.common.annotation.DataScopePlus; |
| | | import com.ard.system.authorize.service.AuthorizeService; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | |
| | | import com.fasterxml.jackson.core.type.TypeReference; |
| | | import com.fasterxml.jackson.databind.JsonNode; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.fasterxml.jackson.databind.node.ObjectNode; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Qualifier; |
| | |
| | | @Override |
| | | @ServiceActivator(inputChannel = ChannelName.INBOUND_OSD) |
| | | public void handleOSD(Message<?> message) { |
| | | String topic = message.getHeaders().get(MqttHeaders.RECEIVED_TOPIC).toString(); |
| | | byte[] payload = (byte[]) message.getPayload(); |
| | | CommonTopicReceiver receiver; |
| | | try { |
| | | String topic = message.getHeaders().get(MqttHeaders.RECEIVED_TOPIC).toString(); |
| | | byte[] payload = (byte[]) message.getPayload(); |
| | | CommonTopicReceiver receiver; |
| | | String from = topic.substring((THING_MODEL_PRE + PRODUCT).length(), |
| | | topic.indexOf(OSD_SUF)); |
| | | |
| | |
| | | |
| | | tsaService.handleOSD(receiver, device, webSessions, wsMessage); |
| | | |
| | | } catch (IOException e) { |
| | | } catch (NullPointerException e) { |
| | | log.error("处理OSD消息NPE,headers={}, payload={}", |
| | | message.getHeaders(), message.getPayload(), e); // 打印完整栈 |
| | | } |
| | | catch (IOException e) { |
| | | log.error("处理OSD消息的IO异常:{}",e.getMessage(), e); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | |
| | | // 验证授权数量 |
| | | validateAuthorization(devicesList.size(), 1); |
| | | } catch (Exception e) { |
| | | log.error("保存设备时验证授权异常,请联系管理员!错误信息:" + e.getMessage()); |
| | | return Optional.empty(); |
| | | } |
| | | // 调用验证方法 |
| | |
| | | BindDeviceReceiver dock = null; |
| | | BindDeviceReceiver drone = null; |
| | | for (BindDeviceReceiver device : devices) { |
| | | if(device.getDeviceModelKey().isEmpty()){ |
| | | continue; |
| | | } |
| | | int val = Integer.parseInt(device.getDeviceModelKey().split("-")[0]); |
| | | if (val == DeviceDomainEnum.DOCK.getVal()) { |
| | | dock = device; |
| | |
| | | .sn(device.getDeviceSn()) |
| | | .deviceCallsign(device.getNickname()) |
| | | .isDeviceBindOrganization(device.getBoundStatus()) |
| | | .organizationId(device.getDeptId().toString()) |
| | | .organizationId(String.valueOf(device.getDeptId())) |
| | | .organizationName(device.getWorkspaceName()) |
| | | .build(); |
| | | } |