From eb5c93cb8189ead19c53fb307d55ba477323fe4e Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 8 Aug 2025 10:01:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=8F=98=E6=9B=B4=E6=B5=81?= =?UTF-8?q?=E7=A8=8B-=E9=99=84=E4=BB=B6=E5=90=8D=E7=A7=B0=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../action/FormatChangeFilesAction.java | 124 ++++++++++++++++++ .../employee/mapper/FormatChangeMapper.java | 19 +++ .../employee/action/FormatChangeMapper.xml | 14 ++ 3 files changed, 157 insertions(+) create mode 100644 src/main/java/com/weaver/seconddev/employee/action/FormatChangeFilesAction.java create mode 100644 src/main/java/com/weaver/seconddev/employee/mapper/FormatChangeMapper.java create mode 100644 src/main/resources/mapper/employee/action/FormatChangeMapper.xml diff --git a/src/main/java/com/weaver/seconddev/employee/action/FormatChangeFilesAction.java b/src/main/java/com/weaver/seconddev/employee/action/FormatChangeFilesAction.java new file mode 100644 index 0000000..b3313f0 --- /dev/null +++ b/src/main/java/com/weaver/seconddev/employee/action/FormatChangeFilesAction.java @@ -0,0 +1,124 @@ +package com.weaver.seconddev.employee.action; + +import cn.hutool.core.convert.Convert; +import com.alibaba.fastjson.JSON; +import com.weaver.common.base.entity.result.WeaResult; +import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface; +import com.weaver.eteams.file.client.file.FileObj; +import com.weaver.eteams.file.client.remote.FileClientService; +import com.weaver.seconddev.employee.mapper.FormatChangeMapper; +import com.weaver.seconddev.portal.entity.param.BaseParam; +import com.weaver.seconddev.portal.util.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2025/08/08 + * @version: 1.0 + */ +@Slf4j +@Service("FormatChangeFilesAction") +public class FormatChangeFilesAction implements EsbServerlessRpcRemoteInterface { + + @Autowired + FormatChangeMapper formatEntryFilesMapper; + + @Autowired + FileClientService fileClientService; + + @Override + public WeaResult> execute(Map params) { + log.error("params=>:{}", params); + Long rzjlid = Convert.toLong(params.get("rzjlid")); + log.error("rzjlid=>:{}", rzjlid); + if (null == rzjlid) { + return WeaResult.success(); + } + // 查询入职管理表数据信息 + BaseParam baseParam = new BaseParam(); + Map entryRecord = formatEntryFilesMapper.getChangeRecord(baseParam, rzjlid); + if (entryRecord.isEmpty()) { + log.error("entryRecord is null,{}", params); + return WeaResult.success(); + } + log.error("entryRecord=>:{}", JSON.toJSONString(entryRecord)); + String username = Convert.toStr(entryRecord.get("username")); + String jobNum = Convert.toStr(entryRecord.get("job_num")); + log.error("userName=={}", username); + log.error("jobNum=={}", jobNum); + if (StringUtils.isBlank(jobNum)) { + log.error("jobNum is null,{}", params); + return WeaResult.success(); + } + + String prefix = username + "-" + jobNum; + renameFile(Convert.toStr(entryRecord.get("sfzzpzfm")), prefix, "身份证正面"); + renameFile(Convert.toStr(entryRecord.get("sfzfmghm")), prefix, "身份证反面"); + renameFile(Convert.toStr(entryRecord.get("hzzp")), prefix, "护照"); + renameFile(Convert.toStr(entryRecord.get("zgxlbyzszp")), prefix, "学历证明"); + renameFile(Convert.toStr(entryRecord.get("xxzbs")), prefix, "半身形象照"); + renameFile(Convert.toStr(entryRecord.get("czycbdz")), prefix, "寸照"); + renameFile(Convert.toStr(entryRecord.get("yxkzm")), prefix, "银行卡"); + renameFile(Convert.toStr(entryRecord.get("tjbg")), prefix, "体检报告"); + renameFile(Convert.toStr(entryRecord.get("jkz")), prefix, "健康证"); + renameFile(Convert.toStr(entryRecord.get("sjdwlzzm")), prefix, "离职证明"); + renameFile(Convert.toStr(entryRecord.get("qtfj")), prefix, "其他附件"); + + + return WeaResult.success(params); + } + + + /** + * 重命名文件 + * + * @param fileIds 文件ID + * @param prefix 前缀 + * @param fileName 文件名 + */ + private void renameFile(String fileIds, String prefix, String fileName) { + if (StringUtils.isBlank(fileIds)) { + return; + } + + int index = 1; + String[] split = fileIds.split(","); + if (split.length > 0) { + for (String s : split) { + Long fileId = Convert.toLong(s); + if (null == fileId) { + log.error("fileId is null,{}", s); + continue; + } + FileObj fileObj = fileClientService.get(fileId); + if (null == fileObj) { + log.error("fileObj is null,{}", fileId); + continue; + } + Date uploadTime = fileObj.getUploadTime(); + LocalDateTime localDate = DateUtil.toLocalDateTime(uploadTime); + if (null == localDate) { + localDate = DateUtil.toLocalDateTime(new Date()); + } + String formatDate = DateUtil.formatDateTime(localDate, DateTimeFormatter.ofPattern("yyyyMMddHHmm")); + int lastDotIndex = fileName.lastIndexOf("."); + String suffix = fileName.substring(lastDotIndex); + String fileNameWithoutSuffix = fileName.substring(0, lastDotIndex); + String newFileName = prefix + "-" + fileNameWithoutSuffix + "-" + formatDate + suffix; + fileObj.setName(newFileName); + fileClientService.update(fileObj); + } + } + + } + + +} diff --git a/src/main/java/com/weaver/seconddev/employee/mapper/FormatChangeMapper.java b/src/main/java/com/weaver/seconddev/employee/mapper/FormatChangeMapper.java new file mode 100644 index 0000000..7e62a9a --- /dev/null +++ b/src/main/java/com/weaver/seconddev/employee/mapper/FormatChangeMapper.java @@ -0,0 +1,19 @@ +package com.weaver.seconddev.employee.mapper; + +import com.weaver.seconddev.portal.entity.param.BaseParam; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2025/08/08 + * @version: 1.0 + */ +@Mapper +public interface FormatChangeMapper { + + Map getChangeRecord(@Param("param") BaseParam param, @Param("id") Long id); + +} diff --git a/src/main/resources/mapper/employee/action/FormatChangeMapper.xml b/src/main/resources/mapper/employee/action/FormatChangeMapper.xml new file mode 100644 index 0000000..a7f3d52 --- /dev/null +++ b/src/main/resources/mapper/employee/action/FormatChangeMapper.xml @@ -0,0 +1,14 @@ + + + + + + +