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