|
@@ -2,6 +2,7 @@ package com.diagbot.util;
|
|
|
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
|
import org.apache.logging.log4j.Logger;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.io.BufferedReader;
|
|
|
import java.io.File;
|
|
@@ -24,6 +25,7 @@ import java.util.Map;
|
|
|
* @author: zhoutg
|
|
|
* @time: 2019/12/23 10:40
|
|
|
*/
|
|
|
+@Component
|
|
|
public class SerialNumberUtil {
|
|
|
static Logger log = LogManager.getLogger(SerialNumberUtil.class);
|
|
|
|
|
@@ -242,56 +244,30 @@ public class SerialNumberUtil {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- *
|
|
|
- */
|
|
|
- /**
|
|
|
- * @param cmd 命令语句
|
|
|
- * @param record 要查看的字段
|
|
|
- * @param symbol 分隔符
|
|
|
- * @return
|
|
|
- */
|
|
|
- public static List<String> getSerialNumberLists(String cmd, String record, String symbol) {
|
|
|
- String execResult = executeLinuxCmd(cmd);
|
|
|
- String[] infos = execResult.split("\n");
|
|
|
- List<String> cpuIds = new ArrayList<String>();
|
|
|
- for (String info : infos) {
|
|
|
- info = info.trim();
|
|
|
- if (info.indexOf(record) != -1) {
|
|
|
- info.replace(" ", "");
|
|
|
- String[] sn = info.split(symbol);
|
|
|
- cpuIds.add(sn[1]);
|
|
|
- }
|
|
|
- return cpuIds;
|
|
|
- }
|
|
|
-
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 获取CPUID、硬盘序列号、MAC地址、主板序列号
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- public static Map<String, List<String>> getAllSn() {
|
|
|
+ public static Map<String, String> getAllSn() {
|
|
|
String os = System.getProperty("os.name");
|
|
|
- Map<String, List<String>> snVo = new HashMap<String, List<String>>();
|
|
|
+ Map<String, String> snVo = new HashMap<String, String>();
|
|
|
|
|
|
- if ("LINUX".equals(os.toUpperCase())) {
|
|
|
+ if ("LINUX".equals(os)) {
|
|
|
System.out.println("=============>for linux");
|
|
|
- List<String> cpuid = getSerialNumberLists("dmidecode -t processor | grep 'ID'", "ID", ":");
|
|
|
+ String cpuid = getSerialNumber("dmidecode -t processor | grep 'ID'", "ID", ":");
|
|
|
System.out.println("cpuid : " + cpuid);
|
|
|
- List<String> mainboardNumber = getSerialNumberLists("dmidecode |grep 'Serial Number'", "Serial Number", ":");
|
|
|
+ String mainboardNumber = getSerialNumber("dmidecode |grep 'Serial Number'", "Serial Number", ":");
|
|
|
System.out.println("mainboardNumber : " + mainboardNumber);
|
|
|
- List<String> diskNumber = getSerialNumberLists("fdisk -l", "Disk identifier", ":");
|
|
|
+ String diskNumber = getSerialNumber("fdisk -l", "Disk identifier", ":");
|
|
|
System.out.println("diskNumber : " + diskNumber);
|
|
|
- //List<String> mac = getSerialNumberLists("ifconfig -a", "ether", " ");
|
|
|
- snVo.put("cpuid", cpuid);
|
|
|
- snVo.put("diskid", diskNumber);
|
|
|
- //snVo.put("mac", mac);
|
|
|
- snVo.put("mainboard", mainboardNumber);
|
|
|
+ // String mac = getSerialNumber("ifconfig -a", "ether", " ");
|
|
|
+ snVo.put("cpuid", cpuid.toUpperCase().replace(" ", ""));
|
|
|
+ snVo.put("diskid", diskNumber.toUpperCase().replace(" ", ""));
|
|
|
+ // snVo.put("mac", mac.toUpperCase().replace(" ", ""));
|
|
|
+ snVo.put("mainboard", mainboardNumber.toUpperCase().replace(" ", ""));
|
|
|
} else {
|
|
|
- /* System.out.println("=============>for windows");
|
|
|
+ System.out.println("=============>for windows");
|
|
|
String cpuid = SerialNumberUtil.getCPUSerial();
|
|
|
String mainboard = SerialNumberUtil.getMotherboardSN();
|
|
|
String disk = SerialNumberUtil.getHardDiskSN();
|
|
@@ -305,7 +281,7 @@ public class SerialNumberUtil {
|
|
|
snVo.put("cpuid", cpuid.toUpperCase().replace(" ", ""));
|
|
|
snVo.put("diskid", disk.toUpperCase().replace(" ", ""));
|
|
|
snVo.put("mac", mac.toUpperCase().replace(" ", ""));
|
|
|
- snVo.put("mainboard", mainboard.toUpperCase().replace(" ", ""));*/
|
|
|
+ snVo.put("mainboard", mainboard.toUpperCase().replace(" ", ""));
|
|
|
}
|
|
|
|
|
|
return snVo;
|