From c6ef8fb06f8f75ece7e4d6669af01bebb051d217 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期六, 03 六月 2023 17:20:56 +0800 Subject: [PATCH] 优化巡检 --- ard-work/src/main/java/com/ruoyi/constant/Global.java | 18 +++ ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java | 16 -- ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java | 18 +++ ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml | 2 ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java | 158 ++++++++++++++----------------- ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 53 +++++++--- ard-work/src/main/resources/mapper/inspect/ArdVideoInspectRecordMapper.xml | 1 7 files changed, 147 insertions(+), 119 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/constant/Global.java b/ard-work/src/main/java/com/ruoyi/constant/Global.java new file mode 100644 index 0000000..dae57c1 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/constant/Global.java @@ -0,0 +1,18 @@ +package com.ruoyi.constant; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 鍏ㄥ眬绫� + * @ClassName: Global + * @Author: 鍒樿嫃涔� + * @Date: 2023骞�06鏈�03鏃�10:30 + * @Version: 1.0 + **/ +public class Global { + + public static List<String> task_record=new ArrayList<>(); +} diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java index aaf30b3..0d5e498 100644 --- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/service/impl/HikClientServiceImpl.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.constant.sdkPriority; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; @@ -1302,15 +1303,13 @@ return; } Integer userId = GlobalVariable.loginMap.get(cameraId); - String path = ""; //寮哄埗I甯х粨鏋勪綋瀵硅薄 HCNetSDK.NET_DVR_I_FRAME netDvrIFrame = new HCNetSDK.NET_DVR_I_FRAME(); //鏂板缓缁撴瀯浣撳璞� netDvrIFrame.read(); - netDvrIFrame.dwChannel = channelNum; //鍥犱负涓婃枃浠g爜涓缃簡閫氶亾鍙凤紝鎸夌収涓婃枃涓殑璁剧疆 + netDvrIFrame.dwChannel = channelNum;//鍥犱负涓婃枃浠g爜涓缃簡閫氶亾鍙凤紝鎸夌収涓婃枃涓殑璁剧疆 netDvrIFrame.byStreamType = 0; netDvrIFrame.dwSize = netDvrIFrame.size(); netDvrIFrame.write(); - if(!hCNetSDK.NET_DVR_RemoteControl(userId,3402,netDvrIFrame.getPointer(),netDvrIFrame.dwSize)){ log.error("寮哄埗I甯� 閿欒鐮佷负: " + hCNetSDK.NET_DVR_GetLastError()); } @@ -1333,15 +1332,8 @@ return; } log.info("鍙栨祦鎴愬姛"); - File file = new File("D:/recordTemp/" + cameraId + ".mp4"); - if (!file.exists()) { - File fileParent = file.getParentFile(); - if (!fileParent.exists()) { - fileParent.mkdirs(); - } - file.createNewFile(); - } - path = file.getCanonicalPath(); + + String path= FileUtils.createFile("D:/recordTemp/" + cameraId + ".mp4"); recordInfo info = new recordInfo(); info.setLRealHandle(lRealHandle); info.setRecordPath(path); diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java index aecf1ad..4116465 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java @@ -5,6 +5,7 @@ import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.constant.Global; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.mapper.ArdCamerasMapper; @@ -13,6 +14,7 @@ import com.ruoyi.inspect.domain.ArdVideoInspectRecord; import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper; import com.ruoyi.inspect.mapper.ArdVideoInspectTaskStepMapper; +import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import com.ruoyi.common.utils.StringUtils; @@ -51,12 +53,14 @@ @PostConstruct public void initTask() { List<ArdVideoInspectTask> ardVideoInspectTasks = ardVideoInspectTaskMapper.selectArdVideoInspectTaskList(new ArdVideoInspectTask()); - /*鍚姩鍚庡皢鎵�鏈夋墜鍔ㄤ换鍔$疆涓哄叧闂�*/ for (ArdVideoInspectTask ardVideoInspectTask : ardVideoInspectTasks) { + /*鍚姩鍚庡皢鎵�鏈夋墜鍔ㄤ换鍔$疆涓哄叧闂�,鎵�鏈変换鍔″綋鍓嶆楠や俊鎭竻绌�*/ if (ardVideoInspectTask.getInspectMode().equals("鎵嬪姩")) { ardVideoInspectTask.setMenualSwitch("鍏�"); - ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); } + ardVideoInspectTask.setCurrentStepId(""); + ardVideoInspectTask.setCurrentStepStartTime(""); + ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); } } @@ -325,6 +329,22 @@ } } } else { + if(Global.task_record.contains(videoInspectTask.getId())) + { + /*鍋滄褰曞儚*/ + CameraCmd cmd = new CameraCmd(); + cmd.setCameraId(videoInspectTask.getCameraId()); + cmd.setChannelNum(videoInspectTask.getChannel()); + cmd.setOperator("sys_patrol_inspect"); + cmd.setEnable(false);//鍋滄褰曞儚 + String uuid = UUID.randomUUID().toString().replace("-", ""); + String time = new SimpleDateFormat("yyyyMMdd").format(new Date()); + String recordName = videoInspectTask.getCameraId() + "/" + time + "/" + uuid + ".mp4"; + cmd.setRecordBucketName("record"); + cmd.setRecordObjectName(recordName); + cmd.setUploadMinio(true); + hikClientService.recordToMinio(cmd); + } if (StringUtils.isEmpty(videoInspectTask.getCurrentStepId()) || StringUtils.isEmpty(videoInspectTask.getCurrentStepStartTime())) { continue; } @@ -429,25 +449,24 @@ cmd.setExpired(step.getRecordingTime()); boolean setTargetPosition = hikClientService.setTargetPosition(cmd); if (setTargetPosition) { - /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/ - cmd.setEnable(true);//鍚姩褰曞儚 - hikClientService.recordToMinio(cmd); + if(!Global.task_record.contains(ardVideoInspectTask.getId())) + { + /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/ + cmd.setEnable(true);//鍚姩褰曞儚 + hikClientService.recordToMinio(cmd); + Global.task_record.add(ardVideoInspectTask.getId()); + } /*鏇存柊浠诲姟褰撳墠姝ラid鍜屾楠ゅ惎鍔ㄦ椂闂�*/ - ArdVideoInspectTask avit = new ArdVideoInspectTask(); - avit.setId(ardVideoInspectTask.getId()); - avit.setCurrentStepId(step.getId()); - avit.setCurrentStepStartTime(DateUtils.getTime()); - ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit); + ardVideoInspectTask.setCurrentStepId(step.getId()); + ardVideoInspectTask.setCurrentStepStartTime(DateUtils.getTime()); + ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); } else { cmd.setEnable(false);//鍋滄褰曞儚 cmd.setUploadMinio(true); hikClientService.recordToMinio(cmd); /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/ - ArdVideoInspectTask avit = new ArdVideoInspectTask(); - avit.setId(ardVideoInspectTask.getId()); - avit.setCurrentStepId(step.getId()); - avit.setCurrentStepStartTime(""); - ardVideoInspectTaskMapper.updateArdVideoInspectTask(avit); + ardVideoInspectTask.setCurrentStepStartTime(""); + ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); } } } @@ -455,7 +474,6 @@ log.error("宸℃寮�濮嬪紓甯革細" + ex.getMessage()); } } - //姝ラ鍋滄 private void stopRunStep(ArdVideoInspectTask ardVideoInspectTask) { try { @@ -486,6 +504,7 @@ cmd.setRecordObjectName(recordName); cmd.setUploadMinio(true); hikClientService.recordToMinio(cmd); + Global.task_record.remove(ardVideoInspectTask.getId()); /*鎻掑叆宸℃璁板綍*/ ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord(); ardVideoInspectRecord.setStepId(step.getId()); @@ -603,4 +622,4 @@ return timeList; } -} +} \ No newline at end of file diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java index 9ee0e03..61ef513 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/InspectionTaskManager.java @@ -1,5 +1,6 @@ package com.ruoyi.inspect.service.impl; +import com.ruoyi.constant.Global; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.hiksdk.common.GlobalVariable; import com.ruoyi.device.hiksdk.service.IHikClientService; @@ -53,7 +54,21 @@ ardVideoInspectTask.setCurrentStepId(""); ardVideoInspectTask.setCurrentStepStartTime(""); ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask); - + /*灏嗗叧鑱旂殑鐩告満褰曞儚鍏抽棴*/ + if( Global.task_record.contains(taskId)) + { +// Integer userId = GlobalVariable.loginMap.get(ardVideoInspectTask.getCameraId());//鑾峰彇褰撳墠鐩告満鐨勭櫥褰旾D +// if( GlobalVariable.user_real_Map.containsKey(userId)) +// { //褰撳墠鐩告満姝e湪褰曞儚锛屽垯鍋滄褰曞儚 +// CameraCmd cmd = new CameraCmd(); +// cmd.setCameraId(ardVideoInspectTask.getCameraId()); +// cmd.setChannelNum(ardVideoInspectTask.getChannel()); +// cmd.setEnable(false);//鍋滄褰曞儚 +// cmd.setUploadMinio(false); +// hikClientService.recordToMinio(cmd); +// } + Global.task_record.remove(taskId); + } InspectionTask task = new InspectionTask(taskId); task.start(); taskMap.put(taskId, task); @@ -76,6 +91,7 @@ cmd.setEnable(false);//鍋滄褰曞儚 cmd.setUploadMinio(false); hikClientService.recordToMinio(cmd); + GlobalVariable.user_real_Map.remove(userId); } InspectionTask task = taskMap.get(taskId); if (task != null) { diff --git a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectRecordMapper.xml b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectRecordMapper.xml index fa00cca..33a95ee 100644 --- a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectRecordMapper.xml +++ b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectRecordMapper.xml @@ -33,6 +33,7 @@ <select id="selectArdVideoInspectRecordListByStartTime" parameterType="ArdVideoInspectRecord" resultType="java.util.HashMap"> select r.*,s.well_id,w.well_id as well_name from ard_video_inspect_record r ,ard_video_inspect_task_step s,ard_alarmpoints_well w where start_time like ('${startTime}%') and r.step_id = s.id and s.well_id = w.id + order by start_time desc </select> <!--鎸夋湀浠界粺璁℃枃浠舵暟閲�--> <select id="selectArdVideoInspectRecordCountByStartMonth" parameterType="String" resultType="java.util.HashMap"> diff --git a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml index 8b9dc65..8101ae7 100644 --- a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml +++ b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml @@ -51,7 +51,7 @@ <if test="cameraId != null and cameraId != ''"> and camera_id = #{cameraId}</if> <if test="channel != null "> and channel = #{channel}</if> </where> - order by id + order by start_time </select> <select id="selectArdVideoInspectTaskById" parameterType="String" resultMap="ArdVideoInspectTaskArdVideoInspectTaskStepResult"> diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java index b9bc834..d2dcff2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java @@ -11,6 +11,7 @@ import java.nio.charset.StandardCharsets; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; import com.ruoyi.common.config.ARDConfig; @@ -21,44 +22,35 @@ /** * 鏂囦欢澶勭悊宸ュ叿绫� - * + * * @author ruoyi */ -public class FileUtils -{ +public class FileUtils { public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+"; /** * 杈撳嚭鎸囧畾鏂囦欢鐨刡yte鏁扮粍 - * + * * @param filePath 鏂囦欢璺緞 - * @param os 杈撳嚭娴� + * @param os 杈撳嚭娴� * @return */ - public static void writeBytes(String filePath, OutputStream os) throws IOException - { + public static void writeBytes(String filePath, OutputStream os) throws IOException { FileInputStream fis = null; - try - { + try { File file = new File(filePath); - if (!file.exists()) - { + if (!file.exists()) { throw new FileNotFoundException(filePath); } fis = new FileInputStream(file); byte[] b = new byte[1024]; int length; - while ((length = fis.read(b)) > 0) - { + while ((length = fis.read(b)) > 0) { os.write(b, 0, length); } - } - catch (IOException e) - { + } catch (IOException e) { throw e; - } - finally - { + } finally { IOUtils.close(os); IOUtils.close(fis); } @@ -71,33 +63,28 @@ * @return 鐩爣鏂囦欢 * @throws IOException IO寮傚父 */ - public static String writeImportBytes(byte[] data) throws IOException - { + public static String writeImportBytes(byte[] data) throws IOException { return writeBytes(data, ARDConfig.getImportPath()); } /** * 鍐欐暟鎹埌鏂囦欢涓� * - * @param data 鏁版嵁 + * @param data 鏁版嵁 * @param uploadDir 鐩爣鏂囦欢 * @return 鐩爣鏂囦欢 * @throws IOException IO寮傚父 */ - public static String writeBytes(byte[] data, String uploadDir) throws IOException - { + public static String writeBytes(byte[] data, String uploadDir) throws IOException { FileOutputStream fos = null; String pathName = ""; - try - { + try { String extension = getFileExtendName(data); pathName = DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + extension; File file = FileUploadUtils.getAbsoluteFile(uploadDir, pathName); fos = new FileOutputStream(file); fos.write(data); - } - finally - { + } finally { IOUtils.close(fos); } return FileUploadUtils.getPathFileName(uploadDir, pathName); @@ -105,17 +92,15 @@ /** * 鍒犻櫎鏂囦欢 - * + * * @param filePath 鏂囦欢 * @return */ - public static boolean deleteFile(String filePath) - { + public static boolean deleteFile(String filePath) { boolean flag = false; File file = new File(filePath); // 璺緞涓烘枃浠朵笖涓嶄负绌哄垯杩涜鍒犻櫎 - if (file.isFile() && file.exists()) - { + if (file.isFile() && file.exists()) { flag = file.delete(); } return flag; @@ -123,32 +108,28 @@ /** * 鏂囦欢鍚嶇О楠岃瘉 - * + * * @param filename 鏂囦欢鍚嶇О * @return true 姝e父 false 闈炴硶 */ - public static boolean isValidFilename(String filename) - { + public static boolean isValidFilename(String filename) { return filename.matches(FILENAME_PATTERN); } /** * 妫�鏌ユ枃浠舵槸鍚﹀彲涓嬭浇 - * + * * @param resource 闇�瑕佷笅杞界殑鏂囦欢 * @return true 姝e父 false 闈炴硶 */ - public static boolean checkAllowDownload(String resource) - { + public static boolean checkAllowDownload(String resource) { // 绂佹鐩綍涓婅烦绾у埆 - if (StringUtils.contains(resource, "..")) - { + if (StringUtils.contains(resource, "..")) { return false; } // 妫�鏌ュ厑璁镐笅杞界殑鏂囦欢瑙勫垯 - if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource))) - { + if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource))) { return true; } @@ -158,33 +139,25 @@ /** * 涓嬭浇鏂囦欢鍚嶉噸鏂扮紪鐮� - * - * @param request 璇锋眰瀵硅薄 + * + * @param request 璇锋眰瀵硅薄 * @param fileName 鏂囦欢鍚� * @return 缂栫爜鍚庣殑鏂囦欢鍚� */ - public static String setFileDownloadHeader(HttpServletRequest request, String fileName) throws UnsupportedEncodingException - { + public static String setFileDownloadHeader(HttpServletRequest request, String fileName) throws UnsupportedEncodingException { final String agent = request.getHeader("USER-AGENT"); String filename = fileName; - if (agent.contains("MSIE")) - { + if (agent.contains("MSIE")) { // IE娴忚鍣� filename = URLEncoder.encode(filename, "utf-8"); filename = filename.replace("+", " "); - } - else if (agent.contains("Firefox")) - { + } else if (agent.contains("Firefox")) { // 鐏嫄娴忚鍣� filename = new String(fileName.getBytes(), "ISO8859-1"); - } - else if (agent.contains("Chrome")) - { + } else if (agent.contains("Chrome")) { // google娴忚鍣� filename = URLEncoder.encode(filename, "utf-8"); - } - else - { + } else { // 鍏跺畠娴忚鍣� filename = URLEncoder.encode(filename, "utf-8"); } @@ -194,11 +167,10 @@ /** * 涓嬭浇鏂囦欢鍚嶉噸鏂扮紪鐮� * - * @param response 鍝嶅簲瀵硅薄 + * @param response 鍝嶅簲瀵硅薄 * @param realFileName 鐪熷疄鏂囦欢鍚� */ - public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException - { + public static void setAttachmentResponseHeader(HttpServletResponse response, String realFileName) throws UnsupportedEncodingException { String percentEncodedFileName = percentEncode(realFileName); StringBuilder contentDispositionValue = new StringBuilder(); @@ -220,36 +192,27 @@ * @param s 闇�瑕佺櫨鍒嗗彿缂栫爜鐨勫瓧绗︿覆 * @return 鐧惧垎鍙风紪鐮佸悗鐨勫瓧绗︿覆 */ - public static String percentEncode(String s) throws UnsupportedEncodingException - { + public static String percentEncode(String s) throws UnsupportedEncodingException { String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString()); return encode.replaceAll("\\+", "%20"); } /** * 鑾峰彇鍥惧儚鍚庣紑 - * + * * @param photoByte 鍥惧儚鏁版嵁 * @return 鍚庣紑鍚� */ - public static String getFileExtendName(byte[] photoByte) - { + public static String getFileExtendName(byte[] photoByte) { String strFileExtendName = "jpg"; if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) - && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) - { + && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) { strFileExtendName = "gif"; - } - else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) - { + } else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) { strFileExtendName = "jpg"; - } - else if ((photoByte[0] == 66) && (photoByte[1] == 77)) - { + } else if ((photoByte[0] == 66) && (photoByte[1] == 77)) { strFileExtendName = "bmp"; - } - else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) - { + } else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) { strFileExtendName = "png"; } return strFileExtendName; @@ -257,14 +220,12 @@ /** * 鑾峰彇鏂囦欢鍚嶇О /profile/upload/2022/04/16/ruoyi.png -- ruoyi.png - * + * * @param fileName 璺緞鍚嶇О * @return 娌℃湁鏂囦欢璺緞鐨勫悕绉� */ - public static String getName(String fileName) - { - if (fileName == null) - { + public static String getName(String fileName) { + if (fileName == null) { return null; } int lastUnixPos = fileName.lastIndexOf('/'); @@ -275,17 +236,38 @@ /** * 鑾峰彇涓嶅甫鍚庣紑鏂囦欢鍚嶇О /profile/upload/2022/04/16/ruoyi.png -- ruoyi - * + * * @param fileName 璺緞鍚嶇О * @return 娌℃湁鏂囦欢璺緞鍜屽悗缂�鐨勫悕绉� */ - public static String getNameNotSuffix(String fileName) - { - if (fileName == null) - { + public static String getNameNotSuffix(String fileName) { + if (fileName == null) { return null; } String baseName = FilenameUtils.getBaseName(fileName); return baseName; } + + /** + * 鍒涘缓涓�涓枃浠惰幏鍙栨枃浠惰矾寰� + * + * @param fileName 璺緞鍚嶇О + * @return 鏂囦欢璺緞鍜屽悗缂�鐨勫悕绉� + */ + public static String createFile(String fileName) { + try { + File file = new File(fileName); + if (!file.exists()) { + File fileParent = file.getParentFile(); + if (!fileParent.exists()) { + fileParent.mkdirs(); + } + file.createNewFile(); + } + return file.getCanonicalPath(); + + } catch (Exception ex) { + return ""; + } + } } -- Gitblit v1.9.3