Browse Source

websocket兼容routeid

2024年12月23日15:49:33
thing_master
lishuai 1 year ago
parent
commit
17337aa927
  1. 19
      modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java

19
modules/thing/src/main/java/com/thing/thing/api/service/impl/IotThingApiServiceImpl.java

@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator; import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator;
@ -40,6 +41,7 @@ import com.thing.thing.dictRelation.dto.IotThingDictRelationDTO;
import com.thing.thing.dictRelation.param.IotThingDictRelationParamDTO; import com.thing.thing.dictRelation.param.IotThingDictRelationParamDTO;
import com.thing.thing.entity.dto.IotThingEntityDictDTO; import com.thing.thing.entity.dto.IotThingEntityDictDTO;
import com.thing.thing.entity.dto.IotThingViewDTO; import com.thing.thing.entity.dto.IotThingViewDTO;
import com.thing.transport.api.adaptor.JsonConverter;
import com.thing.util.BeanUtil; import com.thing.util.BeanUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
@ -421,20 +423,17 @@ public class IotThingApiServiceImpl extends BaseServiceImpl<IotThingApiMapper, I
public Map<String, Object> websocketApi(Long id) { public Map<String, Object> websocketApi(Long id) {
IotThingApiDTO dto = getByIdAs(id, IotThingApiDTO.class); IotThingApiDTO dto = getByIdAs(id, IotThingApiDTO.class);
if (ObjectUtil.isNull(dto)) { if (ObjectUtil.isNull(dto)) {
dto = mapper.selectOneByQueryAs(QueryWrapper.create().eq(IotThingApiEntity::getRouteId, id), IotThingApiDTO.class);
if(ObjectUtil.isNull(dto)){
return Maps.newHashMap(); return Maps.newHashMap();
} }
}
//todo 这里主要是组态设计的websocket请求可能需要修改 //todo 这里主要是组态设计的websocket请求可能需要修改
String remark = dto.getRemark(); String remark = dto.getRemark();
Long tenantCode = dto.getTenantCode(); Long tenantCode = dto.getTenantCode();
if (StringUtils.equals(remark, "0")) { if (StringUtils.equals(remark, "0")) {
tenantCode = UserContext.getRealTenantCode(); tenantCode = UserContext.getRealTenantCode();
} }
// Map<String, Object> params = new HashMap<>();
// params.put("id", id);
// params.put("reqParams", dto.getReqParams());
// Map<String, Object> stringObjectMap1 = telemetryById(params);
// Map<String, Object> stringObjectMap = encapsulationQuery(dto.getThingCondition(), dto.getAttrCondition(), dto.getTimeCondition(), dto.getReqParams(), null, null, dto.getSort(), tenantCode);
return encapsulationQuery(dto.getThingCondition(), dto.getAttrCondition(), dto.getTimeCondition(), dto.getReqParams(), null, null, dto.getSort(), tenantCode); return encapsulationQuery(dto.getThingCondition(), dto.getAttrCondition(), dto.getTimeCondition(), dto.getReqParams(), null, null, dto.getSort(), tenantCode);
} }
@ -503,7 +502,7 @@ public class IotThingApiServiceImpl extends BaseServiceImpl<IotThingApiMapper, I
//属性查询类型 //属性查询类型
Map<String, Object> entityResultMap = new HashMap<>(); Map<String, Object> entityResultMap = new HashMap<>();
Map<String, IotThingViewDTO> entityInfoMap = new HashMap<>();
Map<String, ObjectNode> entityInfoMap = new HashMap<>();
ApiEntityAttrDTO attrsEntity = ApiEntityAttrDTO.createFromJson(attrCondition); ApiEntityAttrDTO attrsEntity = ApiEntityAttrDTO.createFromJson(attrCondition);
String type = attrsEntity.getType(); String type = attrsEntity.getType();
//过滤条件的封装 //过滤条件的封装
@ -534,7 +533,8 @@ public class IotThingApiServiceImpl extends BaseServiceImpl<IotThingApiMapper, I
Map<String, IotThingDictRelationDTO> collect = dictRelationDTOList.orElseGet(Collections::emptyList).stream() Map<String, IotThingDictRelationDTO> collect = dictRelationDTOList.orElseGet(Collections::emptyList).stream()
.collect(Collectors.toMap(IotThingDictRelationDTO::getCode, Function.identity(),(existing, replacement) -> existing)); .collect(Collectors.toMap(IotThingDictRelationDTO::getCode, Function.identity(),(existing, replacement) -> existing));
optional.get().setAttrs(collect); optional.get().setAttrs(collect);
entityInfoMap.put(code, optional.get());
ObjectNode nodes = JsonConverter.convertToJsonObjectObjectNode(optional.get());
entityInfoMap.put(code, nodes);
} }
}); });
} }
@ -582,7 +582,8 @@ public class IotThingApiServiceImpl extends BaseServiceImpl<IotThingApiMapper, I
s-> ConvertUtils.sourceToTarget(s,IotThingDictRelationDTO.class) s-> ConvertUtils.sourceToTarget(s,IotThingDictRelationDTO.class)
,(existing, replacement) -> existing)); ,(existing, replacement) -> existing));
optional.get().setAttrs(collect); optional.get().setAttrs(collect);
entityInfoMap.put(entityCode, optional.get());
ObjectNode nodes = JsonConverter.convertToJsonObjectObjectNode(optional.get());
entityInfoMap.put(entityCode, nodes);
} }
}); });
} }

Loading…
Cancel
Save