|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.wms.system.license.entity.license; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.net.InetAddress; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Scanner; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 用于获取客户Windows服务器的基本信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class WindowsServerInfos extends AbstractServerInfos { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected List<String> getIpAddress() throws Exception { | 
|---|
|  |  |  | List<String> result = null; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取所有网络接口 | 
|---|
|  |  |  | List<InetAddress> inetAddresses = getLocalAllInetAddress(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(inetAddresses != null && inetAddresses.size() > 0){ | 
|---|
|  |  |  | result = inetAddresses.stream().map(InetAddress::getHostAddress).distinct().map(String::toLowerCase).collect(Collectors.toList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected List<String> getMacAddress() throws Exception { | 
|---|
|  |  |  | List<String> result = null; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //1. 获取所有网络接口 | 
|---|
|  |  |  | List<InetAddress> inetAddresses = getLocalAllInetAddress(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(inetAddresses != null && inetAddresses.size() > 0){ | 
|---|
|  |  |  | //2. 获取所有网络接口的Mac地址 | 
|---|
|  |  |  | result = inetAddresses.stream().map(this::getMacByInetAddress).distinct().collect(Collectors.toList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected String getCPUSerial() throws Exception { | 
|---|
|  |  |  | //序列号 | 
|---|
|  |  |  | String serialNumber = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //使用WMIC获取CPU序列号 | 
|---|
|  |  |  | Process process = Runtime.getRuntime().exec("wmic cpu get processorid"); | 
|---|
|  |  |  | process.getOutputStream().close(); | 
|---|
|  |  |  | Scanner scanner = new Scanner(process.getInputStream()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(scanner.hasNext()){ | 
|---|
|  |  |  | scanner.next(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(scanner.hasNext()){ | 
|---|
|  |  |  | serialNumber = scanner.next().trim(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | scanner.close(); | 
|---|
|  |  |  | return serialNumber; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected String getMainBoardSerial() throws Exception { | 
|---|
|  |  |  | //序列号 | 
|---|
|  |  |  | String serialNumber = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //使用WMIC获取主板序列号 | 
|---|
|  |  |  | Process process = Runtime.getRuntime().exec("wmic baseboard get serialnumber"); | 
|---|
|  |  |  | process.getOutputStream().close(); | 
|---|
|  |  |  | Scanner scanner = new Scanner(process.getInputStream()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(scanner.hasNext()){ | 
|---|
|  |  |  | scanner.next(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(scanner.hasNext()){ | 
|---|
|  |  |  | serialNumber = scanner.next().trim(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | scanner.close(); | 
|---|
|  |  |  | return serialNumber; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | package com.zy.asrs.wms.system.license.entity.license; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.net.InetAddress; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Scanner; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 用于获取客户Windows服务器的基本信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class WindowsServerInfos extends AbstractServerInfos { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected List<String> getIpAddress() throws Exception { | 
|---|
|  |  |  | List<String> result = null; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取所有网络接口 | 
|---|
|  |  |  | List<InetAddress> inetAddresses = getLocalAllInetAddress(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(inetAddresses != null && inetAddresses.size() > 0){ | 
|---|
|  |  |  | result = inetAddresses.stream().map(InetAddress::getHostAddress).distinct().map(String::toLowerCase).collect(Collectors.toList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected List<String> getMacAddress() throws Exception { | 
|---|
|  |  |  | List<String> result = null; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //1. 获取所有网络接口 | 
|---|
|  |  |  | List<InetAddress> inetAddresses = getLocalAllInetAddress(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(inetAddresses != null && inetAddresses.size() > 0){ | 
|---|
|  |  |  | //2. 获取所有网络接口的Mac地址 | 
|---|
|  |  |  | result = inetAddresses.stream().map(this::getMacByInetAddress).distinct().collect(Collectors.toList()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return result; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected String getCPUSerial() throws Exception { | 
|---|
|  |  |  | //序列号 | 
|---|
|  |  |  | String serialNumber = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //使用WMIC获取CPU序列号 | 
|---|
|  |  |  | Process process = Runtime.getRuntime().exec("wmic cpu get processorid"); | 
|---|
|  |  |  | process.getOutputStream().close(); | 
|---|
|  |  |  | Scanner scanner = new Scanner(process.getInputStream()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(scanner.hasNext()){ | 
|---|
|  |  |  | scanner.next(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(scanner.hasNext()){ | 
|---|
|  |  |  | serialNumber = scanner.next().trim(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | scanner.close(); | 
|---|
|  |  |  | return serialNumber; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | protected String getMainBoardSerial() throws Exception { | 
|---|
|  |  |  | //序列号 | 
|---|
|  |  |  | String serialNumber = ""; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //使用WMIC获取主板序列号 | 
|---|
|  |  |  | Process process = Runtime.getRuntime().exec("wmic baseboard get serialnumber"); | 
|---|
|  |  |  | process.getOutputStream().close(); | 
|---|
|  |  |  | Scanner scanner = new Scanner(process.getInputStream()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(scanner.hasNext()){ | 
|---|
|  |  |  | scanner.next(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(scanner.hasNext()){ | 
|---|
|  |  |  | serialNumber = scanner.next().trim(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | scanner.close(); | 
|---|
|  |  |  | return serialNumber; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|