package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.api.vo.FileUploadResult; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.util.FileUtil; import org.jeecg.modules.eam.entity.EamSysFiles; import org.jeecg.modules.eam.mapper.EamSysFilesMapper; import org.jeecg.modules.eam.request.EamSysFilesRequest; import org.jeecg.modules.eam.service.IEamSysFilesService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * @Description: 设备附件管理 * @Author: jeecg-boot * @Date: 2025-03-17 * @Version: V1.0 */ @Service public class EamSysFilesServiceImpl extends ServiceImpl implements IEamSysFilesService { @Resource private EamSysFilesMapper eamSysFilesMapper; @Override public void downloadFile(HttpServletResponse response, EamSysFiles entity) { FileUtil.downLoadFile(response, entity.getFilePath(), entity.getFileName()); } @Override public FileUploadResult uploadFile(MultipartFile file) { return FileUtil.uploadFile(file); } @Override @Transactional(rollbackFor = Exception.class) public boolean saveEamSysFiles(EamSysFilesRequest request) { if (request == null || CollectionUtil.isEmpty(request.getFileList())) { return false; } List resultList = new ArrayList<>(); for (FileUploadResult fileUploadResult : request.getFileList()) { EamSysFiles eamSysFiles = this.getByPath(fileUploadResult.getFilePath()); if (eamSysFiles == null) { continue; } eamSysFiles.setDescription(request.getDescription()); resultList.add(eamSysFiles); } return this.updateBatchById(resultList); } @Override public EamSysFiles getByPath(String path) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EamSysFiles::getFileEncodeName, path); List list = eamSysFilesMapper.selectList(queryWrapper); if (CollectionUtil.isEmpty(list)) { return null; } return list.get(0); } }