From 05cdd44420314e280e555da766db53ae45f061b5 Mon Sep 17 00:00:00 2001 From: lishuai Date: Thu, 12 Sep 2024 15:08:50 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=89=A9=E5=AE=9E=E4=BD=93=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=BA=A7=E8=81=94=E7=89=A9=E5=85=B3=E7=B3=BB=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=202024=E5=B9=B49=E6=9C=8812=E6=97=A515:08:47?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/ThingRelationDetailUpdateEvent.java | 25 +++++++++ ...ingChangedUpdateRelationEventListener.java | 54 +++++++++++++++++++ .../impl/IotThingEntityServiceImpl.java | 5 ++ .../IotThingRelationDetailService.java | 2 + .../IotThingRelationDetailServiceImpl.java | 7 +++ 5 files changed, 93 insertions(+) create mode 100644 modules/thing/src/main/java/com/thing/event/ThingRelationDetailUpdateEvent.java create mode 100644 modules/thing/src/main/java/com/thing/listener/ThingChangedUpdateRelationEventListener.java diff --git a/modules/thing/src/main/java/com/thing/event/ThingRelationDetailUpdateEvent.java b/modules/thing/src/main/java/com/thing/event/ThingRelationDetailUpdateEvent.java new file mode 100644 index 0000000..88fed56 --- /dev/null +++ b/modules/thing/src/main/java/com/thing/event/ThingRelationDetailUpdateEvent.java @@ -0,0 +1,25 @@ +package com.thing.event; + +import com.thing.thing.entity.entity.IotThingEntity; +import lombok.Getter; +import lombok.Setter; +import org.springframework.context.ApplicationEvent; + +import java.util.List; + +/** + * Author: SiYang + * Date: 2023/12/01 14:39 + * Description: 新增物关系子节点事件 + */ +@Getter +@Setter +public class ThingRelationDetailUpdateEvent extends ApplicationEvent { + + private List list; + + public ThingRelationDetailUpdateEvent(Object source, List list) { + super(source); + this.list = list; + } +} diff --git a/modules/thing/src/main/java/com/thing/listener/ThingChangedUpdateRelationEventListener.java b/modules/thing/src/main/java/com/thing/listener/ThingChangedUpdateRelationEventListener.java new file mode 100644 index 0000000..a6a70ab --- /dev/null +++ b/modules/thing/src/main/java/com/thing/listener/ThingChangedUpdateRelationEventListener.java @@ -0,0 +1,54 @@ +package com.thing.listener; + +import com.thing.common.cache.constants.CacheNameEnum; +import com.thing.event.ThingRelationDetailUpdateEvent; +import com.thing.thing.cache.service.ThingCache; +import com.thing.thing.entity.entity.IotThingEntity; +import com.thing.thing.relation.detail.entity.IotThingRelationDetailEntity; +import com.thing.thing.relation.detail.service.IotThingRelationDetailService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author siyang + * @date 2024/9/10 10:34 + * @description 物变更事件监听器 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class ThingChangedUpdateRelationEventListener { + + private final IotThingRelationDetailService thingRelationDetailService; + + private final ThingCache cache; + + @EventListener(ThingRelationDetailUpdateEvent.class) + public void onThingChangedEvent(ThingRelationDetailUpdateEvent event) { + List list = event.getList(); + for (IotThingEntity thing : list) { + List fromEntities = thingRelationDetailService.findByFromIdAndToId(thing.getId(),null); + if(CollectionUtils.isNotEmpty(fromEntities)){ + for (IotThingRelationDetailEntity entity : fromEntities) { + entity.setFromName(thing.getName()); + } + thingRelationDetailService.updateBatch(fromEntities); + } + + List toEntities = thingRelationDetailService.findByFromIdAndToId(null, thing.getId()); + + if(CollectionUtils.isNotEmpty(toEntities)){ + for (IotThingRelationDetailEntity entity : toEntities) { + entity.setToName(thing.getName()); + } + thingRelationDetailService.updateBatch(toEntities); + } + } + cache.clearTopic(CacheNameEnum.THING_DETAIL_RELATION); + } +} diff --git a/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java b/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java index d43b621..18a0d6e 100644 --- a/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java @@ -23,6 +23,7 @@ import com.thing.common.data.tskv.TsKvDTO; import com.thing.common.orm.service.impl.BaseServiceImpl; import com.thing.common.tskv.service.TsKvService; import com.thing.event.ThingChangedEvent; +import com.thing.event.ThingRelationDetailUpdateEvent; import com.thing.sys.biz.entity.SysDeptEntity; import com.thing.sys.biz.mapper.SysDeptMapper; import com.thing.sys.oss.cloud.OSSFactory; @@ -531,6 +532,7 @@ public class IotThingEntityServiceImpl extends BaseServiceImpl findByFromIdAndToId(Long fromId,Long toId); + List findByRootId(Long rootId); Long findByMaxSort(Long rootId); diff --git a/modules/thing/src/main/java/com/thing/thing/relation/detail/service/impl/IotThingRelationDetailServiceImpl.java b/modules/thing/src/main/java/com/thing/thing/relation/detail/service/impl/IotThingRelationDetailServiceImpl.java index adfd661..1cb9d58 100644 --- a/modules/thing/src/main/java/com/thing/thing/relation/detail/service/impl/IotThingRelationDetailServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/thing/relation/detail/service/impl/IotThingRelationDetailServiceImpl.java @@ -191,6 +191,13 @@ public class IotThingRelationDetailServiceImpl extends BaseServiceImpl findByFromIdAndToId(Long fromId, Long toId) { + return mapper.selectListByQuery(QueryWrapper.create() + .eq(IotThingRelationDetailEntity::getToId, toId,!Objects.isNull(toId)) + .eq(IotThingRelationDetailEntity::getFromId, fromId,!Objects.isNull(fromId))); + } + @Override public List findByRootId(Long rootId) { return mapper.selectListByQueryAs(QueryWrapper.create() From 376ffe80bd47f0075d4c62e5313ea59af435b72f Mon Sep 17 00:00:00 2001 From: xiachao Date: Thu, 12 Sep 2024 16:40:29 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=85=A5=20=20d?= =?UTF-8?q?ebug=20=E6=8C=89=E9=92=AE=E5=A4=B1=E6=95=88bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thing/carbon/pub/dto/CarbonPubProductionReportDTO.java | 7 +++++++ .../com/thing/carbon/pub/dto/CockpitProductionCarbon.java | 5 +++++ .../outbound/dto/IotCarbonOutboundConfigDTO.java | 5 +++++ .../productionRecord/dto/IotCarbonProductionRecordDTO.java | 7 +++++++ .../productionResult/dto/IotCarbonProductionResultDTO.java | 7 +++++++ .../report/dto/IotCarbonProductionReportDTO.java | 7 +++++++ .../thing/extend/dto/TransportExtendCalculationDTO.java | 2 ++ 7 files changed, 40 insertions(+) diff --git a/modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CarbonPubProductionReportDTO.java b/modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CarbonPubProductionReportDTO.java index 2918129..27e404d 100644 --- a/modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CarbonPubProductionReportDTO.java +++ b/modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CarbonPubProductionReportDTO.java @@ -1,5 +1,8 @@ package com.thing.carbon.pub.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.thing.common.core.utils.DateTimeUtils; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -37,8 +40,12 @@ public class CarbonPubProductionReportDTO implements Serializable { @Schema(description = "数据边界类型:1-自然月;2-自然年;3-自定义") private Integer boundaryType; @Schema(description = "数据边界开始时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date boundaryStart; @Schema(description = "数据边界结束时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date boundaryEnd; @Schema(description = "碳足迹值") private BigDecimal totalCarbon; diff --git a/modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CockpitProductionCarbon.java b/modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CockpitProductionCarbon.java index f543bc0..1840da0 100644 --- a/modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CockpitProductionCarbon.java +++ b/modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CockpitProductionCarbon.java @@ -1,5 +1,8 @@ package com.thing.carbon.pub.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.thing.common.core.utils.DateTimeUtils; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -28,5 +31,7 @@ public class CockpitProductionCarbon { private BigDecimal carbon; @Schema(description = "工单日期") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date prDate; } diff --git a/modules/carbon-track/src/main/java/com/thing/carbontrack/outbound/dto/IotCarbonOutboundConfigDTO.java b/modules/carbon-track/src/main/java/com/thing/carbontrack/outbound/dto/IotCarbonOutboundConfigDTO.java index 3065676..f4ea672 100644 --- a/modules/carbon-track/src/main/java/com/thing/carbontrack/outbound/dto/IotCarbonOutboundConfigDTO.java +++ b/modules/carbon-track/src/main/java/com/thing/carbontrack/outbound/dto/IotCarbonOutboundConfigDTO.java @@ -1,6 +1,9 @@ package com.thing.carbontrack.outbound.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; import com.thing.carbontrack.useConfig.dto.IotCarbonUseConfigDTO; +import com.thing.common.core.utils.DateTimeUtils; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -38,6 +41,8 @@ public class IotCarbonOutboundConfigDTO implements Serializable { @Schema(description = "出库数量") private Long num; @Schema(description = "出库时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date outboundTime; private List configDTOList; diff --git a/modules/carbon-track/src/main/java/com/thing/carbontrack/productionRecord/dto/IotCarbonProductionRecordDTO.java b/modules/carbon-track/src/main/java/com/thing/carbontrack/productionRecord/dto/IotCarbonProductionRecordDTO.java index 943d243..fbb8665 100644 --- a/modules/carbon-track/src/main/java/com/thing/carbontrack/productionRecord/dto/IotCarbonProductionRecordDTO.java +++ b/modules/carbon-track/src/main/java/com/thing/carbontrack/productionRecord/dto/IotCarbonProductionRecordDTO.java @@ -1,5 +1,8 @@ package com.thing.carbontrack.productionRecord.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.thing.common.core.utils.DateTimeUtils; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -29,8 +32,12 @@ public class IotCarbonProductionRecordDTO implements Serializable { @Schema(description = "生产车间") private String workName; @Schema(description = "生产开始时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date startTime; @Schema(description = "生产结束时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date endTime; @Schema(description = "生产数量") private Long pNum; diff --git a/modules/carbon-track/src/main/java/com/thing/carbontrack/productionResult/dto/IotCarbonProductionResultDTO.java b/modules/carbon-track/src/main/java/com/thing/carbontrack/productionResult/dto/IotCarbonProductionResultDTO.java index bc27def..1a34cfc 100644 --- a/modules/carbon-track/src/main/java/com/thing/carbontrack/productionResult/dto/IotCarbonProductionResultDTO.java +++ b/modules/carbon-track/src/main/java/com/thing/carbontrack/productionResult/dto/IotCarbonProductionResultDTO.java @@ -1,5 +1,8 @@ package com.thing.carbontrack.productionResult.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.thing.common.core.utils.DateTimeUtils; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -54,8 +57,12 @@ public class IotCarbonProductionResultDTO implements Serializable { @Schema(description = "产品核算边界 1.摇篮到大门,2摇篮到坟墓") private String boundary; @Schema(description = "工单开始时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date startTime; @Schema(description = "工单完工时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date finishTime; @Schema(description = "生产耗时") private Integer prDur; diff --git a/modules/carbon-track/src/main/java/com/thing/carbontrack/report/dto/IotCarbonProductionReportDTO.java b/modules/carbon-track/src/main/java/com/thing/carbontrack/report/dto/IotCarbonProductionReportDTO.java index 767efca..f522443 100644 --- a/modules/carbon-track/src/main/java/com/thing/carbontrack/report/dto/IotCarbonProductionReportDTO.java +++ b/modules/carbon-track/src/main/java/com/thing/carbontrack/report/dto/IotCarbonProductionReportDTO.java @@ -1,5 +1,8 @@ package com.thing.carbontrack.report.dto; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.thing.common.core.utils.DateTimeUtils; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -36,8 +39,12 @@ public class IotCarbonProductionReportDTO implements Serializable { @Schema(description = "数据边界类型:1-自然月;2-自然年;3-自定义") private Integer boundaryType; @Schema(description = "数据边界开始时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date boundaryStart; @Schema(description = "数据边界结束时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date boundaryEnd; @Schema(description = "报告有效期") private Long validEndTime; diff --git a/modules/thing/src/main/java/com/thing/extend/dto/TransportExtendCalculationDTO.java b/modules/thing/src/main/java/com/thing/extend/dto/TransportExtendCalculationDTO.java index cec3a30..3e124cb 100644 --- a/modules/thing/src/main/java/com/thing/extend/dto/TransportExtendCalculationDTO.java +++ b/modules/thing/src/main/java/com/thing/extend/dto/TransportExtendCalculationDTO.java @@ -56,6 +56,8 @@ public class TransportExtendCalculationDTO implements Serializable { @Schema(description = "是否在线") private Boolean online; @Schema(description = "更新时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) private Date lastDate; @Schema(description = "创建者") @JsonProperty(access = JsonProperty.Access.READ_ONLY) From e0896845a338aff24215a2cb2edde4a209818b84 Mon Sep 17 00:00:00 2001 From: xiachao Date: Thu, 12 Sep 2024 17:12:34 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=85=A5=20?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F=E9=94=99=E8=AF=AFbug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extend/dto/TransportExtendCalculationDTO.java | 12 +++++------- .../impl/TransportExtendCalculationServiceImpl.java | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/thing/src/main/java/com/thing/extend/dto/TransportExtendCalculationDTO.java b/modules/thing/src/main/java/com/thing/extend/dto/TransportExtendCalculationDTO.java index 3e124cb..63dfada 100644 --- a/modules/thing/src/main/java/com/thing/extend/dto/TransportExtendCalculationDTO.java +++ b/modules/thing/src/main/java/com/thing/extend/dto/TransportExtendCalculationDTO.java @@ -58,20 +58,18 @@ public class TransportExtendCalculationDTO implements Serializable { @Schema(description = "更新时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) - private Date lastDate; + private Long lastDate; @Schema(description = "创建者") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Long creator; @Schema(description = "创建时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) - private Date createDate; + + private Long createDate; @Schema(description = "更新者") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Long updater; @Schema(description = "更新时间") - @JsonProperty(access = JsonProperty.Access.READ_ONLY) - @JsonFormat(pattern = DateTimeUtils.DATE_TIME_PATTERN_STR) - private Date updateDate; + + private Long updateDate; } \ No newline at end of file diff --git a/modules/thing/src/main/java/com/thing/extend/service/impl/TransportExtendCalculationServiceImpl.java b/modules/thing/src/main/java/com/thing/extend/service/impl/TransportExtendCalculationServiceImpl.java index aab0318..d349dd8 100644 --- a/modules/thing/src/main/java/com/thing/extend/service/impl/TransportExtendCalculationServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/extend/service/impl/TransportExtendCalculationServiceImpl.java @@ -89,7 +89,7 @@ public class TransportExtendCalculationServiceImpl extends BaseServiceImpl Date: Thu, 12 Sep 2024 17:19:28 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=A1=A5=E5=8F=91=202024?= =?UTF-8?q?=E5=B9=B49=E6=9C=8812=E6=97=A517:19:26?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataReissueServiceImpl.java | 62 +++++++++---------- pom.xml | 30 ++++----- 2 files changed, 45 insertions(+), 47 deletions(-) diff --git a/modules/thing/src/main/java/com/thing/reissue/service/impl/DataReissueServiceImpl.java b/modules/thing/src/main/java/com/thing/reissue/service/impl/DataReissueServiceImpl.java index fbb0e48..b38dfa1 100644 --- a/modules/thing/src/main/java/com/thing/reissue/service/impl/DataReissueServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/reissue/service/impl/DataReissueServiceImpl.java @@ -28,6 +28,7 @@ import com.thing.thing.entity.dto.IotThingEntityDTO; import jakarta.annotation.Resource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.springframework.context.ApplicationEventPublisher; @@ -39,7 +40,7 @@ import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; import org.thingsboard.server.common.data.Device; import org.thingsboard.server.common.data.id.DeviceId; -import org.thingsboard.server.common.data.kv.TsKvEntry; +import org.thingsboard.server.common.data.kv.*; import java.util.*; import java.util.stream.Collectors; @@ -74,6 +75,9 @@ public class DataReissueServiceImpl extends BaseServiceImpl params) { String dashboardGroupId = (String) params.get("dashboardGroupId"); @@ -132,9 +136,8 @@ public class DataReissueServiceImpl extends BaseServiceImpl> longListMap = thingsAttributesList.stream().collect(Collectors.groupingBy(IotThingDictRelationParamDTO::getEntityId)); longListMap.forEach((k,v)->{ - boolean flag = true; - String limit = "100"; - while (flag){ + Long start = startTime; + while (start < endTime){ String entityCode = v.get(0).getEntityCode(); List keyList = v.stream().map(IotThingDictRelationParamDTO::getCode).collect(Collectors.toList()); HttpHeaders headers = new HttpHeaders(); @@ -147,25 +150,22 @@ public class DataReissueServiceImpl extends BaseServiceImpl> timeseries = getTskvtMap(responseEntity, token, dataReissueSettingDTO, keyList, startTime, endTime,limit); -// List tsKvEntries = RestJsonConverter.toTimeseries(timeseries); -// if(CollectionUtil.isNotEmpty(tsKvEntries)){ -// pushQueue(entityCode,tsKvEntries); -// -// }else{ -// flag = false; -// } + Map> timeseries = getTskvtMap(responseEntity, token, dataReissueSettingDTO, keyList, start, start+ONE_DAY); + if(MapUtils.isNotEmpty(timeseries)){ + pushQueue(entityCode,timeseries); + } + start += ONE_DAY; } }); } @Nullable private Map> getTskvtMap(ResponseEntity responseEntity, String token, DataReissueSettingDTO dataReissueSettingDTO, - List keyList, Long startTime, Long endTime,String limit) { + List keyList, Long startTime, Long endTime) { DeviceId deviceId = responseEntity.getBody().getId(); - HttpHeaders headers1 = new HttpHeaders(); - headers1.setContentType(MediaType.APPLICATION_JSON); - headers1.set("x-authorization","Bearer " + token); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.set("x-authorization","Bearer " + token); UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(dataReissueSettingDTO.getUrl()) .path("/api/plugins/telemetry/{entityType}/{entityId}/values/timeseries") .queryParam("keys", "{keys}") @@ -179,22 +179,21 @@ public class DataReissueServiceImpl extends BaseServiceImpl requestEntity = new HttpEntity<>(null , headers1); - + HttpEntity requestEntity = new HttpEntity<>(null , headers); Map> timeseries = restTemplate.exchange( uriComponents.toUri(), @@ -231,18 +230,17 @@ public class DataReissueServiceImpl extends BaseServiceImpl timeSeries) { - if (CollectionUtil.isEmpty(timeSeries)) { + private void pushQueue(String thingCode, Map> timeseries) { + if (MapUtils.isEmpty(timeseries)) { return ; } - List list = timeSeries.parallelStream() - .filter(tsKv -> Objects.nonNull(tsKv.getValue())) - .map(tsKv -> new TsKvDTO(thingCode, tsKv.getKey(), tsKv.getTs(), tsKv.getValueAsString())) - .toList(); - //send 队列 - publisher.publishEvent(new TsKvEvent(Topics.V1_TSKV_HISTORY.getValue(), TsKvDTO.toDataProtoList(list))); - + timeseries.forEach((key, values) -> { + if(!values.isEmpty()){ + List list = values.stream().map(ts -> new TsKvDTO(thingCode, key, ts.get("ts").asLong(), ts.get("value").asText())).toList(); + //send 队列 + publisher.publishEvent(new TsKvEvent(Topics.V1_TSKV_HISTORY.getValue(), TsKvDTO.toDataProtoList(list))); + } + }); } - } \ No newline at end of file diff --git a/pom.xml b/pom.xml index 2fa0276..4bd2e40 100644 --- a/pom.xml +++ b/pom.xml @@ -373,11 +373,11 @@ delight-nashorn-sandbox ${delight-nashorn-sandbox.version} - - org.thingsboard - tbel - ${tbel.version} - + + + + + com.github.rholder @@ -395,16 +395,16 @@ - - org.thingsboard.common - util - ${thingsboard.version} - - - org.thingsboard.common - data - ${thingsboard.version} - + + + + + + + + + + io.jsonwebtoken jjwt From 594d2de61e2cd0e7a72cafa3f27222896eea18a1 Mon Sep 17 00:00:00 2001 From: lishuai Date: Thu, 12 Sep 2024 17:20:44 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=A1=A5=E5=8F=91=202024?= =?UTF-8?q?=E5=B9=B49=E6=9C=8812=E6=97=A517:19:26?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index 4bd2e40..2fa0276 100644 --- a/pom.xml +++ b/pom.xml @@ -373,11 +373,11 @@ delight-nashorn-sandbox ${delight-nashorn-sandbox.version} - - - - - + + org.thingsboard + tbel + ${tbel.version} + com.github.rholder @@ -395,16 +395,16 @@ - - - - - - - - - - + + org.thingsboard.common + util + ${thingsboard.version} + + + org.thingsboard.common + data + ${thingsboard.version} + io.jsonwebtoken jjwt From 52a661d6bfafe5221afeb0e03c831a8b28e00bac Mon Sep 17 00:00:00 2001 From: xiachao Date: Fri, 13 Sep 2024 14:48:26 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E7=94=B1=E7=89=A9=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=EF=BC=8C=E6=8F=92=E5=85=A5=E7=89=A9=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E6=97=B6=EF=BC=8C=E6=A8=A1=E5=9E=8B=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thing/entity/service/impl/IotThingEntityServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java b/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java index 18a0d6e..c8349f4 100644 --- a/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/thing/entity/service/impl/IotThingEntityServiceImpl.java @@ -689,6 +689,7 @@ public class IotThingEntityServiceImpl extends BaseServiceImpl