From 3dd06e31d05a37dfa7a4af2b74a6f4b265081cc2 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期二, 07 四月 2026 14:16:42 +0800
Subject: [PATCH] feat(hr): 新增人员基本信息管理控制器

---
 febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 109 insertions(+), 4 deletions(-)

diff --git a/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java b/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java
index aee937c..9656734 100644
--- a/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java
+++ b/febs-common/febs-common-core/src/main/java/cc/mrbird/febs/common/core/utils/MyUtil.java
@@ -6,6 +6,8 @@
 import cn.hutool.core.lang.Dict;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.multipart.MultipartFile;
+import sun.misc.BASE64Decoder;
+
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -106,8 +108,8 @@
         if (file.getSize() <= 0) {
             throw new FebsException("上传的文件大小需要大于0kb");
         }
-        if (file.getSize() > 50 * 1024* 1024) {
-            throw new FebsException("上传的文件大于50M");
+        if (file.getSize() > 200 * 1024* 1024) {
+            throw new FebsException("上传的文件大于200M");
         }
         if (!FileUtil.exist(uploadPpath)) {
             FileUtil.mkdir(uploadPpath);
@@ -115,15 +117,118 @@
         //原本名字
         String fileName = file.getOriginalFilename();
         String suffix = "";
-        if (fileName.indexOf(".") > 0) {
+        if (fileName.lastIndexOf(".") > 0) {
             //后缀
-            suffix = fileName.substring(fileName.indexOf("."), fileName.length());
+            suffix = fileName.substring(fileName.lastIndexOf("."));
         }
         //生成新的名字
         String newName = nextIdStr + suffix;
         //上传
         file.transferTo(new File(uploadPpath + newName));
         return Dict.create().set("fileName",fileName).set("suffix",suffix).set("newName",newName);
+    }
 
+    public static Dict filesUpload(MultipartFile file, String uploadPpath) throws FebsException, IOException {
+        if (file.isEmpty()) {
+            throw new FebsException("上传的文件不能为空!请重新上传");
+        }
+        if (file.getSize() <= 0) {
+            throw new FebsException("上传的文件大小需要大于0kb");
+        }
+        if (file.getSize() > 200 * 1024* 1024) {
+            throw new FebsException("上传的文件大于200M");
+        }
+        if (!FileUtil.exist(uploadPpath)) {
+            FileUtil.mkdir(uploadPpath);
+        }
+        //原本名字
+        String fileName = file.getOriginalFilename();
+        String suffix = "";
+        if (fileName.lastIndexOf(".") > 0) {
+            //后缀
+            suffix = fileName.substring(fileName.lastIndexOf("."));
+        }
+        if(FileUtil.exist(uploadPpath + fileName)){
+            throw  new FebsException("文件已经存在");
+        }
+
+        //上传
+        file.transferTo(new File(uploadPpath + fileName));
+        return Dict.create().set("fileName",fileName).set("suffix",suffix);
+    }
+
+    /**
+     *      对字节数组字符串进行Base64解码并生成图片
+      */
+    public static boolean generateImage(String imgStr,String url) {
+        if (imgStr == null) {
+            // 图像数据为空
+            return false;
+        }
+        imgStr = imgStr.split(",")[1];
+                BASE64Decoder decoder = new BASE64Decoder();
+        try {
+            // Base64解码
+            byte[] b = decoder.decodeBuffer(imgStr);
+            for (int i = 0; i < b.length; ++i) {
+                // 调整异常数据
+                if (b[i] < 0) {
+                    b[i] += 256;
+                }
+            }
+            // 生成jpeg图片
+            String imgFilePath = url;
+            OutputStream out = new FileOutputStream(imgFilePath);
+            out.write(b);
+            out.flush();
+            out.close();
+            return true;
+        } catch (Exception e) {
+            return false;
+        }
+    }
+
+
+    /**
+     * 将base64字符串,生成文件
+     */
+    public static File convertBase64ToFile(String fileBase64String, String filePath, String fileName) {
+
+        BufferedOutputStream bos = null;
+        FileOutputStream fos = null;
+        File file = null;
+        try {
+            File dir = new File(filePath);
+            if (!dir.exists() && dir.isDirectory()) {//判断文件目录是否存在
+                dir.mkdirs();
+            }
+
+            BASE64Decoder decoder = new BASE64Decoder();
+            byte[] bfile = decoder.decodeBuffer(fileBase64String);
+
+            file = new File(filePath + File.separator + fileName);
+            fos = new FileOutputStream(file);
+            bos = new BufferedOutputStream(fos);
+            bos.write(bfile);
+            return file;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        } finally {
+            if (bos != null) {
+                try {
+                    bos.close();
+                } catch (IOException e1) {
+                    e1.printStackTrace();
+                }
+            }
+            if (fos != null) {
+                try {
+                    fos.close();
+                } catch (IOException e1) {
+                    e1.printStackTrace();
+                }
+            }
+        }
     }
 }

--
Gitblit v1.8.0