Browse Source

增加网关和token查询接口

2024年8月6日10:58:21
thing_master
lishuai 1 year ago
parent
commit
7394f678b6
  1. 9
      common/transport/src/main/java/com/thing/transport/api/adaptor/JsonConverter.java
  2. 2
      modules/thing/src/main/java/com/thing/thing/context/service/ThingManageContextService.java
  3. 5
      modules/thing/src/main/java/com/thing/thing/context/service/impl/ThingManageContextServiceImpl.java
  4. 2
      modules/thing/src/main/java/com/thing/thing/model/service/IotThingModelService.java
  5. 17
      modules/thing/src/main/java/com/thing/thing/model/service/impl/IotThingModelServiceImpl.java

9
common/transport/src/main/java/com/thing/transport/api/adaptor/JsonConverter.java

@ -17,6 +17,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map.Entry;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -158,6 +159,14 @@ public class JsonConverter {
.map(node -> (ObjectNode) node)
.collect(Collectors.toList());
}
public static <T> ObjectNode convertToJsonObjectObjectNode(T record) {
if(Objects.isNull(record)){
return null;
}
return (ObjectNode)objectMapper.valueToTree(record);
}
public static <T> List<JSONObject> convertToJsonObjectList2(List<T> records) {
if(CollectionUtils.isEmpty(records)){
return Collections.emptyList();

2
modules/thing/src/main/java/com/thing/thing/context/service/ThingManageContextService.java

@ -28,6 +28,8 @@ public interface ThingManageContextService {
Optional<List<ObjectNode>> findModelByGateway(String gateway);
Optional<ObjectNode> findModelByGatewayAndToken(String gateway,String token);
void saveModelBatch(List<IotThingModelDTO> models);
/** 查询 Entity 接口 **/

5
modules/thing/src/main/java/com/thing/thing/context/service/impl/ThingManageContextServiceImpl.java

@ -82,6 +82,11 @@ public class ThingManageContextServiceImpl implements ThingManageContextService
return modelService.findByGateway(gateway);
}
@Override
public Optional<ObjectNode> findModelByGatewayAndToken(String gateway, String token) {
return modelService.findModelByGatewayAndToken(gateway,token);
}
@Override
public void saveModelBatch(List<IotThingModelDTO> models) {
List<IotThingModelEntity> entities = ConvertUtils.sourceToTarget(models, IotThingModelEntity.class);

2
modules/thing/src/main/java/com/thing/thing/model/service/IotThingModelService.java

@ -29,6 +29,8 @@ public interface IotThingModelService extends IBaseService<IotThingModelEntity>
Optional<List<ObjectNode>> findByGateway(String gateway);
Optional<ObjectNode> findModelByGatewayAndToken(String gateway, String token);
List<ObjectNode> findByCodeIn(Collection<String> codeList);
List<String> findAllOrigin();

17
modules/thing/src/main/java/com/thing/thing/model/service/impl/IotThingModelServiceImpl.java

@ -182,6 +182,23 @@ public class IotThingModelServiceImpl extends BaseServiceImpl<IotThingModelMappe
.toList());
}
@Override
public Optional<ObjectNode> findModelByGatewayAndToken(String gateway, String token) {
List<ObjectNode> topicMap = cache.getTopicMap(CacheNameEnum.THING_MODEL);
if (CollectionUtils.isEmpty(topicMap)) {
IotThingModelDTO modelDTO = mapper.selectOneByQueryAs(QueryWrapper.create()
.eq(IotThingModelEntity::getGateway, gateway)
.eq(IotThingModelEntity::getToken, token)
, IotThingModelDTO.class);
return Optional.ofNullable(JsonConverter.convertToJsonObjectObjectNode(modelDTO));
}
return topicMap.stream().filter(obj ->
StringUtils.equals(obj.get(CacheNameEnum.ModelField.THING_MODEL_GATEWAY.getField()).asText(), gateway)
&& StringUtils.equals(obj.get(CacheNameEnum.ModelField.THING_MODEL_TOKEN.getField()).asText(), token)
).findFirst();
}
@Override
public List<ObjectNode> findByCodeIn(Collection<String> codeList) {
List<ObjectNode> modelList = cache.findAllKeyMap(CacheNameEnum.THING_MODEL, codeList);

Loading…
Cancel
Save