From ca8670386d774d200fcfc376bc191454dbe8cba8 Mon Sep 17 00:00:00 2001 From: junzhangfm Date: Thu, 26 Mar 2026 09:20:25 +0800 Subject: [PATCH] =?UTF-8?q?2026-03-26=E6=8F=90=E4=BA=A4=EF=BC=9A=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../grid/controller/DnerEventController.java | 2 +- .../power/grid/entity/AreaTreeReq.java | 3 ++- .../entity/DnerDailyPowerOutageEvent.java | 5 +++++ .../power/grid/service/DnerEventService.java | 8 +++++++ .../service/impl/DnerEventServiceImpl.java | 21 ++++++++++++++++--- .../grid/service/impl/FileServiceImpl.java | 16 +++++++------- 6 files changed, 42 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/southern/power/grid/controller/DnerEventController.java b/src/main/java/com/southern/power/grid/controller/DnerEventController.java index e7919ca..9d008ed 100644 --- a/src/main/java/com/southern/power/grid/controller/DnerEventController.java +++ b/src/main/java/com/southern/power/grid/controller/DnerEventController.java @@ -35,7 +35,7 @@ public class DnerEventController { */ @DeleteMapping("/delete/{id}") public Result delete(@PathVariable Long id) { - return Result.success(dnerEventService.removeById(id)); + return Result.success(dnerEventService.removeDataById(id)); } /** diff --git a/src/main/java/com/southern/power/grid/entity/AreaTreeReq.java b/src/main/java/com/southern/power/grid/entity/AreaTreeReq.java index fffcee1..2c5f93d 100644 --- a/src/main/java/com/southern/power/grid/entity/AreaTreeReq.java +++ b/src/main/java/com/southern/power/grid/entity/AreaTreeReq.java @@ -3,6 +3,7 @@ package com.southern.power.grid.entity; import lombok.Data; import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; /** * 区域树请求入参 @@ -19,7 +20,7 @@ public class AreaTreeReq { @NotBlank(message = "queryType can not be empty!") String queryType; - @NotBlank(message = "eventId can not be empty!") + @NotNull Long eventId; // ================= 用于高级筛选的属性 ==================== diff --git a/src/main/java/com/southern/power/grid/entity/DnerDailyPowerOutageEvent.java b/src/main/java/com/southern/power/grid/entity/DnerDailyPowerOutageEvent.java index 4e7c183..a731189 100644 --- a/src/main/java/com/southern/power/grid/entity/DnerDailyPowerOutageEvent.java +++ b/src/main/java/com/southern/power/grid/entity/DnerDailyPowerOutageEvent.java @@ -23,6 +23,11 @@ public class DnerDailyPowerOutageEvent { @TableId(type = IdType.AUTO) private Long id; + /** + * 事件ID + */ + private Long eventId; + /** * 地区编码 */ diff --git a/src/main/java/com/southern/power/grid/service/DnerEventService.java b/src/main/java/com/southern/power/grid/service/DnerEventService.java index 9f7a9aa..050787e 100644 --- a/src/main/java/com/southern/power/grid/service/DnerEventService.java +++ b/src/main/java/com/southern/power/grid/service/DnerEventService.java @@ -19,4 +19,12 @@ public interface DnerEventService extends IService { * @return 事件列表 */ List listVO(); + + /** + * 根据ID删除数据 + * + * @param id 事件ID + * @return 结果 + */ + Boolean removeDataById(Long id); } diff --git a/src/main/java/com/southern/power/grid/service/impl/DnerEventServiceImpl.java b/src/main/java/com/southern/power/grid/service/impl/DnerEventServiceImpl.java index 4647693..b931e46 100644 --- a/src/main/java/com/southern/power/grid/service/impl/DnerEventServiceImpl.java +++ b/src/main/java/com/southern/power/grid/service/impl/DnerEventServiceImpl.java @@ -1,18 +1,19 @@ package com.southern.power.grid.service.impl; import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.southern.power.grid.dao.DnerEventAttachmentMapper; import com.southern.power.grid.dao.DnerEventExportRecordMapper; import com.southern.power.grid.dao.DnerEventMapper; import com.southern.power.grid.entity.DnerEvent; +import com.southern.power.grid.entity.DnerEventAttachment; import com.southern.power.grid.entity.DnerEventExportRecord; import com.southern.power.grid.entity.DnerEventVO; import com.southern.power.grid.service.DnerEventService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -32,12 +33,15 @@ public class DnerEventServiceImpl extends ServiceImpl listVO() { List dnerEventVOS = dnerEventMapper.listVO(); if (!CollectionUtil.isEmpty(dnerEventVOS)) { List dnerEventExportRecords = dnerEventExportRecordMapper.selectList( - new QueryWrapper().in("event_id", + new LambdaQueryWrapper().in(DnerEventExportRecord::getEventId, dnerEventVOS.stream().map(DnerEventVO::getId).collect(Collectors.toList()))); // 结果按eventId分组获取map Map> groupMap = dnerEventExportRecords.stream().collect( @@ -52,4 +56,15 @@ public class DnerEventServiceImpl extends ServiceImpl dnerEventAttachments = dnerEventAttachmentMapper.selectList( + new LambdaQueryWrapper().eq(DnerEventAttachment::getEventId, id)); + + // 级联删除所有记录 + removeById(id); + return null; + } } diff --git a/src/main/java/com/southern/power/grid/service/impl/FileServiceImpl.java b/src/main/java/com/southern/power/grid/service/impl/FileServiceImpl.java index 74782f9..b551c75 100644 --- a/src/main/java/com/southern/power/grid/service/impl/FileServiceImpl.java +++ b/src/main/java/com/southern/power/grid/service/impl/FileServiceImpl.java @@ -1,7 +1,7 @@ package com.southern.power.grid.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.southern.power.grid.dao.DnerDailyPowerOutageEventMapper; import com.southern.power.grid.dao.DnerEventAttachmentMapper; import com.southern.power.grid.dao.DnerHourlyPowerOutageEventMapper; @@ -71,15 +71,15 @@ public class FileServiceImpl implements IFileService { record.setEventId(eventId); // 最新附件,其他附件设置为0 record.setIsLatest(1); - dnerEventAttachmentMapper.update(new UpdateWrapper().set("is_latest", 0) - .eq("event_id", eventId)); + dnerEventAttachmentMapper.update(new LambdaUpdateWrapper() + .set(DnerEventAttachment::getIsLatest, 0).eq(DnerEventAttachment::getEventId, eventId)); // 插入记录 dnerEventAttachmentMapper.insert(record); // 删除旧的分时图和K线图数据 - dnerHourlyPowerOutageEventMapper.delete( - new QueryWrapper().eq("event_id", eventId)); - dnerDailyPowerOutageEventMapper.delete( - new QueryWrapper().eq("event_id", eventId)); + dnerHourlyPowerOutageEventMapper.delete(new LambdaQueryWrapper() + .eq(DnerHourlyPowerOutageEvent::getEventId, eventId)); + dnerDailyPowerOutageEventMapper.delete(new LambdaQueryWrapper() + .eq(DnerDailyPowerOutageEvent::getEventId, eventId)); return record.getId(); } }