From eedb654f328face1860ebdb216e537adb26fef2a Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Wed, 19 Feb 2025 16:48:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/att/entity/AttDataDetailsBean.java | 11 +++++ .../service/AttendanceDetailsServiceImpl.java | 9 +++- .../bonus/system/file/dao/FileUploadDao.java | 36 ++++++++++++++ .../system/file/entity/FileSourceVo.java | 2 +- .../com/bonus/system/file/util/FileUtils.java | 47 +++++++++++++++++++ .../mapper/file/FileUploadMapper.xml | 33 +++++++++++++ 6 files changed, 135 insertions(+), 3 deletions(-) create mode 100644 bonus-modules/bonus-system/src/main/java/com/bonus/system/file/dao/FileUploadDao.java create mode 100644 bonus-modules/bonus-system/src/main/java/com/bonus/system/file/util/FileUtils.java create mode 100644 bonus-modules/bonus-system/src/main/resources/mapper/file/FileUploadMapper.xml diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java index 5d6b056..162d038 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java @@ -238,6 +238,17 @@ public class AttDataDetailsBean { private String attendType; private String attStatusToday; + /**上班附件/下班附件*/ + private List filesVoList; + + @Data + public static class FilesVo{ + /**文件名称*/ + private String fileName; + private String filePath; + private String attType; + } + public AttDataDetailsBean() { } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java index 83a44c8..7d43d1b 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java @@ -13,6 +13,7 @@ import com.bonus.system.att.tasks.WechatTasks; import com.bonus.system.basic.domain.SysNotice; import com.bonus.system.basic.service.SysNoticeService; import com.bonus.system.dept.dao.ProDeptRoleDao; +import com.bonus.system.file.service.FileUploadService; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -48,9 +49,13 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService { @Resource private SysNoticeService noticeService; + @Resource(name = "FileUploadService") + private FileUploadService fileUploadService; + @Override public List selectAttDetailsList(AttDataDetailsBean bean) { - return attendanceDetailsDao.selectAttDetailsList(bean); + List list = attendanceDetailsDao.selectAttDetailsList(bean); + return list; } @Override @@ -72,7 +77,7 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService { @Override public int updateAttDetailsData(List list) { int i = attendanceDetailsDao.updateAttDetailsData(list); - + fileUploadService.saveAttUpdateFileSource(list); if (i > 0) { Long userId = SecurityUtils.getLoginUser().getSysUser().getUserId(); List orgList = new ArrayList<>(); diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/dao/FileUploadDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/dao/FileUploadDao.java new file mode 100644 index 0000000..53691f3 --- /dev/null +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/dao/FileUploadDao.java @@ -0,0 +1,36 @@ +package com.bonus.system.file.dao; + +import com.bonus.system.file.entity.FileSourceVo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @className:FileUploadDao + * @author:cwchen + * @date:2025-02-19-14:48 + * @version:1.0 + * @description:文件上传 + */ +@Repository(value = "FileUploadDao") +public interface FileUploadDao { + + /** + * 新增资源文件 + * @param list + * @return void + * @author cwchen + * @date 2025/2/19 15:15 + */ + void addFileResource(List list); + + /** + * 删除资源文件 + * @param list + * @return void + * @author cwchen + * @date 2025/2/19 15:16 + */ + void delFileResource(@Param("list") List list,@Param("sourceType") int sourceType); +} diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/entity/FileSourceVo.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/entity/FileSourceVo.java index 2bfeab3..c1922c1 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/entity/FileSourceVo.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/entity/FileSourceVo.java @@ -31,7 +31,7 @@ public class FileSourceVo { /** * 文件类型 1图片 2文件 */ - private String fileType; + private int fileType; /** * 资源id */ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/util/FileUtils.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/util/FileUtils.java new file mode 100644 index 0000000..7e9a50d --- /dev/null +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/file/util/FileUtils.java @@ -0,0 +1,47 @@ +package com.bonus.system.file.util; + +/** + * @className:FileUtils + * @author:cwchen + * @date:2025-02-19-15:27 + * @version:1.0 + * @description:文件工具类 + */ +public class FileUtils { + + /** + * 获取文件后缀 + * @param fileName + * @return String + * @author cwchen + * @date 2025/2/19 15:27 + */ + public static String getFileExtension(String fileName) { + if (fileName == null) { + return null; + } + int lastDotIndex = fileName.lastIndexOf('.'); + if (lastDotIndex == -1) { + // 没有后缀 + return ""; + } + return fileName.substring(lastDotIndex + 1); + } + + public static int getFileType(String fileName) { + if (fileName == null) { + return 2; // 默认返回文件类型 + } + // 获取文件后缀 + String fileExtension = getFileExtension(fileName).toLowerCase(); + // 常见图片后缀 + String[] imageExtensions = {"jpg", "jpeg", "png", "gif", "bmp", "webp"}; + // 判断是否是图片 + for (String ext : imageExtensions) { + if (ext.equals(fileExtension)) { + return 1; // 图片类型 + } + } + return 2; // 其他文件类型 + } +} diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/file/FileUploadMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/file/FileUploadMapper.xml new file mode 100644 index 0000000..1477d54 --- /dev/null +++ b/bonus-modules/bonus-system/src/main/resources/mapper/file/FileUploadMapper.xml @@ -0,0 +1,33 @@ + + + + + + + INSERT INTO sys_file_source(file_name, file_suffix, file_path, + file_type, source_id, source_type, + create_user, update_user) VALUES + + ( + #{item.fileName}, + #{item.fileSuffix}, + #{item.filePath}, + #{item.fileType}, + #{item.sourceId}, + #{item.sourceType}, + #{item.createUser}, + #{item.updateUser} + ) + + + + + UPDATE sys_file_source SET del_flag = 0 WHERE source_id IN ( + + #{item} + + ) AND source_type = #{sourceType} + + \ No newline at end of file