From f2f77f203fd6b054197ecaba0517a159e8b3ac8f Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Mon, 30 Oct 2023 15:48:24 +0800 Subject: [PATCH] fix:补偿0问题修改 --- screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 53 insertions(+), 2 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java index 63915c5..4d17a57 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java @@ -5,6 +5,7 @@ import com.moral.api.exception.BusinessException; import com.moral.api.mapper.FileTableMapper; import com.moral.api.pojo.enums.FileType; +import com.moral.api.pojo.enums.YesOrNo; import com.moral.api.pojo.vo.file.FileVo; import com.moral.api.pojo.vo.user.QxUser; import com.moral.api.service.FileTableService; @@ -14,8 +15,12 @@ import com.moral.util.DateUtils; import lombok.extern.slf4j.Slf4j; import net.coobird.thumbnailator.Thumbnails; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -23,6 +28,7 @@ import java.io.*; import java.net.URLEncoder; import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -59,7 +65,7 @@ sysFile.setCreateId(user.getUserId()).setCreateName(user.getUserName()); } save(sysFile); - return new FileVo().setFileId(sysFile.getFileId()).setFileName(originalFilename); + return new FileVo().setFileId(sysFile.getFileId()).setFileName(originalFilename).setFileType(fileType.getValue()); } @Override @@ -95,7 +101,7 @@ } private String getFilePath(String sysCode) { - return sysCode.concat(StringUtils.SLASH).concat(StringUtils.SLASH).concat(DateUtils.dateToDateString(new Date(),DateUtils.yyyyMMdd_EN)).concat(StringUtils.SLASH); + return sysCode.concat(StringUtils.SLASH).concat(DateUtils.dateToDateString(new Date(),DateUtils.yyyyMMdd_EN)).concat(StringUtils.SLASH); } public void storageFile(MultipartFile file, String originalFilename, String targetFolder) { @@ -185,4 +191,49 @@ log.error("������������������!!! e={}", e.getMessage()); } } + + @Override + @Transactional + public void upDateResult(List<FileVo> list,int relationId,int fileModule) { + List<FileTable> existsList = this.lambdaQuery().eq(FileTable::getRelationId, relationId) + .eq(FileTable::getFileModule, fileModule) + .eq(FileTable::getIsDel, YesOrNo.NO.value).list(); + + // ������������ + if (!CollectionUtils.isEmpty(list)) { + List<FileTable> addList = new ArrayList(); + // 2.2.������������������������������ + list.forEach(it -> { + existsList.removeIf(file -> file.getFileId().equals(it.getFileId())); + FileTable file = new FileTable(); + BeanUtils.copyProperties(it,file); + file.setRelationId(relationId); + addList.add(file); + }); + if (!CollectionUtils.isEmpty(addList)) { + // ������ + this.updateBatchById(addList); + } + } + // ������������ + if (!CollectionUtils.isEmpty(existsList)) { + removeByIds(existsList.stream().map(FileTable::getFileId).collect(Collectors.toList())); + } + } + + @Override + public List<FileVo> list(int relationId, int fileModule) { + List<FileVo> list = new ArrayList<>(); + List<FileTable> existsList = this.lambdaQuery().eq(FileTable::getRelationId, relationId) + .eq(FileTable::getFileModule, fileModule) + .eq(FileTable::getIsDel, YesOrNo.NO.value).orderByAsc(FileTable::getCreateTime).list(); + existsList.forEach(it->{ + FileVo fileVo = new FileVo(); + fileVo.setFileId(it.getFileId()); + fileVo.setFileName(it.getFileName()); + fileVo.setFileType(it.getFileType()); + list.add(fileVo); + }); + return list; + } } -- Gitblit v1.8.0