Commit b8c480be560bced4aeac6d4e8e20f104248ab554

Authored by lijianfa_14810364212
1 parent f8f6e4c2

fix:解决边端向云端推送事件,云端设备不上线问题

@@ -18,6 +18,7 @@ import org.thingsboard.server.queue.util.TbCoreComponent; @@ -18,6 +18,7 @@ import org.thingsboard.server.queue.util.TbCoreComponent;
18 import org.thingsboard.server.service.edge.rpc.yunteng.TkEdgeProcessor; 18 import org.thingsboard.server.service.edge.rpc.yunteng.TkEdgeProcessor;
19 import org.thingsboard.server.service.edge.rpc.yunteng.TkEdgeProcessorRepository; 19 import org.thingsboard.server.service.edge.rpc.yunteng.TkEdgeProcessorRepository;
20 import org.thingsboard.server.service.edge.rpc.yunteng.tk_device_profile_category.TkDeviceProfileCategoryRepository; 20 import org.thingsboard.server.service.edge.rpc.yunteng.tk_device_profile_category.TkDeviceProfileCategoryRepository;
  21 +import org.thingsboard.server.service.state.DeviceStateService;
21 22
22 import java.util.UUID; 23 import java.util.UUID;
23 24
@@ -3,6 +3,7 @@ package org.thingsboard.server.service.edge.rpc.yunteng.tk_event_kv; @@ -3,6 +3,7 @@ package org.thingsboard.server.service.edge.rpc.yunteng.tk_event_kv;
3 import lombok.AllArgsConstructor; 3 import lombok.AllArgsConstructor;
4 import org.springframework.beans.BeanUtils; 4 import org.springframework.beans.BeanUtils;
5 import org.springframework.stereotype.Repository; 5 import org.springframework.stereotype.Repository;
  6 +import org.thingsboard.server.common.data.id.DeviceId;
6 import org.thingsboard.server.common.data.id.EdgeId; 7 import org.thingsboard.server.common.data.id.EdgeId;
7 import org.thingsboard.server.common.data.id.EntityId; 8 import org.thingsboard.server.common.data.id.EntityId;
8 import org.thingsboard.server.common.data.id.TenantId; 9 import org.thingsboard.server.common.data.id.TenantId;
@@ -16,6 +17,7 @@ import org.thingsboard.server.dao.yunteng.jpa.entity.events.TkEventKvCompositeKe @@ -16,6 +17,7 @@ import org.thingsboard.server.dao.yunteng.jpa.entity.events.TkEventKvCompositeKe
16 import org.thingsboard.server.dao.yunteng.jpa.entity.events.TkEventKvEntity; 17 import org.thingsboard.server.dao.yunteng.jpa.entity.events.TkEventKvEntity;
17 import org.thingsboard.server.dao.yunteng.jpa.repository.event.EventKvRepository; 18 import org.thingsboard.server.dao.yunteng.jpa.repository.event.EventKvRepository;
18 import org.thingsboard.server.service.edge.rpc.yunteng.TkEdgeProcessorRepository; 19 import org.thingsboard.server.service.edge.rpc.yunteng.TkEdgeProcessorRepository;
  20 +import org.thingsboard.server.service.state.DeviceStateService;
19 21
20 import java.util.List; 22 import java.util.List;
21 import java.util.Optional; 23 import java.util.Optional;
@@ -25,6 +27,7 @@ import java.util.Optional; @@ -25,6 +27,7 @@ import java.util.Optional;
25 public class TkEventKvRepository implements TkEdgeProcessorRepository<TkEventKv> { 27 public class TkEventKvRepository implements TkEdgeProcessorRepository<TkEventKv> {
26 28
27 private EventKvRepository eventKvRepository; 29 private EventKvRepository eventKvRepository;
  30 + private DeviceStateService deviceStateService;
28 31
29 @Override 32 @Override
30 public boolean updateFromEdge(TenantId tenantId, EdgeId edgeId, TkEventKv dto) throws Exception { 33 public boolean updateFromEdge(TenantId tenantId, EdgeId edgeId, TkEventKv dto) throws Exception {
@@ -34,6 +37,7 @@ public class TkEventKvRepository implements TkEdgeProcessorRepository<TkEventKv> @@ -34,6 +37,7 @@ public class TkEventKvRepository implements TkEdgeProcessorRepository<TkEventKv>
34 id.setEventType(dto.getEventType()); 37 id.setEventType(dto.getEventType());
35 id.setEntityId(dto.getId().getId()); 38 id.setEntityId(dto.getId().getId());
36 Optional<TkEventKvEntity> optional = eventKvRepository.findById(id); 39 Optional<TkEventKvEntity> optional = eventKvRepository.findById(id);
  40 + deviceStateService.onDeviceActivity(tenantId,new DeviceId(dto.getId().getId()),System.currentTimeMillis());
37 if(optional.isPresent()){ 41 if(optional.isPresent()){
38 TkEventKvEntity model=optional.get(); 42 TkEventKvEntity model=optional.get();
39 CopyUtils.copyProperties(dto, model); 43 CopyUtils.copyProperties(dto, model);