2026-03-26提交:修改部分代码

This commit is contained in:
junzhangfm 2026-03-26 09:20:25 +08:00
parent 1f8bca3de2
commit ca8670386d
6 changed files with 42 additions and 13 deletions

View File

@ -35,7 +35,7 @@ public class DnerEventController {
*/
@DeleteMapping("/delete/{id}")
public Result<Boolean> delete(@PathVariable Long id) {
return Result.success(dnerEventService.removeById(id));
return Result.success(dnerEventService.removeDataById(id));
}
/**

View File

@ -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;
// ================= 用于高级筛选的属性 ====================

View File

@ -23,6 +23,11 @@ public class DnerDailyPowerOutageEvent {
@TableId(type = IdType.AUTO)
private Long id;
/**
* 事件ID
*/
private Long eventId;
/**
* 地区编码
*/

View File

@ -19,4 +19,12 @@ public interface DnerEventService extends IService<DnerEvent> {
* @return 事件列表
*/
List<DnerEventVO> listVO();
/**
* 根据ID删除数据
*
* @param id 事件ID
* @return 结果
*/
Boolean removeDataById(Long id);
}

View File

@ -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<DnerEventMapper, DnerEvent
@Autowired
private DnerEventExportRecordMapper dnerEventExportRecordMapper;
@Autowired
private DnerEventAttachmentMapper dnerEventAttachmentMapper;
@Override
public List<DnerEventVO> listVO() {
List<DnerEventVO> dnerEventVOS = dnerEventMapper.listVO();
if (!CollectionUtil.isEmpty(dnerEventVOS)) {
List<DnerEventExportRecord> dnerEventExportRecords = dnerEventExportRecordMapper.selectList(
new QueryWrapper<DnerEventExportRecord>().in("event_id",
new LambdaQueryWrapper<DnerEventExportRecord>().in(DnerEventExportRecord::getEventId,
dnerEventVOS.stream().map(DnerEventVO::getId).collect(Collectors.toList())));
// 结果按eventId分组获取map
Map<Long, List<DnerEventExportRecord>> groupMap = dnerEventExportRecords.stream().collect(
@ -52,4 +56,15 @@ public class DnerEventServiceImpl extends ServiceImpl<DnerEventMapper, DnerEvent
}
return dnerEventVOS;
}
@Override
public Boolean removeDataById(Long id) {
// 根据事件ID查询事件的所有附件
List<DnerEventAttachment> dnerEventAttachments = dnerEventAttachmentMapper.selectList(
new LambdaQueryWrapper<DnerEventAttachment>().eq(DnerEventAttachment::getEventId, id));
// 级联删除所有记录
removeById(id);
return null;
}
}

View File

@ -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<DnerEventAttachment>().set("is_latest", 0)
.eq("event_id", eventId));
dnerEventAttachmentMapper.update(new LambdaUpdateWrapper<DnerEventAttachment>()
.set(DnerEventAttachment::getIsLatest, 0).eq(DnerEventAttachment::getEventId, eventId));
// 插入记录
dnerEventAttachmentMapper.insert(record);
// 删除旧的分时图和K线图数据
dnerHourlyPowerOutageEventMapper.delete(
new QueryWrapper<DnerHourlyPowerOutageEvent>().eq("event_id", eventId));
dnerDailyPowerOutageEventMapper.delete(
new QueryWrapper<DnerDailyPowerOutageEvent>().eq("event_id", eventId));
dnerHourlyPowerOutageEventMapper.delete(new LambdaQueryWrapper<DnerHourlyPowerOutageEvent>()
.eq(DnerHourlyPowerOutageEvent::getEventId, eventId));
dnerDailyPowerOutageEventMapper.delete(new LambdaQueryWrapper<DnerDailyPowerOutageEvent>()
.eq(DnerDailyPowerOutageEvent::getEventId, eventId));
return record.getId();
}
}