diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/service/FileUploadService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/service/FileUploadService.java index 5d0a838..0ec3637 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/service/FileUploadService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/service/FileUploadService.java @@ -1,5 +1,9 @@ package com.bonus.system.file.service; +import com.bonus.system.att.entity.AttDataDetailsBean; + +import java.util.List; + /** * @className:FileUploadService * @author:cwchen @@ -7,5 +11,13 @@ package com.bonus.system.file.service; * @version:1.0 * @description:文件上传 */ -public class FileUploadService { +public interface FileUploadService { + /** + * 保存考勤修改记录上班文件 + * @param list + * @return void + * @author cwchen + * @date 2025/2/19 14:14 + */ + void saveAttUpdateFileSource(List list); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/service/FileUploadServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/service/FileUploadServiceImpl.java index e50f4c4..5e9ec80 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/service/FileUploadServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/service/FileUploadServiceImpl.java @@ -1,13 +1,24 @@ package com.bonus.system.file.service; import com.bonus.common.core.utils.DateTimeHelper; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.system.att.entity.AttDataDetailsBean; +import com.bonus.system.file.dao.FileUploadDao; +import com.bonus.system.file.entity.FileSourceVo; +import com.bonus.system.file.util.FileUtils; import com.bonus.system.file.util.IDUtils; import com.bonus.system.file.util.SystemUtils; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.io.File; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -20,7 +31,50 @@ import java.util.Map; * @description:文件上传-业务层 */ @Service(value = "FileUploadService") -public class FileUploadServiceImpl { +@Slf4j +public class FileUploadServiceImpl implements FileUploadService{ + + @Resource(name = "FileUploadDao") + private FileUploadDao dao; + @Override + @Transactional(rollbackFor = Exception.class) + public void saveAttUpdateFileSource(List list) { + try { + List fileSourceVoList = new ArrayList<>(); + List delFileList = new ArrayList<>(); + for (AttDataDetailsBean bean : list) { + List filesVo = bean.getFilesVoList(); + if(CollectionUtils.isNotEmpty(filesVo)){ + for (AttDataDetailsBean.FilesVo vo : filesVo) { + FileSourceVo fileSourceVo = new FileSourceVo(); + fileSourceVo.setFileName(vo.getFileName()); + fileSourceVo.setFileSuffix(FileUtils.getFileExtension(vo.getFileName())); + fileSourceVo.setFilePath(vo.getFilePath()); + fileSourceVo.setFileType(FileUtils.getFileType(vo.getFileName())); + fileSourceVo.setSourceId(bean.getUserId()+"@"+bean.getAttCurrentDay()+"@"+vo.getAttType()); + fileSourceVo.setCreateUser(SecurityUtils.getUserId()); + fileSourceVo.setUpdateUser(SecurityUtils.getUserId()); + // 更新图片ID + delFileList.add(bean.getUserId()+"@"+bean.getAttCurrentDay()+"@"+vo.getAttType()); + fileSourceVoList.add(fileSourceVo); + } + } + } + delFileResource(delFileList,1); + addFileResource(fileSourceVoList); + } catch (Exception e) { + log.error(e.toString(),e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + + public void addFileResource(List list){ + dao.addFileResource(list); + } + + public void delFileResource(List list,int sourceType){ + dao.delFileResource(list,sourceType); + } }