From ea58523b67ad59002a1191c3c564258c5b81f6f2 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 06 五月 2025 17:35:16 +0800 Subject: [PATCH] Revert "1、实现万用token(0000-0000-1234-9876-5); 2、web端单独实现命令结果等待器,并修改相关部分; 3、web端实现透传命令; 4、修改一些不当注释; 5、优化一些代码。" --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnit.java | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 150 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnit.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnit.java new file mode 100644 index 0000000..7660124 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/resource/ResourceUnit.java @@ -0,0 +1,150 @@ +package com.dy.rtuMw.resource; + +import java.io.File; +import java.text.DecimalFormat; +import java.util.Date; +import java.util.TreeMap; + +import com.dy.rtuMw.resource.rtuLog.RtuLogNode; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.context.ApplicationContext; + +import com.dy.common.mw.UnitAdapterInterface; +import com.dy.common.mw.UnitInterface; +import com.dy.common.mw.UnitCallbackInterface; +import com.dy.rtuMw.resource.rtuLog.RtuLogManager; +import com.dy.common.util.DateTime; + +public class ResourceUnit implements UnitInterface { + + private static final Logger log = LogManager.getLogger(ResourceUnit.class) ; + + private static final ResourceUnit instance = new ResourceUnit() ; + + //private static SupportUnit supUnit ; + public static ResourceUnitAdapter adapter ; + public static ResourceUnitConfigVo confVo ; + + public static ApplicationContext springContext ; + + private ResourceUnit(){} + + @SuppressWarnings("unused") + public static ResourceUnit getInstance(){ + return instance ; + } + + @Override + public void setAdapter(UnitAdapterInterface adapter) throws Exception { + if(adapter == null){ + throw new Exception("璧勬簮妯″潡閫傞厤鍣ㄥ璞′笉鑳戒负绌猴紒") ; + } + ResourceUnit.adapter = (ResourceUnitAdapter)adapter ; + ResourceUnit.confVo = ResourceUnit.adapter.getConfig() ; + if(ResourceUnit.confVo == null){ + throw new Exception("璧勬簮妯″潡閰嶇疆瀵硅薄涓嶈兘涓虹┖锛�") ; + } + } + + /* + * 璁剧疆鏀寔鍗曞厓 + * @param supUnit + public void setSupportUnit(SupportUnit supUnit){ + ResourceUnit.supUnit = supUnit ; + }*/ + + /** + * 璁剧疆spring涓婁笅鏂� + * @param springContext Spring瀹瑰櫒涓婁笅鏂囧璞� + */ + @SuppressWarnings("unused") + public void setSpringContext(ApplicationContext springContext) { + ResourceUnit.springContext = springContext ; + } + @Override + public void start(UnitCallbackInterface callback) throws Exception { + if(ResourceUnit.springContext == null){ + throw new Exception("Spring涓婁笅鏂囧璞℃湭璁剧疆锛�") ; + } + callback.call(null) ; + System.out.println("璧勬簮妯″潡鎴愬姛鍚姩"); + } + + @Override + public void stop(UnitCallbackInterface callback) { + } + + /** + * 璁板綍Rtu鏃ュ織 + * @param node 鏃ュ織闃熷垪涓殑鑺傜偣瀵硅薄 + */ + @SuppressWarnings("unused") + public void rtuLog(RtuLogNode node){ + if(node != null && node.rtuAddr != null && node.content != null){ + try { + RtuLogManager.getInstance().pushRtuLog(node); + } catch (Exception e) { + log.error(e); + } + } + } + + + /** + * 寰楀埌Rtu鎵�鏈夋棩蹇楁枃浠� + * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� + * @return 鏂囦欢鍒楄〃锛堟枃浠跺悕绉帮紝鏂囦欢澶у皬锛屾枃浠舵渶鍚庝慨鏀规椂闂达級 + */ + @SuppressWarnings("unused") + public TreeMap<String, String[]> listLogFilesName(String rtuAddr){ + File f = new File(ResourceUnit.confVo.rtuLogDir) ; + TreeMap<String, String[]> map = new TreeMap<>() ; + if(f.isDirectory()){ + File[] fs = f.listFiles() ; + if(fs != null && fs.length > 0){ + String fileName ; + for(File ff : fs){ + if(ff != null){ + fileName = ff.getName() ; + if(fileName.startsWith(rtuAddr)){ + String[] ss = new String[3] ; + ss[0] = ff.getName() ; + ss[1] = formatFileSize(ff.length()) ; + ss[2] = DateTime.yyyy_MM_dd_HH_mm_ss(new Date(ff.lastModified())) ; + map.put(ss[0], ss) ; + } + } + } + } + } + return map ; + } + + /** + * 寰楀埌涓�涓棩蹇楁枃浠� + * @param fileName 鏂囦欢鍚嶇О([rtuAddr].log) + */ + @SuppressWarnings("unused") + public File getLogFile(String fileName){ + return new File(ResourceUnit.confVo.rtuLogDir + fileName); + } + + private String formatFileSize(long fileS) {//閫氳繃File鐨� length()鏂规硶鏁板�间紶鍏� + DecimalFormat df = new DecimalFormat("#.00"); + String fileSizeString; + if (fileS < 1024) { + fileSizeString = df.format((double) fileS) + " B"; + } else if (fileS < 1048576) { + fileSizeString = df.format((double) fileS / 1024) + " K"; + } else if (fileS < 1073741824) { + fileSizeString = df.format((double) fileS / 1048576) + " M"; + } else { + fileSizeString = df.format((double) fileS / 1073741824) + " G"; + } + return fileSizeString; + } + + + +} -- Gitblit v1.8.0