提交 fef21af0 authored 作者: yangli's avatar yangli

.

上级 8e6c6812
......@@ -14,6 +14,7 @@ import com.priusis.client.service.data.*;
import com.priusis.client.util.JsonTools;
import com.priusis.controller.RemoteControlController;
import com.priusis.monitor.mqtt.*;
import com.priusis.util.MacAddrUtil;
import com.priusis.util.SysConfigUtil;
import io.netty.buffer.ByteBuf;
import io.netty.channel.nio.NioEventLoopGroup;
......@@ -25,15 +26,12 @@ import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import oshi.hardware.NetworkIF;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.TrustManagerFactory;
import java.io.*;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.security.KeyStore;
......@@ -673,9 +671,7 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
private MqttClientSecurityConfiguration getClientSecurityByMac() {
try {
NetworkIF networkIF = new NetworkIF();
networkIF.setNetworkInterface(NetworkInterface.getByInetAddress(InetAddress.getLocalHost()));
String mac = networkIF.getMacaddr();
String mac = MacAddrUtil.get();
if (StrUtil.isBlank(mac)) {
log.warn("未获取到MAC地址");
return null;
......@@ -696,11 +692,4 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
//return mqttClientSecurityConfiguration;
return null;
}
public static void main(String[] args) throws Exception {
NetworkIF networkIF = new NetworkIF();
networkIF.setNetworkInterface(NetworkInterface.getByInetAddress(InetAddress.getLocalHost()));
String mac = networkIF.getMacaddr();
System.out.println(mac);
}
}
......@@ -4,13 +4,12 @@ import cn.hutool.core.io.unit.DataSizeUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.system.oshi.OshiUtil;
import com.priusis.lib.R;
import com.priusis.util.MacAddrUtil;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import oshi.hardware.NetworkIF;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Map;
......@@ -26,14 +25,11 @@ public class DeviceInfoController {
@GetMapping(value = "get")
public R<Map<String, Object>> get() throws UnknownHostException, SocketException {
InetAddress inetAddress = InetAddress.getLocalHost();
NetworkIF networkIF = new NetworkIF();
networkIF.setNetworkInterface(NetworkInterface.getByInetAddress(inetAddress));
Map<String, Object> info = MapUtil.<String, Object>builder()
.put("operatingSystem", OshiUtil.getOs().toString())
.put("mac", networkIF.getMacaddr())
.put("mac", MacAddrUtil.get())
.put("baseboard", OshiUtil.getSystem().getBaseboard().getManufacturer() + " " + OshiUtil.getSystem().getBaseboard().getVersion())
.put("ip", inetAddress.getHostAddress())
.put("ip", InetAddress.getLocalHost().getHostAddress())
.put("cpuModel", OshiUtil.getCpuInfo(0).getCpuModel())
.put("cpuTemp", OshiUtil.getSensors().getCpuTemperature())
.put("memoryCap", DataSizeUtil.format(OshiUtil.getMemory().getTotal()))
......@@ -43,13 +39,11 @@ public class DeviceInfoController {
return R.success(info);
}
public static void main(String[] args) throws SocketException, UnknownHostException {
public static void main(String[] args) throws UnknownHostException {
System.out.println("操作系统");
System.out.println(OshiUtil.getOs().toString());
System.out.println("MAC地址");
NetworkIF networkIF = new NetworkIF();
networkIF.setNetworkInterface(NetworkInterface.getByInetAddress(InetAddress.getLocalHost()));
System.out.println(networkIF.getMacaddr());
System.out.println(MacAddrUtil.get());
System.out.println("主板");
System.out.println(OshiUtil.getSystem().getBaseboard().getManufacturer() + " " + OshiUtil.getSystem().getBaseboard().getVersion());
System.out.println("IP");
......
......@@ -13,6 +13,7 @@ import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.priusis.cache.InstalledProgramCache;
import com.priusis.lib.R;
import com.priusis.util.MacAddrUtil;
import com.priusis.util.SysConfigUtil;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
......@@ -20,7 +21,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import oshi.hardware.NetworkIF;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
......@@ -28,10 +28,6 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.File;
import java.io.IOException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.text.DecimalFormat;
import java.util.Collections;
import java.util.List;
......@@ -69,7 +65,7 @@ public class ProgramController {
@RequestParam(required = false, defaultValue = "1") Integer current,
@RequestParam(required = false, defaultValue = "10") Integer size)
throws IOException {
String mac = getMacAddress();
String mac = MacAddrUtil.get();
if (StrUtil.isBlank(mac)) return R.error("未获取到MAC地址");
String url = gateway + StrUtil.format(type.equals("install") ? installUrl : upgradeUrl, mac, current, size);
JSONObject rsp = JSONUtil.parseObj(HttpUtil.get(url));
......@@ -152,7 +148,7 @@ public class ProgramController {
@Scheduled(fixedDelay = 60000)
protected void addProgram2Platform() throws IOException {
String mac = getMacAddress();
String mac = MacAddrUtil.get();
if (StrUtil.isBlank(mac)) {
log.warn("未获取到MAC地址");
return;
......@@ -163,9 +159,4 @@ public class ProgramController {
JSONUtil.createObj().set("macAddress", mac).set("programList", programNames).toString());
}
private String getMacAddress() throws UnknownHostException, SocketException {
NetworkIF networkIF = new NetworkIF();
networkIF.setNetworkInterface(NetworkInterface.getByInetAddress(InetAddress.getLocalHost()));
return networkIF.getMacaddr();
}
}
......@@ -8,6 +8,7 @@ import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.priusis.cache.InstalledProgramCache;
import com.priusis.lib.R;
import com.priusis.util.MacAddrUtil;
import com.priusis.util.SysConfigUtil;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
......@@ -18,16 +19,11 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import oshi.hardware.NetworkIF;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.File;
import java.io.IOException;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Timer;
import java.util.TimerTask;
......@@ -128,28 +124,21 @@ public class RemoteControlController {
}
@GetMapping(value = "send_request")
public R<Void> sendRequest(@RequestParam @NotNull Long minutes)
throws IOException {
public R<Void> sendRequest(@RequestParam @NotNull Long minutes) {
JSONObject rsp = JSONUtil.parseObj(HttpUtil.post(gateway + sendControlReqUrl,
JSONUtil.createObj().set("controlDate", minutes)
.set("macAddress", getMacAddress())
.set("macAddress", MacAddrUtil.get())
.set("type", 1).toString()));
if (ObjectUtil.notEqual(rsp.getInt("code"), 0)) return R.error(rsp.getStr("msg"));
return R.success();
}
private String getMacAddress() throws UnknownHostException, SocketException {
NetworkIF networkIF = new NetworkIF();
networkIF.setNetworkInterface(NetworkInterface.getByInetAddress(InetAddress.getLocalHost()));
return networkIF.getMacaddr();
}
private String remoteId;
private String getRemoteId() throws SocketException, UnknownHostException {
private String getRemoteId() {
if (StrUtil.isNotBlank(remoteId)) return remoteId;
String mac = getMacAddress();
String mac = MacAddrUtil.get();
JSONObject rsp = JSONUtil.parseObj(HttpUtil.get(gateway + StrUtil.format(deviceInfoUrl, mac)));
if (ObjectUtil.notEqual(rsp.getInt("code"), 0)) {
log.warn("查询设备信息失败, msg: {}", rsp.getStr("msg"));
......
package com.priusis.util;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.system.oshi.OshiUtil;
import oshi.hardware.NetworkIF;
/**
* @author yangli
* @since 2021/09/28
*/
public final class MacAddrUtil {
public static String get() {
for (NetworkIF networkIF : OshiUtil.getHardware().getNetworkIFs()) {
if (ArrayUtil.isEmpty(networkIF.getIPv4addr())) continue;
if (StrUtil.containsIgnoreCase(networkIF.getDisplayName(), "Virtual")) continue;
return networkIF.getMacaddr();
}
return null;
}
}
......@@ -5,6 +5,7 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.hutool.system.oshi.OshiUtil;
import com.priusis.util.MacAddrUtil;
import com.priusis.vo.ApqInfoDataVo;
import com.priusis.vo.MqttRpcDataMessage;
import lombok.extern.slf4j.Slf4j;
......@@ -17,10 +18,8 @@ import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.client.RestTemplate;
import oshi.hardware.NetworkIF;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -83,15 +82,11 @@ public class ApqInfoApplication {
try {
// 上报PC实时信息
InetAddress inetAddress = InetAddress.getLocalHost();
NetworkIF networkIF = new NetworkIF();
networkIF.setNetworkInterface(NetworkInterface.getByInetAddress(inetAddress));
Map<String, Object> data = MapUtil.<String, Object>builder()
.put(isNeedCollection(isNoneEven, operatingSystem, mapParams), operatingSystem, OshiUtil.getOs().toString())
.put(isNeedCollection(isNoneEven, mac, mapParams), mac, networkIF.getMacaddr())
.put(isNeedCollection(isNoneEven, mac, mapParams), mac, MacAddrUtil.get())
.put(isNeedCollection(isNoneEven, baseboard, mapParams), baseboard, OshiUtil.getSystem().getBaseboard().getManufacturer() + " " + OshiUtil.getSystem().getBaseboard().getVersion())
.put(isNeedCollection(isNoneEven, ip, mapParams), ip, inetAddress.getHostAddress())
.put(isNeedCollection(isNoneEven, ip, mapParams), ip, InetAddress.getLocalHost().getHostAddress())
.put(isNeedCollection(isNoneEven, cpuModel, mapParams), cpuModel, OshiUtil.getCpuInfo(0).getCpuModel())
.put(isNeedCollection(isNoneEven, cpuTemp, mapParams), cpuTemp, OshiUtil.getSensors().getCpuTemperature())
.put(isNeedCollection(isNoneEven, cpuLoad, mapParams), cpuTemp, OshiUtil.getSensors().getCpuVoltage())
......
package com.priusis.util;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.system.oshi.OshiUtil;
import oshi.hardware.NetworkIF;
/**
* @author yangli
* @since 2021/09/28
*/
public final class MacAddrUtil {
public static String get() {
for (NetworkIF networkIF : OshiUtil.getHardware().getNetworkIFs()) {
if (ArrayUtil.isEmpty(networkIF.getIPv4addr())) continue;
if (StrUtil.containsIgnoreCase(networkIF.getDisplayName(), "Virtual")) continue;
return networkIF.getMacaddr();
}
return null;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论