From 05cdd44420314e280e555da766db53ae45f061b5 Mon Sep 17 00:00:00 2001 From: lishuai Date: Thu, 12 Sep 2024 15:08:50 +0800 Subject: [PATCH 1/3] =?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/3] =?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/3] =?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