From 16d50e1fd871b2306e7beb650463bc76263e5e98 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 28 七月 2026 10:03:30 +0800
Subject: [PATCH] fix: 异常图片上传、bug修改
---
src/main/java/com/ruoyi/safe/specialequipment/service/impl/SpecialEquipmentRecordServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 45 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/safe/specialequipment/service/impl/SpecialEquipmentRecordServiceImpl.java b/src/main/java/com/ruoyi/safe/specialequipment/service/impl/SpecialEquipmentRecordServiceImpl.java
index ade0335..2665625 100644
--- a/src/main/java/com/ruoyi/safe/specialequipment/service/impl/SpecialEquipmentRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/safe/specialequipment/service/impl/SpecialEquipmentRecordServiceImpl.java
@@ -1,7 +1,12 @@
package com.ruoyi.safe.specialequipment.service.impl;
+
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.StorageBlobVO;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
+import com.ruoyi.basic.utils.FileUtil;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.safe.specialequipment.mapper.SpecialEquipmentLedgerMapper;
import com.ruoyi.safe.specialequipment.mapper.SpecialEquipmentRecordMapper;
@@ -10,20 +15,30 @@
import com.ruoyi.safe.specialequipment.service.SpecialEquipmentRecordService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
+
import java.time.LocalDateTime;
+import java.util.Collections;
+import java.util.List;
+
@Service
@RequiredArgsConstructor
public class SpecialEquipmentRecordServiceImpl extends ServiceImpl<SpecialEquipmentRecordMapper, SpecialEquipmentRecord> implements SpecialEquipmentRecordService {
private final SpecialEquipmentRecordMapper mapper;
private final SpecialEquipmentLedgerMapper ledgerMapper;
+ private final FileUtil fileUtil;
- public IPage<SpecialEquipmentRecord> listPage(Page page, SpecialEquipmentRecord req) { return mapper.listPage(page, req); }
+ public IPage<SpecialEquipmentRecord> listPage(Page page, SpecialEquipmentRecord req) {
+ IPage<SpecialEquipmentRecord> result = mapper.listPage(page, req);
+ fillAttachments(result.getRecords());
+ return result;
+ }
public boolean save(SpecialEquipmentRecord entity) {
entity.setTenantId(SecurityUtils.getLoginUser().getTenantId());
entity.setCreateUser(SecurityUtils.getLoginUser().getUserId());
entity.setCreateTime(LocalDateTime.now());
boolean saved = super.save(entity);
+ syncAttachments(saved, entity);
syncLedgerDate(entity);
return saved;
}
@@ -31,6 +46,7 @@
@Override
public boolean updateById(SpecialEquipmentRecord entity) {
boolean updated = super.updateById(entity);
+ syncAttachments(updated, entity);
syncLedgerDate(entity);
return updated;
}
@@ -52,4 +68,32 @@
}
ledgerMapper.updateById(ledger);
}
+
+ private void syncAttachments(boolean success, SpecialEquipmentRecord entity) {
+ if (!success || entity == null || entity.getId() == null || entity.getStorageBlobDTOs() == null) {
+ return;
+ }
+ fileUtil.saveStorageAttachment(
+ ApplicationTypeEnum.FILE,
+ RecordTypeEnum.SPECIAL_EQUIPMENT_RECORD,
+ entity.getId(),
+ entity.getStorageBlobDTOs()
+ );
+ }
+
+ private void fillAttachments(List<SpecialEquipmentRecord> records) {
+ if (records == null || records.isEmpty()) {
+ return;
+ }
+ records.forEach(record -> {
+ if (record.getId() == null) {
+ return;
+ }
+ List<StorageBlobVO> attachments = fileUtil.getStorageBlobVOsByRecordTypeAndRecordId(
+ RecordTypeEnum.SPECIAL_EQUIPMENT_RECORD,
+ record.getId()
+ );
+ record.setStorageBlobVOs(attachments == null ? Collections.emptyList() : attachments);
+ });
+ }
}
--
Gitblit v1.9.3