Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
haikang-client
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
杨立
haikang-client
Commits
99c9cd0d
提交
99c9cd0d
authored
6月 07, 2022
作者:
wangqiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
海康客户端问题
上级
7997bd5f
隐藏空白字符变更
内嵌
并排
正在显示
29 个修改的文件
包含
388 行增加
和
95 行删除
+388
-95
DefaultHttpService.java
...om/priusis/client/extensions/http/DefaultHttpService.java
+1
-1
HttpController.java
...va/com/priusis/client/extensions/http/HttpController.java
+1
-2
MqttRpcDataMessage2.java
.../java/com/priusis/client/service/MqttRpcDataMessage2.java
+1
-1
MqttService.java
...ain/java/com/priusis/client/service/core/MqttService.java
+1
-1
MqttServiceImpl.java
...java/com/priusis/client/service/core/MqttServiceImpl.java
+125
-5
ConfigController.java
...rc/main/java/com/priusis/controller/ConfigController.java
+1
-1
DeviceInfoController.java
...ain/java/com/priusis/controller/DeviceInfoController.java
+6
-2
FacilityController.java
.../main/java/com/priusis/controller/FacilityController.java
+7
-3
FacilityPropertyController.java
...va/com/priusis/controller/FacilityPropertyController.java
+8
-4
ProgramController.java
...c/main/java/com/priusis/controller/ProgramController.java
+11
-10
RemoteControlController.java
.../java/com/priusis/controller/RemoteControlController.java
+7
-3
HwPortController.dll
apq-pc-common/dact/x32/HwPortController.dll
+0
-0
MqttRpcDataMessage.java
...n/java/com/priusis/client/service/MqttRpcDataMessage.java
+7
-1
ApqAntivirusJob.java
...common/src/main/java/com/priusis/job/ApqAntivirusJob.java
+1
-12
ApqControlJob.java
...c-common/src/main/java/com/priusis/job/ApqControlJob.java
+4
-4
ApqInfoJob.java
apq-pc-common/src/main/java/com/priusis/job/ApqInfoJob.java
+17
-14
ApqNetControlJob.java
...ommon/src/main/java/com/priusis/job/ApqNetControlJob.java
+1
-13
ApqRegister4BackListJob.java
...rc/main/java/com/priusis/job/ApqRegister4BackListJob.java
+2
-2
ApqRegister4WhiteListJob.java
...c/main/java/com/priusis/job/ApqRegister4WhiteListJob.java
+2
-2
MacAddrService.java
.../main/java/com/priusis/service/common/MacAddrService.java
+63
-0
CoreTempUtil.java
...-common/src/main/java/com/priusis/utils/CoreTempUtil.java
+1
-2
MacAddrUtil.java
...c-common/src/main/java/com/priusis/utils/MacAddrUtil.java
+5
-2
Oshi4NoneSigarUtil.java
...n/src/main/java/com/priusis/utils/Oshi4NoneSigarUtil.java
+3
-1
SigarUtil.java
...mmon/src/main/java/com/priusis/utils/sigar/SigarUtil.java
+33
-3
RestTest.java
apq-pc-common/src/test/java/com/priusis/RestTest.java
+1
-1
RestTest.java
apq-pc-control/src/test/java/com/priusis/RestTest.java
+1
-1
RestTest.java
apq-pc-info/src/test/java/com/priusis/RestTest.java
+6
-3
RestTest.java
apq-pc-register/src/test/java/com/priusis/RestTest.java
+1
-1
硬件接口及硬盘异常.txt
doc/硬件接口及硬盘异常.txt
+71
-0
没有找到文件。
apq-pc-client/src/main/java/com/priusis/client/extensions/http/DefaultHttpService.java
浏览文件 @
99c9cd0d
...
...
@@ -4,11 +4,11 @@ import com.priusis.client.data.kv.KvEntry;
import
com.priusis.client.extensions.ExtensionUpdate
;
import
com.priusis.client.extensions.http.conf.HttpConfiguration
;
import
com.priusis.client.service.MqttDeliveryFuture
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
com.priusis.client.service.conf.PcExtensionConfiguration
;
import
com.priusis.client.service.core.MqttService
;
import
com.priusis.client.service.data.DeviceData
;
import
com.priusis.client.util.ConfigurationTools
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.util.StringUtils
;
...
...
apq-pc-client/src/main/java/com/priusis/client/extensions/http/HttpController.java
浏览文件 @
99c9cd0d
package
com
.
priusis
.
client
.
extensions
.
http
;
import
cn.hutool.json.JSONUtil
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.priusis.client.extensions.http.conf.HttpRequestProcessingError
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
com.priusis.client.service.TenantManagerService
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
...
...
apq-pc-client/src/main/java/com/priusis/client/service/MqttRpcDataMessage.java
→
apq-pc-client/src/main/java/com/priusis/client/service/MqttRpcDataMessage
2
.java
浏览文件 @
99c9cd0d
...
...
@@ -7,7 +7,7 @@ import java.io.Serializable;
@Data
@Builder
public
class
MqttRpcDataMessage
implements
Serializable
{
public
class
MqttRpcDataMessage
2
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3133461476074777891L
;
...
...
apq-pc-client/src/main/java/com/priusis/client/service/core/MqttService.java
浏览文件 @
99c9cd0d
...
...
@@ -2,12 +2,12 @@ package com.priusis.client.service.core;
import
com.priusis.client.data.kv.KvEntry
;
import
com.priusis.client.service.MqttDeliveryFuture
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
com.priusis.client.service.conf.PcExtensionConfiguration
;
import
com.priusis.client.service.data.AttributeRequest
;
import
com.priusis.client.service.data.AttributeResponse
;
import
com.priusis.client.service.data.AttributesUpdateSubscription
;
import
com.priusis.client.service.data.RpcCommandResponse
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
java.io.File
;
import
java.io.IOException
;
...
...
apq-pc-client/src/main/java/com/priusis/client/service/core/MqttServiceImpl.java
浏览文件 @
99c9cd0d
package
com
.
priusis
.
client
.
service
.
core
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.json.JSONUtil
;
...
...
@@ -16,6 +17,7 @@ import com.priusis.controller.ProgramController;
import
com.priusis.controller.RemoteControlController
;
import
com.priusis.lib.R
;
import
com.priusis.monitor.mqtt.*
;
import
com.priusis.service.common.MacAddrService
;
import
com.priusis.utils.*
;
import
io.netty.buffer.ByteBuf
;
import
io.netty.channel.nio.NioEventLoopGroup
;
...
...
@@ -25,6 +27,8 @@ import io.netty.util.concurrent.Promise;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.eclipse.paho.client.mqttv3.MqttMessage
;
import
org.hyperic.sigar.FileSystem
;
import
org.hyperic.sigar.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -36,10 +40,8 @@ import java.io.*;
import
java.net.URL
;
import
java.nio.charset.StandardCharsets
;
import
java.security.KeyStore
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.text.DecimalFormat
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.concurrent.atomic.AtomicLong
;
...
...
@@ -115,16 +117,22 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
private
volatile
ObjectNode
error
;
private
volatile
Boolean
realDataMonitor
=
false
;
Sigar
sigar
=
new
Sigar
();
private
MqttClient
tbClient
;
private
ScheduledExecutorService
scheduler
;
private
ExecutorService
mqttSenderExecutor
;
private
ExecutorService
mqttReceiverExecutor
;
private
ExecutorService
callbackExecutor
=
Executors
.
newCachedThreadPool
();
private
ScheduledExecutorService
realDataMonitorScheduler
;
@Autowired
private
NioEventLoopGroup
nioEventLoopGroup
;
@Autowired
private
MacAddrService
macAddrService
;
@Resource
private
RemoteControlController
remoteControlController
;
...
...
@@ -152,7 +160,15 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
initMqttClient
();
initMqttSender
(
incomingQueue
);
initMqttReceiver
(
incomingQueue
);
realDataMonitorScheduler
=
Executors
.
newSingleThreadScheduledExecutor
();
// Map<String, Integer> mqttRpcDataMessageParam = Maps.newHashMap();
// mqttRpcDataMessageParam.put("minutes", 2);
// MqttRpcDataMessage mqttRpcDataMessage = MqttRpcDataMessage.builder().params(JSONUtil.toJsonStr(mqttRpcDataMessageParam)).build();
// realDataMonitorScheduler(mqttRpcDataMessage);
});
}
private
void
initTimeouts
()
{
...
...
@@ -168,6 +184,7 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
@Override
public
void
destroy
()
throws
Exception
{
scheduler
.
shutdownNow
();
realDataMonitorScheduler
.
shutdownNow
();
callbackExecutor
.
shutdownNow
();
mqttSenderExecutor
.
shutdownNow
();
mqttReceiverExecutor
.
shutdownNow
();
...
...
@@ -402,6 +419,15 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
return
;
}
}
// 数据更新频率变为一秒刷新一次
if
(
"real_data_monitor"
.
equals
(
mqttRpcDataMessage
.
getMethod
())
&&
!
realDataMonitor
)
{
realDataMonitor
=
true
;
log
.
info
(
"数据上报频率请求接受!!! params: {}"
,
mqttRpcDataMessage
.
getParams
());
realDataMonitorScheduler
(
mqttRpcDataMessage
);
realDataMonitor
=
false
;
}
if
(
"facility_scan"
.
equals
(
mqttRpcDataMessage
.
getMethod
()))
{
log
.
info
(
"收到平台扫描软件请求"
);
programController
.
addProgram2Platform
();
...
...
@@ -429,6 +455,83 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
}
}
/**
* 数据上报频率请求
*
* @param mqttRpcDataMessage
*/
private
void
realDataMonitorScheduler
(
MqttRpcDataMessage
mqttRpcDataMessage
)
{
// 持续时长
Integer
durationSeconds
=
JSONUtil
.
parseObj
(
mqttRpcDataMessage
.
getParams
()).
getInt
(
"minutes"
,
1
)
*
60
;
Runnable
runnable
=
new
Runnable
()
{
int
i
=
1
;
public
void
run
()
{
try
{
if
(
i
>=
durationSeconds
)
{
realDataMonitorScheduler
.
shutdown
();
}
String
cpuLoad
=
"cpuLoad"
;
String
cpuTemp
=
"cpuTemp"
;
String
memoryOccupyRate
=
"memoryOccupyRate"
;
String
diskFree
=
"diskFree"
;
// CPU负载
double
cpuLoadV
=
Double
.
parseDouble
(
new
DecimalFormat
(
"#.00"
).
format
(
sigar
.
getCpuPerc
().
getCombined
()
*
100
));
int
[]
cpuAndGpuTemp
=
CoreTempUtil
.
getCpuAndGpuTemp
();
// CPU温度
double
cpuTempV
=
cpuAndGpuTemp
[
0
];
Mem
mem
=
sigar
.
getMem
();
// 内存占用率
double
memoryOccupyRateV
=
Double
.
parseDouble
(
new
DecimalFormat
(
"#.00"
).
format
(
mem
.
getUsed
()
*
1.0
/
mem
.
getTotal
()
*
100
));
// 磁盘使用容量
String
collect
=
null
;
FileSystem
[]
diskStores
;
Map
<
String
,
Object
>
data
=
null
;
try
{
diskStores
=
sigar
.
getFileSystemList
();
collect
=
Arrays
.
stream
(
diskStores
)
.
filter
(
partition
->
StrUtil
.
isNotBlank
(
partition
.
getDevName
()))
.
filter
(
partition
->
2
==
partition
.
getType
())
.
map
(
partition
->
{
try
{
FileSystemUsage
usage
=
sigar
.
getFileSystemUsage
(
partition
.
getDirName
());
return
"\""
+
StrUtil
.
removeSuffix
(
partition
.
getDevName
(),
":\\"
)
+
"盘\":\""
+
new
DecimalFormat
(
"#.00"
).
format
(
100
d
*
(
usage
.
getTotal
()
-
usage
.
getFree
())
/
usage
.
getTotal
())
+
"%\""
;
}
catch
(
SigarException
e
)
{
log
.
error
(
"SigarException: {}"
,
e
.
getMessage
());
}
return
""
;
})
.
collect
(
Collectors
.
joining
(
","
,
"{"
,
"}"
));
}
catch
(
Exception
e
)
{
log
.
error
(
"硬盘数据获取失败"
,
e
);
}
data
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
cpuTemp
,
cpuTempV
)
.
put
(
cpuLoad
,
cpuLoadV
)
.
put
(
memoryOccupyRate
,
memoryOccupyRateV
)
.
put
(
diskFree
,
collect
)
.
build
();
log
.
info
(
"采集数据,上报属性: i:{}, mapData:{}"
,
i
,
data
);
List
<
KvEntry
>
attrData
=
getKvEntries
(
fromString
(
JSONUtil
.
toJsonStr
(
data
)));
DeviceData
dd
=
new
DeviceData
(
attrData
);
if
(
dd
!=
null
)
{
if
(!
dd
.
getAttributes
().
isEmpty
())
{
onDeviceAttributesUpdate
(
dd
.
getAttributes
());
}
}
}
catch
(
Throwable
e
)
{
log
.
error
(
"Real data monitor Runnable发生异常"
,
e
);
}
finally
{
i
++;
}
}
};
realDataMonitorScheduler
.
scheduleAtFixedRate
(
runnable
,
0
,
1
,
TimeUnit
.
SECONDS
);
}
private
void
onGatewayAttributesGet
(
String
message
)
{
log
.
info
(
"Configuration arrived! {}"
,
message
);
JsonNode
payload
=
fromString
(
message
);
...
...
@@ -750,12 +853,29 @@ public class MqttServiceImpl implements MqttService, MqttHandler, MqttClientCall
private
MqttClientSecurityConfiguration
getClientSecurityByMac
()
{
String
mac
=
null
;
MqttRpcDataMessage
mqttRpcDataMessage
=
null
;
try
{
mqttRpcDataMessage
=
readFromFile
(
"mac_addr"
);
mac
=
mqttRpcDataMessage
.
getParams
();
}
catch
(
IOException
e
)
{
log
.
warn
(
"未获取到MAC地址 FROM mac_addr"
);
}
try
{
mac
=
MacAddrUtil
.
get
();
if
(
null
==
mqttRpcDataMessage
)
{
mac
=
MacAddrUtil
.
getSigarMac
();
}
if
(
StrUtil
.
isBlank
(
mac
))
{
log
.
warn
(
"未获取到MAC地址"
);
return
null
;
}
MqttRpcDataMessage
mqttRpcDataMessaget
=
MqttRpcDataMessage
.
builder
()
.
sendTime
(
System
.
currentTimeMillis
())
.
method
(
"mac_addr"
)
.
params
(
mac
).
build
();
flushRpcDataToFile
(
mqttRpcDataMessaget
);
macAddrService
.
initMacAddr
(
mac
);
log
.
info
(
"获取到MAC地址:{}"
,
mac
);
// deviceInfo = StrUtil.format(deviceInfo, mac);
...
...
apq-pc-client/src/main/java/com/priusis/controller/ConfigController.java
浏览文件 @
99c9cd0d
...
...
@@ -4,10 +4,10 @@ import cn.hutool.core.convert.Convert;
import
cn.hutool.json.JSONArray
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
com.priusis.client.service.TenantManagerService
;
import
com.priusis.lib.R
;
import
com.priusis.utils.SysConfigUtil
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
apq-pc-client/src/main/java/com/priusis/controller/DeviceInfoController.java
浏览文件 @
99c9cd0d
...
...
@@ -6,11 +6,12 @@ import cn.hutool.core.util.StrUtil;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.lib.R
;
import
com.priusis.service.common.MacAddrService
;
import
com.priusis.utils.CoreTempUtil
;
import
com.priusis.utils.MacAddrUtil
;
import
com.priusis.utils.Oshi4NoneSigarUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.hyperic.sigar.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -34,6 +35,9 @@ import java.util.stream.Collectors;
@RequestMapping
(
value
=
"device_info"
)
public
class
DeviceInfoController
{
@Autowired
private
MacAddrService
macAddrService
;
private
Map
<
String
,
Object
>
info
;
Sigar
sigar
=
new
Sigar
();
...
...
@@ -125,7 +129,7 @@ public class DeviceInfoController {
info
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
"operatingSystem"
,
operatingSystem
)
.
put
(
"mac"
,
MacAddrUtil
.
get
())
.
put
(
"mac"
,
macAddrService
.
getMacAddr
())
.
put
(
"baseboard"
,
baseboard
)
.
put
(
"ip"
,
ip
)
.
put
(
"cpuModel"
,
cpuModel
)
...
...
apq-pc-client/src/main/java/com/priusis/controller/FacilityController.java
浏览文件 @
99c9cd0d
...
...
@@ -8,8 +8,9 @@ import cn.hutool.json.JSONObject;
import
cn.hutool.json.JSONUtil
;
import
com.google.common.collect.Maps
;
import
com.priusis.lib.R
;
import
com.priusis.
utils.MacAddrUtil
;
import
com.priusis.
service.common.MacAddrService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -41,10 +42,13 @@ public class FacilityController {
@Value
(
value
=
"${apq.url.device_info_g}"
)
private
String
deviceInfoUrl
;
@Autowired
private
MacAddrService
macAddrService
;
@PostMapping
(
"voiceCallPush"
)
public
R
voiceCallPush
()
{
String
reqUrl
=
gateway
+
voiceCallPushUrl
;
String
mac
=
MacAddrUtil
.
get
();
String
mac
=
macAddrService
.
getMacAddr
();
JSONObject
rsp
=
JSONUtil
.
parseObj
(
HttpUtil
.
post
(
reqUrl
,
JSONUtil
.
createObj
().
set
(
"macAddress"
,
mac
).
toString
()));
...
...
@@ -56,7 +60,7 @@ public class FacilityController {
@PostMapping
(
"voiceCall"
)
public
R
voiceCall
()
{
String
reqUrl
=
gateway
+
voiceCallUrl
;
String
mac
=
MacAddrUtil
.
get
();
String
mac
=
macAddrService
.
getMacAddr
();
// String mac = "68:ED:A4:1D:E8:00";
JSONObject
rsp
=
JSONUtil
.
parseObj
(
HttpUtil
.
post
(
reqUrl
,
JSONUtil
.
createObj
().
set
(
"macAddress"
,
mac
).
toString
()));
...
...
apq-pc-client/src/main/java/com/priusis/controller/FacilityPropertyController.java
浏览文件 @
99c9cd0d
...
...
@@ -6,8 +6,9 @@ import cn.hutool.json.JSONObject;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.dto.FacilityPropertyPCAddDto
;
import
com.priusis.lib.R
;
import
com.priusis.
utils.MacAddrUtil
;
import
com.priusis.
service.common.MacAddrService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -39,14 +40,17 @@ public class FacilityPropertyController {
@Value
(
value
=
"${apq.client.tenantId}"
)
private
Long
tenantId
;
@Autowired
private
MacAddrService
macAddrService
;
@PostMapping
(
"/upd"
)
public
R
pcUpdFacility
(
@RequestBody
@Valid
FacilityPropertyPCAddDto
dto
)
{
String
reqUrl
=
gateway
+
StrUtil
.
format
(
facilityPropertyUpdateUrl
);
dto
.
setMacAddress
(
MacAddrUtil
.
get
());
dto
.
setMacAddress
(
macAddrService
.
getMacAddr
());
dto
.
setTenantId
(
tenantId
);
String
result
=
HttpUtil
.
post
(
reqUrl
,
JSONUtil
.
toJsonStr
(
dto
));
JSONObject
jsonObject
=
JSONUtil
.
parseObj
(
result
);
if
(!
Objects
.
equals
(
jsonObject
.
get
(
"code"
),
0
)
)
{
if
(!
Objects
.
equals
(
jsonObject
.
get
(
"code"
),
0
)
)
{
log
.
error
(
"设备资产维护异常,{}"
,
jsonObject
.
get
(
"msg"
));
return
R
.
error
();
}
...
...
@@ -55,7 +59,7 @@ public class FacilityPropertyController {
@GetMapping
(
"info"
)
public
R
info
()
{
String
reqUrl
=
gateway
+
StrUtil
.
format
(
facilityPropertyViewUrl
,
MacAddrUtil
.
get
());
String
reqUrl
=
gateway
+
StrUtil
.
format
(
facilityPropertyViewUrl
,
macAddrService
.
getMacAddr
());
String
resultData
=
HttpUtil
.
get
(
reqUrl
,
3000
);
JSONObject
data
=
JSONUtil
.
parseObj
(
resultData
,
true
);
JSONObject
data1
=
data
.
getJSONObject
(
"data"
);
...
...
apq-pc-client/src/main/java/com/priusis/controller/ProgramController.java
浏览文件 @
99c9cd0d
...
...
@@ -4,11 +4,9 @@ import cn.hutool.core.collection.CollUtil;
import
cn.hutool.core.collection.ConcurrentHashSet
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.io.StreamProgress
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.BooleanUtil
;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpResponse
;
...
...
@@ -20,14 +18,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.google.common.collect.Lists
;
import
com.priusis.cache.InstalledProgramCache
;
import
com.priusis.lib.R
;
import
com.priusis.
utils.MacAddrUtil
;
import
com.priusis.
service.common.MacAddrService
;
import
com.priusis.utils.ProcessExtensionsApqUtil
;
import
com.priusis.utils.SysConfigUtil
;
import
com.priusis.vo.FacilityProgramVo
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
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.*
;
...
...
@@ -107,6 +105,9 @@ public class ProgramController {
@Resource
private
InstalledProgramCache
installedProgramCache
;
@Autowired
private
MacAddrService
macAddrService
;
private
static
final
double
MIN_MATCH
=
0.5
;
@GetMapping
(
value
=
"{type}/list"
)
...
...
@@ -114,7 +115,7 @@ public class ProgramController {
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Integer
current
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
Integer
size
)
{
try
{
String
mac
=
MacAddrUtil
.
get
();
String
mac
=
macAddrService
.
getMacAddr
();
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
));
...
...
@@ -236,7 +237,7 @@ public class ProgramController {
MAP.remove(key);
if (exitVal == 0) {
String reqUrl = gateway + StrUtil.format(type.equals("install") ? installStatusUpIssueUrl : upgradeStatusUpIssueUrl,
MacAddrUtil.get
(), id);
macAddrService.getMacAddr
(), id);
HttpUtil.post(reqUrl, (String) null);
}
}));
...
...
@@ -263,7 +264,7 @@ public class ProgramController {
public
R
<
Void
>
installSuccess
(
@PathVariable
@Pattern
(
regexp
=
"install|upgrade"
)
String
type
,
@RequestParam
@NotNull
Long
id
)
{
String
reqUrl
=
gateway
+
StrUtil
.
format
(
type
.
equals
(
"install"
)
?
installStatusUpIssueUrl
:
upgradeStatusUpIssueUrl
,
MacAddrUtil
.
get
(),
id
);
macAddrService
.
getMacAddr
(),
id
);
HttpUtil
.
post
(
reqUrl
,
(
String
)
null
);
return
R
.
success
();
}
...
...
@@ -310,7 +311,7 @@ public class ProgramController {
//// @Scheduled(fixedDelay = 60000)
public
void
addProgram2Platform
()
throws
IOException
{
String
mac
=
MacAddrUtil
.
get
();
String
mac
=
macAddrService
.
getMacAddr
();
if
(
StrUtil
.
isBlank
(
mac
))
{
log
.
warn
(
"未获取到MAC地址"
);
return
;
...
...
@@ -404,7 +405,7 @@ public class ProgramController {
System
.
out
.
println
(
11
);
}
@Scheduled
(
fixedDelay
=
360000
)
//
@Scheduled(fixedDelay = 360000)
protected
void
autoUpgradeJob
()
{
try
{
log
.
info
(
"执行自动安装文件 ==============1"
);
...
...
@@ -441,7 +442,7 @@ public class ProgramController {
}
log
.
info
(
"执行安装文件 =============="
);
// if (exitVal == 0) {
// String reqUrl = gateway + StrUtil.format(upgradeStatusUpIssueUrl,
MacAddrUtil.get
(), m.get("id"));
// String reqUrl = gateway + StrUtil.format(upgradeStatusUpIssueUrl,
macAddrService.getMacAddr
(), m.get("id"));
// HttpUtil.post(reqUrl, (String) null);
// }
});
...
...
apq-pc-client/src/main/java/com/priusis/controller/RemoteControlController.java
浏览文件 @
99c9cd0d
...
...
@@ -8,11 +8,12 @@ import cn.hutool.json.JSONObject;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.cache.InstalledProgramCache
;
import
com.priusis.lib.R
;
import
com.priusis.
utils.MacAddrUtil
;
import
com.priusis.
service.common.MacAddrService
;
import
com.priusis.utils.SysConfigUtil
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.ini4j.ConfigParser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -56,6 +57,9 @@ public class RemoteControlController {
@Resource
private
InstalledProgramCache
installedProgramCache
;
@Autowired
private
MacAddrService
macAddrService
;
@PostConstruct
public
void
init
()
{
try
{
// 关闭VNC Server服务的自启动
...
...
@@ -184,7 +188,7 @@ public class RemoteControlController {
JSONObject
rsp
=
JSONUtil
.
parseObj
(
HttpUtil
.
post
(
gateway
+
sendControlReqUrl
,
JSONUtil
.
createObj
().
set
(
"controlDate"
,
minutes
)
.
set
(
"macAddress"
,
MacAddrUtil
.
get
())
.
set
(
"macAddress"
,
macAddrService
.
getMacAddr
())
.
set
(
"type"
,
1
).
toString
()));
if
(
ObjectUtil
.
notEqual
(
rsp
.
getInt
(
"code"
),
0
))
return
R
.
error
(
rsp
.
getStr
(
"msg"
));
return
R
.
success
();
...
...
@@ -195,7 +199,7 @@ public class RemoteControlController {
private
String
getRemoteId
()
{
if
(
StrUtil
.
isNotBlank
(
remoteId
))
return
remoteId
;
String
mac
=
MacAddrUtil
.
get
();
String
mac
=
macAddrService
.
getMacAddr
();
JSONObject
rsp
=
JSONUtil
.
parseObj
(
HttpUtil
.
get
(
gateway
+
StrUtil
.
format
(
deviceInfoUrl
,
mac
)));
if
(
ObjectUtil
.
notEqual
(
rsp
.
getInt
(
"code"
),
0
))
{
log
.
error
(
"查询设备信息失败, msg: {}"
,
rsp
.
getStr
(
"msg"
));
...
...
apq-pc-common/dact/x32/HwPortController.dll
浏览文件 @
99c9cd0d
No preview for this file type
apq-pc-common/src/main/java/com/priusis/
vo
/MqttRpcDataMessage.java
→
apq-pc-common/src/main/java/com/priusis/
client/service
/MqttRpcDataMessage.java
浏览文件 @
99c9cd0d
package
com
.
priusis
.
vo
;
package
com
.
priusis
.
client
.
service
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
MqttRpcDataMessage
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3133461476074777891L
;
...
...
apq-pc-common/src/main/java/com/priusis/job/ApqAntivirusJob.java
浏览文件 @
99c9cd0d
package
com
.
priusis
.
job
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.io.file.PathUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.service.antivirus.AntivirusDoService
;
import
com.priusis.utils.ProcessExtensionsApqUtil
;
import
com.priusis.utils.WinExecuteUtils
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnExpression
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.scheduling.annotation.Scheduled
;
...
...
@@ -22,12 +15,8 @@ import org.springframework.web.client.RestClientException;
import
org.springframework.web.client.RestTemplate
;
import
java.io.File
;
import
java.io.FileFilter
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
@Slf4j
@Component
...
...
apq-pc-common/src/main/java/com/priusis/job/ApqControlJob.java
浏览文件 @
99c9cd0d
...
...
@@ -6,7 +6,7 @@ import cn.hutool.json.JSONUtil;
import
com.priusis.dto.HwPortControllerDto
;
import
com.priusis.service.control.DeviceChangeCallbackImpl
;
import
com.priusis.utils.*
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnExpression
;
...
...
@@ -167,7 +167,7 @@ public class ApqControlJob {
log
.
debug
(
"APQ_HWPORT_get_normal_device_permit doType:{}, limitType;{},value:{}, hwDeviceId:{}, name;{}, perm:{}, ret:{}"
,
doType
,
limitType
,
value
,
hwDeviceId
,
hwDeviceName
,
perm
,
result31
);
if
(
result31
==
2
)
{
mapRequest
.
put
(
deviceHardwareEnum
.
name
(),
perm
);
mapRequest
.
put
(
deviceHardwareEnum
.
name
(),
result31
);
}
}
}
...
...
@@ -184,7 +184,7 @@ public class ApqControlJob {
log
.
info
(
"APQ_HWPORT_get_storage_device_permit doType:{}, limitType;{},value:{}, hwDeviceId:{}, name;{}, perm:{}, ret:{}"
,
doType
,
limitType
,
value
,
hwDeviceId
,
hwDeviceName
,
perm
,
result32
);
if
(
perm
!=
result32
)
{
mapRequest
.
put
(
deviceHardwareEnum
.
name
(),
perm
);
mapRequest
.
put
(
deviceHardwareEnum
.
name
(),
result32
);
}
}
}
else
if
(
Objects
.
equals
(
deviceHardwareEnum
.
getHwGroup
(),
"NET"
))
{
// 设置网络设备权限
...
...
@@ -199,7 +199,7 @@ public class ApqControlJob {
log
.
info
(
"APQ_HWPORT_get_net_device_permit doType:{}, limitType;{},value:{}, hwDeviceId:{}, name;{}, perm:{}, ret:{}"
,
doType
,
limitType
,
value
,
hwDeviceId
,
hwDeviceName
,
perm
,
result32
);
if
(
perm
!=
result32
)
{
mapRequest
.
put
(
deviceHardwareEnum
.
name
(),
perm
);
mapRequest
.
put
(
deviceHardwareEnum
.
name
(),
result32
);
}
}
}
...
...
apq-pc-common/src/main/java/com/priusis/job/ApqInfoJob.java
浏览文件 @
99c9cd0d
package
com
.
priusis
.
job
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.io.unit.DataSizeUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.StrUtil
;
...
...
@@ -8,13 +7,13 @@ import cn.hutool.http.HttpUtil;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.system.oshi.CpuInfo
;
import
cn.hutool.system.oshi.OshiUtil
;
import
com.priusis.service.common.MacAddrService
;
import
com.priusis.utils.CoreTempUtil
;
import
com.priusis.utils.DiskSmartUtil
;
import
com.priusis.utils.MacAddrUtil
;
import
com.priusis.utils.Oshi4NoneSigarUtil
;
import
com.priusis.utils.sigar.SigarUtil
;
import
com.priusis.vo.ApqInfoDataVo
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
com.priusis.vo.RemoteDeviceVoResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.hyperic.sigar.*
;
...
...
@@ -46,6 +45,9 @@ public class ApqInfoJob {
@Autowired
private
RestTemplate
restTemplate
;
@Autowired
private
MacAddrService
macAddrService
;
@Value
(
value
=
"${apq.iot-gateway}"
)
private
String
gateway
;
...
...
@@ -179,7 +181,7 @@ public class ApqInfoJob {
try
{
baseboardV
=
Oshi4NoneSigarUtil
.
getBaseboardWithCache
();
// 获取主板信息 缓存;
ipV
=
InetAddress
.
getLocalHost
().
getHostAddress
();
ethernetV
=
SigarUtil
.
ethernet
(
sigar
);
ethernetV
=
SigarUtil
.
ethernet
Simple
(
sigar
);
diskTempV
=
DiskSmartUtil
.
getDeviceTemp
();
org
.
hyperic
.
sigar
.
CpuInfo
cpuInfo
=
sigar
.
getCpuInfoList
()[
0
];
...
...
@@ -216,7 +218,7 @@ public class ApqInfoJob {
diskSpeedV
=
SigarUtil
.
diskSpeed
(
sigar
);
data
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
isNeedCollection
(
isNoneEven
,
operatingSystem
,
mapParams
),
operatingSystem
,
operatingSystemV
)
.
put
(
isNeedCollection
(
isNoneEven
,
mac
,
mapParams
),
mac
,
MacAddrUtil
.
get
())
.
put
(
isNeedCollection
(
isNoneEven
,
mac
,
mapParams
),
mac
,
macAddrService
.
getMacAddr
())
.
put
(
isNeedCollection
(
isNoneEven
,
baseboard
,
mapParams
),
baseboard
,
baseboardV
)
.
put
(
isNeedCollection
(
isNoneEven
,
ip
,
mapParams
),
ip
,
ipV
)
.
put
(
isNeedCollection
(
isNoneEven
,
cpuModel
,
mapParams
),
cpuModel
,
cpuModelV
)
...
...
@@ -249,7 +251,7 @@ public class ApqInfoJob {
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"tenantId"
,
tenantId
);
params
.
put
(
"productId"
,
productId
);
params
.
put
(
"macAddress"
,
MacAddrUtil
.
get
());
params
.
put
(
"macAddress"
,
macAddrService
.
getMacAddr
());
params
.
put
(
"name"
,
computerName
);
String
remoteDeviceVoJson
=
HttpUtil
.
post
(
gateway
+
deviceUpdateNameUrl
,
JSONUtil
.
toJsonStr
(
params
),
5000
);
RemoteDeviceVoResult
remoteDeviceVo
=
JSONUtil
.
toBean
(
remoteDeviceVoJson
,
RemoteDeviceVoResult
.
class
);
...
...
@@ -322,10 +324,11 @@ public class ApqInfoJob {
// 更新采集到的硬件信息
try
{
MqttRpcDataMessage
mqttRpcDataMessage
=
new
MqttRpcDataMessage
();
mqttRpcDataMessage
.
setSendTime
(
System
.
currentTimeMillis
());
mqttRpcDataMessage
.
setMethod
(
"hardware_warning"
);
mqttRpcDataMessage
.
setParams
(
Convert
.
toStr
(
hardwareCache
));
MqttRpcDataMessage
mqttRpcDataMessage
=
MqttRpcDataMessage
.
builder
()
.
sendTime
(
System
.
currentTimeMillis
())
.
method
(
"hardware_warning"
)
.
params
(
JSONUtil
.
toJsonStr
(
hardwareCache
)).
build
();
restTemplate
.
postForObject
(
"http://localhost:8765/rpc_cmd"
,
mqttRpcDataMessage
,
String
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"采集数据异常"
,
e
);
...
...
@@ -335,10 +338,10 @@ public class ApqInfoJob {
hardwareCache
.
put
(
type
,
hardwareCacheRefresh
);
// 更新采集到的硬件信息
try
{
MqttRpcDataMessage
mqttRpcDataMessage
=
new
MqttRpcDataMessage
();
mqttRpcDataMessage
.
setSendTime
(
System
.
currentTimeMillis
());
mqttRpcDataMessage
.
setMethod
(
"hardware_warning"
);
mqttRpcDataMessage
.
setParams
(
JSONUtil
.
toJsonStr
(
hardwareCache
)
);
MqttRpcDataMessage
mqttRpcDataMessage
=
MqttRpcDataMessage
.
builder
()
.
sendTime
(
System
.
currentTimeMillis
())
.
method
(
"hardware_warning"
)
.
params
(
JSONUtil
.
toJsonStr
(
hardwareCache
)).
build
(
);
restTemplate
.
postForObject
(
"http://localhost:8765/rpc_cmd"
,
mqttRpcDataMessage
,
String
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"采集数据异常"
,
e
);
...
...
apq-pc-common/src/main/java/com/priusis/job/ApqNetControlJob.java
浏览文件 @
99c9cd0d
...
...
@@ -3,14 +3,10 @@ package com.priusis.job;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.dto.HwPortControllerDto
;
import
com.priusis.dto.NetPortControllerDto
;
import
com.priusis.service.control.DeviceChangeCallbackImpl
;
import
com.priusis.utils.IHwPortController
;
import
com.priusis.utils.WinExecuteUtils
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.io.IOUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnExpression
;
import
org.springframework.http.ResponseEntity
;
...
...
@@ -18,17 +14,9 @@ import org.springframework.scheduling.annotation.Scheduled;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.client.RestTemplate
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.PreDestroy
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.nio.charset.StandardCharsets
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ScheduledExecutorService
;
@Slf4j
@Component
...
...
apq-pc-common/src/main/java/com/priusis/job/ApqRegister4BackListJob.java
浏览文件 @
99c9cd0d
...
...
@@ -4,7 +4,7 @@ import cn.hutool.core.util.StrUtil;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.dto.RegisterParamDto
;
import
com.priusis.utils.WinExecuteUtils
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnExpression
;
...
...
@@ -37,7 +37,7 @@ public class ApqRegister4BackListJob {
@Autowired
private
RestTemplate
restTemplate
;
@Scheduled
(
fixedDelay
=
60
0000L
)
@Scheduled
(
fixedDelay
=
12
0000L
)
protected
void
registerProgramTask
()
{
log
.
info
(
"软件检测上报================="
);
...
...
apq-pc-common/src/main/java/com/priusis/job/ApqRegister4WhiteListJob.java
浏览文件 @
99c9cd0d
...
...
@@ -5,7 +5,7 @@ import cn.hutool.core.util.StrUtil;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.dto.RegisterParamDto
;
import
com.priusis.utils.WinExecuteUtils
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnExpression
;
...
...
@@ -70,7 +70,7 @@ public class ApqRegister4WhiteListJob {
@Autowired
private
RestTemplate
restTemplate
;
@Scheduled
(
fixedDelay
=
60
0000L
)
@Scheduled
(
fixedDelay
=
12
0000L
)
protected
void
registerProgramTask
()
{
log
.
info
(
"软件检测上报================="
);
...
...
apq-pc-common/src/main/java/com/priusis/service/common/MacAddrService.java
0 → 100644
浏览文件 @
99c9cd0d
package
com
.
priusis
.
service
.
common
;
import
com.priusis.client.service.MqttRpcDataMessage
;
import
com.priusis.utils.MacAddrUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.client.RestClientException
;
import
org.springframework.web.client.RestTemplate
;
@Slf4j
@Component
public
class
MacAddrService
{
private
static
String
macAddr
;
@Autowired
private
RestTemplate
restTemplate
;
/**
* 获取MAC地址
*/
public
void
initMacAddr
(
String
macAddr
)
{
this
.
macAddr
=
macAddr
;
}
/**
* 获取MAC地址
*/
public
String
getMacAddr
()
{
try
{
if
(
null
==
macAddr
)
{
// 获取采集到的硬件信息
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
null
;
try
{
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/mac_addr"
,
MqttRpcDataMessage
.
class
);
if
(
null
!=
forEntity
)
{
MqttRpcDataMessage
body
=
forEntity
.
getBody
();
macAddr
=
body
.
getParams
();
}
}
catch
(
Exception
e
)
{
log
.
error
(
"采集数据异常"
,
e
);
}
}
if
(
null
==
macAddr
)
{
try
{
macAddr
=
MacAddrUtil
.
getSigarMac
();
MqttRpcDataMessage
mqttRpcDataMessage
=
MqttRpcDataMessage
.
builder
()
.
sendTime
(
System
.
currentTimeMillis
())
.
method
(
"mac_addr"
)
.
params
(
macAddr
).
build
();
restTemplate
.
postForObject
(
"http://localhost:8765/rpc_cmd"
,
mqttRpcDataMessage
,
String
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"采集数据异常"
,
e
);
}
}
}
catch
(
RestClientException
e
)
{
log
.
error
(
"macAddr异常"
);
}
return
macAddr
;
}
}
apq-pc-common/src/main/java/com/priusis/utils/CoreTempUtil.java
浏览文件 @
99c9cd0d
package
com
.
priusis
.
utils
;
import
cn.hutool.system.oshi.OshiUtil
;
import
com.sun.jna.NativeLibrary
;
import
com.sun.jna.ptr.IntByReference
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -40,7 +39,7 @@ public class CoreTempUtil {
cpuAndGpuTemp
[
1
]
=
gpuTempV
;
return
cpuAndGpuTemp
;
}
catch
(
Exception
e
)
{
}
catch
(
Throwable
e
)
{
log
.
error
(
"获取CPU温度异常"
,
e
);
cpuAndGpuTemp
[
0
]
=
0
;
cpuAndGpuTemp
[
1
]
=
0
;
...
...
apq-pc-common/src/main/java/com/priusis/utils/MacAddrUtil.java
浏览文件 @
99c9cd0d
...
...
@@ -5,6 +5,8 @@ import org.hyperic.sigar.NetFlags;
import
org.hyperic.sigar.NetInterfaceConfig
;
import
org.hyperic.sigar.Sigar
;
import
org.hyperic.sigar.SigarException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.client.RestTemplate
;
/**
* @author yangli
...
...
@@ -12,7 +14,8 @@ import org.hyperic.sigar.SigarException;
*/
@Slf4j
public
final
class
MacAddrUtil
{
public
static
String
get
()
{
public
static
String
getSigarMac
()
{
Sigar
sigar
=
new
Sigar
();
String
[]
ifaces
=
null
;
try
{
...
...
@@ -33,6 +36,6 @@ public final class MacAddrUtil {
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
MacAddrUtil
.
get
());
System
.
out
.
println
(
MacAddrUtil
.
get
SigarMac
());
}
}
apq-pc-common/src/main/java/com/priusis/utils/Oshi4NoneSigarUtil.java
浏览文件 @
99c9cd0d
...
...
@@ -82,12 +82,14 @@ public class Oshi4NoneSigarUtil {
}
public
static
void
main
(
String
[]
args
)
throws
SigarException
{
System
.
out
.
println
(
Oshi4NoneSigarUtil
.
getDiskStoresModelFromOshi
());
//
System.out.println(Oshi4NoneSigarUtil.getDiskStoresModelFromOshi());
/*Sigar sigar = new Sigar();
FileSystem[] diskStores = sigar.getFileSystemList();
for (FileSystem diskStore : diskStores) {
System.out.println(diskStore.getSysTypeName());
}*/
System
.
out
.
println
(
getDiskStoresModelJsonFromOshi
());
}
}
apq-pc-common/src/main/java/com/priusis/utils/sigar/SigarUtil.java
浏览文件 @
99c9cd0d
...
...
@@ -39,7 +39,7 @@ public class SigarUtil {
// memory();
// System.out.println("----------------------------------");
// // 操作系统信息
os
();
//
os();
// System.out.println("----------------------------------");
// // 用户信息
// who();
...
...
@@ -52,8 +52,8 @@ public class SigarUtil {
// net();
// System.out.println("----------------------------------");
// // 以太网信息
// System.out.println(ethernet(
));
//
System.out.println("----------------------------------");
System
.
out
.
println
(
ethernet
(
sigar
));
System
.
out
.
println
(
"----------------------------------"
);
Thread
.
sleep
(
15000
);
}
...
...
@@ -486,4 +486,34 @@ public class SigarUtil {
sb
.
append
(
"]"
);
return
sb
.
toString
();
}
public
static
String
ethernetSimple
(
Sigar
sigar
)
throws
SigarException
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"["
);
int
index
=
0
;
try
{
String
[]
ifaces
=
sigar
.
getNetInterfaceList
();
for
(
int
i
=
0
;
i
<
ifaces
.
length
;
i
++)
{
String
iface
=
ifaces
[
i
];
NetInterfaceConfig
cfg
=
sigar
.
getNetInterfaceConfig
(
iface
);
if
(
NetFlags
.
LOOPBACK_ADDRESS
.
equals
(
cfg
.
getAddress
())
||
(
cfg
.
getFlags
()
&
NetFlags
.
IFF_LOOPBACK
)
!=
0
||
NetFlags
.
NULL_HWADDR
.
equals
(
cfg
.
getHwaddr
())
||
NetFlags
.
ANY_ADDR
.
equals
(
cfg
.
getAddress
()))
{
continue
;
}
if
(
index
!=
0
)
{
sb
.
append
(
","
);
}
sb
.
append
(
"{"
);
sb
.
append
(
"\"name\":\""
).
append
(
cfg
.
getName
()).
append
(
"\","
);
// name
sb
.
append
(
"\"hwaddr\":\""
).
append
(
cfg
.
getHwaddr
()).
append
(
"\","
);
// 网卡MAC地址
sb
.
append
(
"\"address\":\""
).
append
(
cfg
.
getAddress
()).
append
(
"\""
);
// IP地址
sb
.
append
(
"}"
);
index
++;
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取ethernet信息异常"
,
e
);
}
sb
.
append
(
"]"
);
return
sb
.
toString
();
}
}
apq-pc-common/src/test/java/com/priusis/RestTest.java
浏览文件 @
99c9cd0d
package
com
.
priusis
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
apq-pc-control/src/test/java/com/priusis/RestTest.java
浏览文件 @
99c9cd0d
package
com
.
priusis
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
apq-pc-info/src/test/java/com/priusis/RestTest.java
浏览文件 @
99c9cd0d
...
...
@@ -3,8 +3,8 @@ package com.priusis;
import
cn.hutool.core.io.unit.DataSizeUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.system.oshi.OshiUtil
;
import
com.priusis.
utils.MacAddrUtil
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
service.common.MacAddrService
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -23,6 +23,9 @@ public class RestTest {
@Autowired
private
RestTemplate
restTemplate
;
@Autowired
private
MacAddrService
macAddrService
;
@Test
public
void
test1
()
throws
Exception
{
// 获取采集配置,数据上报频率 params == data
...
...
@@ -33,7 +36,7 @@ public class RestTest {
// 上报PC实时信息
Map
<
String
,
Object
>
data
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
"operatingSystem"
,
OshiUtil
.
getOs
().
toString
())
.
put
(
"mac"
,
MacAddrUtil
.
get
())
.
put
(
"mac"
,
macAddrService
.
getMacAddr
())
.
put
(
"baseboard"
,
OshiUtil
.
getSystem
().
getBaseboard
().
getManufacturer
()
+
" "
+
OshiUtil
.
getSystem
().
getBaseboard
().
getVersion
())
.
put
(
"ip"
,
InetAddress
.
getLocalHost
().
getHostAddress
())
.
put
(
"cpuModel"
,
OshiUtil
.
getCpuInfo
(
0
).
getCpuModel
())
...
...
apq-pc-register/src/test/java/com/priusis/RestTest.java
浏览文件 @
99c9cd0d
package
com
.
priusis
;
import
com.priusis.
vo
.MqttRpcDataMessage
;
import
com.priusis.
client.service
.MqttRpcDataMessage
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
doc/硬件接口及硬盘异常.txt
0 → 100644
浏览文件 @
99c9cd0d
{
"requestId": 3,
"methodName": "control_warning",
"params": {
"MOUSE_KEYBOARD/DONGLE/USB_TRANSFORM/CAMERA/SERIAL_PORT/GPIO/BLUETOOTH": 1/2, (1:拒绝, 2:允许)
"USB_DRIVE/MOBILE_DRIVE/CD_DRIVE/TYPE_C": 1/2/3/4/5/6, (1拒绝 2 3 4 5 6允许)
"NETWORK_PORT/MODULE_45G/WIFI": 1/2/3/4, (1拒绝 2 3 4允许)
}
}
MOUSE_KEYBOARD: "鼠标键盘"
DONGLE: "加密狗"
USB_TRANSFORM: "USB转换"
CAMERA: "摄像头"
SERIAL_PORT: "串口"
GPIO: "GPIO"
BLUETOOTH: "无线蓝牙"
USB_DRIVE: "U盘"
MOBILE_DRIVE: "移动硬盘"
CD_DRIVE: "驱动"
TYPE_C: "TYPE_C"
NETWORK_PORT: "网口"
MODULE_45G: "4G/5G模块"
WIFI: "无线WIFI"
{
"requestId": 5,
"methodName": "hardware_warning",
"params": {
"type":"hard_disk",
"PHYSICALDRIVE0":{
"name":"PHYSICALDRIVE0",
"type":"Reduce",
"value":"Samsung Flash Drive USB Device2"
},
"PHYSICALDRIVE1":{
"name":"PHYSICALDRIVE1",
"type":"Add",
"value":"Samsung Flash Drive USB Device(AA00000000000489)"
}
}
}
?
{
"requestId": 5,
"methodName": "hardware_warning",
"params": {
"type":"hard_disk",
[{
"name":"PHYSICALDRIVE0",
"type":"Reduce",
"value":"Samsung Flash Drive USB Device2"
},
{
"name":"PHYSICALDRIVE1",
"type":"Add",
"value":"Samsung Flash Drive USB Device(AA00000000000489)"
}]
}
}
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论