Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
haikang-client
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
杨立
haikang-client
Commits
6c622901
提交
6c622901
authored
10月 18, 2021
作者:
wangqiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
install service
上级
73d2dcb6
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
591 行增加
和
350 行删除
+591
-350
pom.xml
apq-pc-client/pom.xml
+0
-0
ApqClientApplication.java
...lient/src/main/java/com/priusis/ApqClientApplication.java
+17
-17
DeviceInfoController.java
...ain/java/com/priusis/controller/DeviceInfoController.java
+0
-0
ApqInfoDataVo.java
...pc-client/src/main/java/com/priusis/vo/ApqInfoDataVo.java
+14
-0
MqttRpcDataMessage.java
...ient/src/main/java/com/priusis/vo/MqttRpcDataMessage.java
+23
-0
install.bat
apq-pc-client/src/main/scripts/windows/install.bat
+88
-88
install2.bat
apq-pc-client/src/main/scripts/windows/install2.bat
+88
-88
ApqControlApplication.java
...trol/src/main/java/com/priusis/ApqControlApplication.java
+0
-0
application.yml
apq-pc-control/src/main/resources/application.yml
+10
-8
InfoController.java
.../src/main/java/com/priusis/controller/InfoController.java
+159
-0
R.java
apq-pc-info/src/main/java/com/priusis/lib/R.java
+40
-0
application.yml
apq-pc-info/src/main/resources/application.yml
+9
-8
ApqRegisterApplication.java
...ter/src/main/java/com/priusis/ApqRegisterApplication.java
+121
-122
application.yml
apq-pc-register/src/main/resources/application.yml
+10
-8
apq-client.iss
tools/install-package/boot/apq-client/apq-client.iss
+0
-0
启动服务S.bat
tools/install-package/boot/apq-client/bak/启动服务S.bat
+12
-11
没有可用的文件名
+0
-0
没有找到文件。
apq-pc-client/pom.xml
浏览文件 @
6c622901
差异被折叠。
点击展开。
apq-pc-client/src/main/java/com/priusis/ApqClientApplication.java
浏览文件 @
6c622901
package
com
.
priusis
;
package
com
.
priusis
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
;
import
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
@EnableScheduling
@EnableScheduling
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
,
SecurityAutoConfiguration
.
class
})
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
,
SecurityAutoConfiguration
.
class
})
public
class
ApqClientApplication
{
public
class
ApqClientApplication
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
ApqClientApplication
.
class
,
args
);
SpringApplication
.
run
(
ApqClientApplication
.
class
,
args
);
}
}
}
}
apq-pc-client/src/main/java/com/priusis/controller/DeviceInfoController.java
浏览文件 @
6c622901
差异被折叠。
点击展开。
apq-pc-client/src/main/java/com/priusis/vo/ApqInfoDataVo.java
0 → 100644
浏览文件 @
6c622901
package
com
.
priusis
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
ApqInfoDataVo
implements
Serializable
{
private
String
code
;
private
String
name
;
private
int
frequency
;
}
apq-pc-client/src/main/java/com/priusis/vo/MqttRpcDataMessage.java
0 → 100644
浏览文件 @
6c622901
package
com
.
priusis
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
MqttRpcDataMessage
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3133461476074777891L
;
private
int
requestId
;
private
String
method
;
private
String
params
;
@Override
public
String
toString
()
{
return
"{requestId="
+
requestId
+
", method="
+
method
+
", params="
+
params
+
'}'
;
}
}
apq-pc-client/src/main/scripts/windows/install.bat
浏览文件 @
6c622901
@ECHO OFF
@ECHO OFF
setlocal ENABLEEXTENSIONS
setlocal ENABLEEXTENSIONS
@ECHO Detecting Java version installed.
@ECHO Detecting Java version installed.
:CHECK_JAVA_64
:CHECK_JAVA_64
@ECHO Detecting if it is 64 bit machine
@ECHO Detecting if it is 64 bit machine
set KEY_NAME="HKEY_LOCAL_MACHINE\Software\Wow6432Node\JavaSoft\Java Runtime Environment"
set KEY_NAME="HKEY_LOCAL_MACHINE\Software\Wow6432Node\JavaSoft\Java Runtime Environment"
set VALUE_NAME=CurrentVersion
set VALUE_NAME=CurrentVersion
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName=%%A
set ValueName=%%A
set ValueType=%%B
set ValueType=%%B
set ValueValue=%%C
set ValueValue=%%C
)
)
@ECHO CurrentVersion %ValueValue%
@ECHO CurrentVersion %ValueValue%
SET KEY_NAME="%KEY_NAME:~1,-1%\%ValueValue%"
SET KEY_NAME="%KEY_NAME:~1,-1%\%ValueValue%"
SET VALUE_NAME=JavaHome
SET VALUE_NAME=JavaHome
if defined ValueName (
if defined ValueName (
FOR /F "usebackq skip=2 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
FOR /F "usebackq skip=2 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName2=%%A
set ValueName2=%%A
set ValueType2=%%B
set ValueType2=%%B
set JRE_PATH2=%%C
set JRE_PATH2=%%C
if defined ValueName2 (
if defined ValueName2 (
set ValueName = %ValueName2%
set ValueName = %ValueName2%
set ValueType = %ValueType2%
set ValueType = %ValueType2%
set ValueValue = %JRE_PATH2%
set ValueValue = %JRE_PATH2%
)
)
)
)
)
)
IF NOT "%JRE_PATH2%" == "" GOTO JAVA_INSTALLED
IF NOT "%JRE_PATH2%" == "" GOTO JAVA_INSTALLED
:CHECK_JAVA_32
:CHECK_JAVA_32
@ECHO Detecting if it is 32 bit machine
@ECHO Detecting if it is 32 bit machine
set KEY_NAME="HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment"
set KEY_NAME="HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment"
set VALUE_NAME=CurrentVersion
set VALUE_NAME=CurrentVersion
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName=%%A
set ValueName=%%A
set ValueType=%%B
set ValueType=%%B
set ValueValue=%%C
set ValueValue=%%C
)
)
@ECHO CurrentVersion %ValueValue%
@ECHO CurrentVersion %ValueValue%
SET KEY_NAME="%KEY_NAME:~1,-1%\%ValueValue%"
SET KEY_NAME="%KEY_NAME:~1,-1%\%ValueValue%"
SET VALUE_NAME=JavaHome
SET VALUE_NAME=JavaHome
if defined ValueName (
if defined ValueName (
FOR /F "usebackq skip=2 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
FOR /F "usebackq skip=2 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName2=%%A
set ValueName2=%%A
set ValueType2=%%B
set ValueType2=%%B
set JRE_PATH2=%%C
set JRE_PATH2=%%C
if defined ValueName2 (
if defined ValueName2 (
set ValueName = %ValueName2%
set ValueName = %ValueName2%
set ValueType = %ValueType2%
set ValueType = %ValueType2%
set ValueValue = %JRE_PATH2%
set ValueValue = %JRE_PATH2%
)
)
)
)
)
)
IF "%JRE_PATH2%" == "" GOTO JAVA_NOT_INSTALLED
IF "%JRE_PATH2%" == "" GOTO JAVA_NOT_INSTALLED
:JAVA_INSTALLED
:JAVA_INSTALLED
@ECHO Java 1.8 found!
@ECHO Java 1.8 found!
@ECHO Installing apq-pc-client ...
@ECHO Installing apq-pc-client ...
%~dp0apq-pc-client.exe install
%~dp0apq-pc-client.exe install
@ECHO run
ing apq-pc-client ...
@ECHO run
ning apq-pc-client ...
%~dp0apq-pc-client.exe start
%~dp0apq-pc-client.exe start
@ECHO DONE.
@ECHO DONE.
GOTO END
GOTO END
:JAVA_NOT_INSTALLED
:JAVA_NOT_INSTALLED
@ECHO Java 1.8 or above is not installed
@ECHO Java 1.8 or above is not installed
@ECHO Please go to https://java.com/ and install Java. Then retry installation.
@ECHO Please go to https://java.com/ and install Java. Then retry installation.
PAUSE
PAUSE
GOTO END
GOTO END
:END
:END
apq-pc-client/src/main/scripts/windows/install2.bat
浏览文件 @
6c622901
@ECHO OFF
@ECHO OFF
setlocal ENABLEEXTENSIONS
setlocal ENABLEEXTENSIONS
@ECHO Detecting Java version installed.
@ECHO Detecting Java version installed.
:CHECK_JAVA_64
:CHECK_JAVA_64
@ECHO Detecting if it is 64 bit machine
@ECHO Detecting if it is 64 bit machine
set KEY_NAME="HKEY_LOCAL_MACHINE\Software\Wow6432Node\JavaSoft\Java Runtime Environment"
set KEY_NAME="HKEY_LOCAL_MACHINE\Software\Wow6432Node\JavaSoft\Java Runtime Environment"
set VALUE_NAME=CurrentVersion
set VALUE_NAME=CurrentVersion
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName=%%A
set ValueName=%%A
set ValueType=%%B
set ValueType=%%B
set ValueValue=%%C
set ValueValue=%%C
)
)
@ECHO CurrentVersion %ValueValue%
@ECHO CurrentVersion %ValueValue%
SET KEY_NAME="%KEY_NAME:~1,-1%\%ValueValue%"
SET KEY_NAME="%KEY_NAME:~1,-1%\%ValueValue%"
SET VALUE_NAME=JavaHome
SET VALUE_NAME=JavaHome
if defined ValueName (
if defined ValueName (
FOR /F "usebackq skip=2 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
FOR /F "usebackq skip=2 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName2=%%A
set ValueName2=%%A
set ValueType2=%%B
set ValueType2=%%B
set JRE_PATH2=%%C
set JRE_PATH2=%%C
if defined ValueName2 (
if defined ValueName2 (
set ValueName = %ValueName2%
set ValueName = %ValueName2%
set ValueType = %ValueType2%
set ValueType = %ValueType2%
set ValueValue = %JRE_PATH2%
set ValueValue = %JRE_PATH2%
)
)
)
)
)
)
IF NOT "%JRE_PATH2%" == "" GOTO JAVA_INSTALLED
IF NOT "%JRE_PATH2%" == "" GOTO JAVA_INSTALLED
:CHECK_JAVA_32
:CHECK_JAVA_32
@ECHO Detecting if it is 32 bit machine
@ECHO Detecting if it is 32 bit machine
set KEY_NAME="HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment"
set KEY_NAME="HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment"
set VALUE_NAME=CurrentVersion
set VALUE_NAME=CurrentVersion
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName=%%A
set ValueName=%%A
set ValueType=%%B
set ValueType=%%B
set ValueValue=%%C
set ValueValue=%%C
)
)
@ECHO CurrentVersion %ValueValue%
@ECHO CurrentVersion %ValueValue%
SET KEY_NAME="%KEY_NAME:~1,-1%\%ValueValue%"
SET KEY_NAME="%KEY_NAME:~1,-1%\%ValueValue%"
SET VALUE_NAME=JavaHome
SET VALUE_NAME=JavaHome
if defined ValueName (
if defined ValueName (
FOR /F "usebackq skip=2 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
FOR /F "usebackq skip=2 tokens=1,2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
set ValueName2=%%A
set ValueName2=%%A
set ValueType2=%%B
set ValueType2=%%B
set JRE_PATH2=%%C
set JRE_PATH2=%%C
if defined ValueName2 (
if defined ValueName2 (
set ValueName = %ValueName2%
set ValueName = %ValueName2%
set ValueType = %ValueType2%
set ValueType = %ValueType2%
set ValueValue = %JRE_PATH2%
set ValueValue = %JRE_PATH2%
)
)
)
)
)
)
IF "%JRE_PATH2%" == "" GOTO JAVA_NOT_INSTALLED
IF "%JRE_PATH2%" == "" GOTO JAVA_NOT_INSTALLED
:JAVA_INSTALLED
:JAVA_INSTALLED
@ECHO Java 1.8 found!
@ECHO Java 1.8 found!
@ECHO Installing apq-pc-client ...
@ECHO Installing apq-pc-client ...
%~dp0apq-pc-client.exe install
%~dp0apq-pc-client.exe install
@ECHO run
ing apq-pc-client ...
@ECHO run
ning apq-pc-client ...
%~dp0apq-pc-client.exe start
%~dp0apq-pc-client.exe start
@ECHO DONE.
@ECHO DONE.
GOTO END
GOTO END
:JAVA_NOT_INSTALLED
:JAVA_NOT_INSTALLED
@ECHO Java 1.8 or above is not installed
@ECHO Java 1.8 or above is not installed
@ECHO Please go to https://java.com/ and install Java. Then retry installation.
@ECHO Please go to https://java.com/ and install Java. Then retry installation.
PAUSE
PAUSE
GOTO END
GOTO END
:END
:END
apq-pc-control/src/main/java/com/priusis/ApqControlApplication.java
浏览文件 @
6c622901
差异被折叠。
点击展开。
apq-pc-control/src/main/resources/application.yml
浏览文件 @
6c622901
spring
:
spring
:
application
:
application
:
name
:
apq-pc-control
name
:
apq-pc-control
server
:
server
:
# Server bind address
# Server bind address
address
:
"
0.0.0.0"
address
:
"
0.0.0.0"
port
:
${random.int[10000,19999]}
# port: ${random.int[10000,19999]}
port
:
8762
\ No newline at end of file
apq-pc-info/src/main/java/com/priusis/controller/InfoController.java
0 → 100644
浏览文件 @
6c622901
package
com
.
priusis
.
controller
;
import
cn.hutool.core.io.unit.DataSizeUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.system.oshi.CpuInfo
;
import
cn.hutool.system.oshi.OshiUtil
;
import
com.priusis.lib.R
;
import
com.priusis.util.MacAddrUtil
;
import
com.priusis.vo.ApqInfoDataVo
;
import
com.priusis.vo.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.client.RestTemplate
;
import
oshi.hardware.HWDiskStore
;
import
oshi.hardware.HWPartition
;
import
java.io.File
;
import
java.io.IOException
;
import
java.net.InetAddress
;
import
java.text.DecimalFormat
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author yangli
* @since 2021/09/10
*/
@Slf4j
@Validated
@RestController
@RequestMapping
(
value
=
"info"
)
public
class
InfoController
{
@Autowired
private
RestTemplate
restTemplate
;
@GetMapping
(
value
=
"read_post"
)
public
R
<
Map
<
String
,
Object
>>
getDownloadPath
()
throws
IOException
{
boolean
isNoneEven
=
false
;
// 获取采集配置,数据上报频率 params == data
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
null
;
Map
<
String
,
Integer
>
mapParams
=
null
;
try
{
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/info"
,
MqttRpcDataMessage
.
class
);
if
(
null
!=
forEntity
)
{
MqttRpcDataMessage
body
=
forEntity
.
getBody
();
String
params
=
body
.
getParams
();
if
(
StrUtil
.
isNotBlank
(
params
))
{
List
<
ApqInfoDataVo
>
apqInfoDataVos
=
JSONUtil
.
toList
(
params
,
ApqInfoDataVo
.
class
);
mapParams
=
new
HashMap
<>();
for
(
ApqInfoDataVo
apqInfoDataVo
:
apqInfoDataVos
)
{
mapParams
.
put
(
apqInfoDataVo
.
getCode
(),
apqInfoDataVo
.
getFrequency
());
}
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"采集数据异常"
,
e
);
}
String
operatingSystem
=
"operatingSystem"
;
String
mac
=
"mac"
;
String
baseboard
=
"baseboard"
;
String
ip
=
"ip"
;
String
cpuModel
=
"cpuModel"
;
String
cpuLoad
=
"cpuLoad"
;
String
cpuTemp
=
"cpuTemp"
;
String
memoryCap
=
"memoryCap"
;
String
memoryAvailable
=
"memoryAvailable"
;
String
diskModel
=
"diskModel"
;
String
diskCap
=
"diskCap"
;
String
diskFree
=
"diskFree"
;
Map
<
String
,
Object
>
data
=
null
;
try
{
// 上报PC实时信息
String
collect
=
null
;
String
collect1
=
null
;
String
collect2
=
null
;
try
{
collect
=
Arrays
.
stream
(
OshiUtil
.
getHardware
().
getDiskStores
())
.
map
(
HWDiskStore:
:
getPartitions
)
.
flatMap
(
Arrays:
:
stream
)
.
filter
(
partition
->
StrUtil
.
isNotBlank
(
partition
.
getMountPoint
()))
.
map
(
partition
->
"\""
+
StrUtil
.
removeSuffix
(
partition
.
getMountPoint
(),
":\\"
)
+
"盘\":\""
+
DataSizeUtil
.
format
(
partition
.
getSize
())
+
"\""
)
.
collect
(
Collectors
.
joining
(
","
,
"{"
,
"}"
));
collect1
=
Arrays
.
stream
(
OshiUtil
.
getHardware
().
getDiskStores
())
.
map
(
store
->
Arrays
.
stream
(
store
.
getPartitions
())
.
map
(
HWPartition:
:
getMountPoint
)
.
filter
(
StrUtil:
:
isNotBlank
)
.
map
(
s
->
"\""
+
StrUtil
.
removeSuffix
(
s
,
":\\"
)
+
"盘\":\""
+
StrUtil
.
removeSuffix
(
store
.
getModel
(),
" (标准磁盘驱动器)"
)
+
"\""
)
.
collect
(
Collectors
.
joining
(
","
)))
.
filter
(
StrUtil:
:
isNotBlank
)
.
collect
(
Collectors
.
joining
(
","
,
"{"
,
"}"
));
collect2
=
Arrays
.
stream
(
OshiUtil
.
getHardware
().
getDiskStores
())
.
map
(
HWDiskStore:
:
getPartitions
)
.
flatMap
(
Arrays:
:
stream
)
.
filter
(
partition
->
StrUtil
.
isNotBlank
(
partition
.
getMountPoint
()))
.
map
(
partition
->
"\""
+
StrUtil
.
removeSuffix
(
partition
.
getMountPoint
(),
":\\"
)
+
"盘\":\""
+
new
DecimalFormat
(
"#.00"
).
format
(
100
d
*
new
File
(
partition
.
getMountPoint
()).
getFreeSpace
()
/
partition
.
getSize
())
+
"%\""
)
.
collect
(
Collectors
.
joining
(
","
,
"{"
,
"}"
));
}
catch
(
Exception
e
)
{
log
.
error
(
"硬盘数据获取失败"
,
e
);
}
data
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
isNeedCollection
(
isNoneEven
,
operatingSystem
,
mapParams
),
operatingSystem
,
OshiUtil
.
getOs
().
toString
())
.
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
.
getLocalHost
().
getHostAddress
())
.
put
(
isNeedCollection
(
isNoneEven
,
cpuModel
,
mapParams
),
cpuModel
,
OshiUtil
.
getCpuInfo
(
0
).
getCpuModel
())
.
put
(
isNeedCollection
(
isNoneEven
,
cpuTemp
,
mapParams
),
cpuTemp
,
Double
.
parseDouble
(
new
DecimalFormat
(
"#.00"
).
format
(
OshiUtil
.
getSensors
().
getCpuTemperature
())))
.
put
(
isNeedCollection
(
isNoneEven
,
cpuLoad
,
mapParams
),
cpuLoad
,
getCpuUsed
())
.
put
(
isNeedCollection
(
isNoneEven
,
memoryCap
,
mapParams
),
memoryCap
,
DataSizeUtil
.
format
(
OshiUtil
.
getMemory
().
getTotal
()))
.
put
(
isNeedCollection
(
isNoneEven
,
memoryAvailable
,
mapParams
),
memoryAvailable
,
DataSizeUtil
.
format
(
OshiUtil
.
getMemory
().
getAvailable
()))
.
put
(
isNeedCollection
(
isNoneEven
,
diskModel
,
mapParams
),
diskModel
,
collect1
)
.
put
(
isNeedCollection
(
isNoneEven
,
diskCap
,
mapParams
),
diskCap
,
collect
)
.
put
(
isNeedCollection
(
isNoneEven
,
diskFree
,
mapParams
),
diskFree
,
collect2
)
.
build
();
log
.
info
(
"采集数据,上报属性: mapData:{}"
,
data
);
Map
mapR
=
restTemplate
.
postForObject
(
"http://localhost:8765/uplink/oc-client"
,
data
,
Map
.
class
);
log
.
info
(
"采集数据,上报属性: ret:{}"
,
mapR
);
}
catch
(
Exception
e
)
{
log
.
error
(
"采集数据异常"
,
e
);
data
=
MapUtil
.<
String
,
Object
>
builder
().
put
(
"ERROR"
,
e
.
getMessage
()).
build
();
}
return
R
.
success
(
data
);
}
private
boolean
isNeedCollection
(
boolean
isNoneEven
,
String
key
,
Map
<
String
,
Integer
>
mapParams
)
{
if
(
null
!=
mapParams
&&
mapParams
.
containsKey
(
key
))
{
return
(!
isNoneEven
||
mapParams
.
get
(
key
)
!=
30
);
}
else
{
return
isNoneEven
;
}
}
public
static
double
getCpuUsed
()
{
CpuInfo
cpuInfo
=
OshiUtil
.
getCpuInfo
(
100
);
double
used
=
Double
.
parseDouble
(
new
DecimalFormat
(
"#.00"
).
format
(
100
-
cpuInfo
.
getFree
()));
return
Math
.
min
(
Math
.
max
(
used
,
0
),
100
);
}
}
apq-pc-info/src/main/java/com/priusis/lib/R.java
0 → 100644
浏览文件 @
6c622901
package
com
.
priusis
.
lib
;
import
lombok.Getter
;
@Getter
public
class
R
<
T
>
{
private
final
int
code
;
private
final
String
msg
;
private
final
T
data
;
private
R
(
int
code
,
String
msg
,
T
data
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
this
.
data
=
data
;
}
public
static
<
T
>
R
<
T
>
success
(
T
data
)
{
return
new
R
<>(
0
,
"SUCCESS"
,
data
);
}
public
static
<
T
>
R
<
T
>
success
()
{
return
success
(
null
);
}
public
static
<
T
>
R
<
T
>
error
(
int
code
,
String
msg
,
T
data
)
{
return
new
R
<>(
code
,
msg
,
data
);
}
public
static
<
T
>
R
<
T
>
error
(
int
code
,
String
msg
)
{
return
error
(
code
,
msg
,
null
);
}
public
static
<
T
>
R
<
T
>
error
(
String
msg
)
{
return
error
(
500
,
msg
);
}
public
static
<
T
>
R
<
T
>
error
()
{
return
error
(
"系统异常"
);
}
}
apq-pc-info/src/main/resources/application.yml
浏览文件 @
6c622901
spring
:
spring
:
application
:
application
:
name
:
apq-pc-info
name
:
apq-pc-info
server
:
server
:
# Server bind address
# Server bind address
address
:
"
0.0.0.0"
address
:
"
0.0.0.0"
port
:
${random.int[10000,19999]}
# port: ${random.int[10000,19999]}
port
:
8764
apq-pc-register/src/main/java/com/priusis/ApqRegisterApplication.java
浏览文件 @
6c622901
package
com
.
priusis
;
package
com
.
priusis
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.priusis.dto.RegisterParamDto
;
import
com.priusis.dto.RegisterParamDto
;
import
com.priusis.util.WinExecuteUtils
;
import
com.priusis.util.WinExecuteUtils
;
import
com.priusis.vo.MqttRpcDataMessage
;
import
com.priusis.vo.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
;
import
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.web.client.RestClientException
;
import
org.springframework.web.client.RestClientException
;
import
org.springframework.web.client.RestTemplate
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
@Slf4j
@Slf4j
@EnableScheduling
@EnableScheduling
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
,
SecurityAutoConfiguration
.
class
})
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
,
SecurityAutoConfiguration
.
class
})
public
class
ApqRegisterApplication
{
public
class
ApqRegisterApplication
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
ApqRegisterApplication
.
class
,
args
);
SpringApplication
.
run
(
ApqRegisterApplication
.
class
,
args
);
}
}
// "params":
// "params":
// {
// {
// "type":1
// "type":1
// "programs": [
// "programs": [
// {
// {
// "name":"qq"
// "name":"qq"
// }
// }
// ]
// ]
// }
// }
@Autowired
@Autowired
private
RestTemplate
restTemplate
;
private
RestTemplate
restTemplate
;
@Scheduled
(
fixedDelay
=
30000L
)
@Scheduled
(
fixedDelay
=
30000L
)
protected
void
registerProgramTask
()
{
protected
void
registerProgramTask
()
{
log
.
info
(
"软件检测上报================="
);
log
.
info
(
"软件检测上报================="
);
/*
log.info("===================");
/* try {
try {
WinExecuteUtils.killProc("TIM.exe");
WinExecuteUtils.killProc("Postman.exe");
} catch (IOException e) {
} catch (Exception e) {
log.error("杀进程异常", e);
log.error("杀进程异常", e);
}*/
}*/
// 获取软件检测监控配置 params == data
// 获取软件检测监控配置 params == data
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
null
;
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
null
;
try
{
try
{
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/register"
,
MqttRpcDataMessage
.
class
);
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/register"
,
MqttRpcDataMessage
.
class
);
}
catch
(
RestClientException
e
)
{
}
catch
(
RestClientException
e
)
{
log
.
error
(
"软件检测上报异常"
,
e
.
getMessage
());
log
.
error
(
"软件检测上报异常"
,
e
.
getMessage
());
}
}
if
(
null
!=
forEntity
)
{
if
(
null
!=
forEntity
)
{
MqttRpcDataMessage
body
=
forEntity
.
getBody
();
MqttRpcDataMessage
body
=
forEntity
.
getBody
();
String
params
=
body
.
getParams
();
String
params
=
body
.
getParams
();
if
(
StrUtil
.
isNotBlank
(
params
))
{
if
(
StrUtil
.
isNotBlank
(
params
))
{
Long
sendTime
=
body
.
getSendTime
();
Long
sendTime
=
body
.
getSendTime
();
//long current = System.currentTimeMillis();
//long current = System.currentTimeMillis();
RegisterParamDto
registerParamDto
=
JSONUtil
.
toBean
(
params
,
RegisterParamDto
.
class
);
RegisterParamDto
registerParamDto
=
JSONUtil
.
toBean
(
params
,
RegisterParamDto
.
class
);
// 收到软件检测下发请求
// 收到软件检测下发请求
log
.
info
(
"收到软件检测下发请求, sendTime:{}, params:{}"
,
sendTime
,
params
);
log
.
info
(
"收到软件检测下发请求, sendTime:{}, params:{}"
,
sendTime
,
params
);
int
type
=
registerParamDto
.
getType
();
int
type
=
registerParamDto
.
getType
();
if
(
type
==
1
)
{
if
(
type
==
1
)
{
List
<
RegisterParamDto
.
RegisterDetailParamDto
>
programs
=
registerParamDto
.
getPrograms
();
List
<
RegisterParamDto
.
RegisterDetailParamDto
>
programs
=
registerParamDto
.
getPrograms
();
// 上报软件检测监控数据
// 上报软件检测监控数据
Map
mapRequest
=
new
HashMap
();
Map
mapRequest
=
new
HashMap
();
for
(
RegisterParamDto
.
RegisterDetailParamDto
program
:
programs
)
{
for
(
RegisterParamDto
.
RegisterDetailParamDto
program
:
programs
)
{
String
name
=
program
.
getName
().
trim
();
String
name
=
program
.
getName
().
trim
();
log
.
info
(
"软件检测软件: {}"
,
name
);
log
.
info
(
"软件检测软件: {}"
,
name
);
boolean
isE
=
WinExecuteUtils
.
findProcess
(
name
);
boolean
isE
=
WinExecuteUtils
.
findProcess
(
name
);
if
(
isE
)
{
if
(
isE
)
{
// 杀进程
// 杀进程
log
.
info
(
"存在黑名单软件, 进行进程查杀: {}"
,
name
);
log
.
info
(
"存在黑名单软件, 进行进程查杀: {}"
,
name
);
try
{
try
{
WinExecuteUtils
.
killProc
(
name
);
WinExecuteUtils
.
killProc
(
name
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"杀进程异常"
,
e
);
log
.
error
(
"杀进程异常"
,
e
);
}
}
// 上报黑名单异常
// 上报黑名单异常
mapRequest
.
put
(
name
,
"1"
);
mapRequest
.
put
(
name
,
"1"
);
}
}
}
}
// 上报黑名单异常
// 上报黑名单异常
if
(
mapRequest
.
size
()
>
0
)
{
if
(
mapRequest
.
size
()
>
0
)
{
Map
eventMapRequest
=
new
HashMap
();
Map
eventMapRequest
=
new
HashMap
();
eventMapRequest
.
put
(
"requestId"
,
1
);
eventMapRequest
.
put
(
"requestId"
,
1
);
eventMapRequest
.
put
(
"methodName"
,
"BlackList"
);
eventMapRequest
.
put
(
"methodName"
,
"BlackList"
);
eventMapRequest
.
put
(
"params"
,
mapRequest
);
eventMapRequest
.
put
(
"params"
,
mapRequest
);
Map
map
=
restTemplate
.
postForObject
(
"http://localhost:8765/uplink_event/oc-client"
,
eventMapRequest
,
Map
.
class
);
Map
map
=
restTemplate
.
postForObject
(
"http://localhost:8765/uplink_event/oc-client"
,
eventMapRequest
,
Map
.
class
);
log
.
info
(
"存在软件检测接口扫码告警,上报告警事件: mapData:{}, ret:{}"
,
mapRequest
,
map
);
log
.
info
(
"存在软件检测接口扫码告警,上报告警事件: mapData:{}, ret:{}"
,
mapRequest
,
map
);
}
}
// 上报黑名单属性 todo
// 上报黑名单属性 todo
}
}
}
else
{
}
else
{
log
.
info
(
"未获取到获取软件检测监控配置"
);
log
.
info
(
"未获取到获取软件检测监控配置"
);
}
}
}
else
{
}
else
{
log
.
info
(
"未获取到获取软件检测监控配置"
);
log
.
info
(
"未获取到获取软件检测监控配置"
);
}
}
}
}
}
}
apq-pc-register/src/main/resources/application.yml
浏览文件 @
6c622901
spring
:
spring
:
application
:
application
:
name
:
apq-pc-register
name
:
apq-pc-register
server
:
server
:
# Server bind address
# Server bind address
address
:
"
0.0.0.0"
address
:
"
0.0.0.0"
port
:
${random.int[30000,39999]}
# port: ${random.int[30000,39999]}
port
:
8763
\ No newline at end of file
tools/install-package/boot/apq-client/apq-client.iss
浏览文件 @
6c622901
差异被折叠。
点击展开。
tools/install-package/boot/apq-client/bak/启动服务S.bat
浏览文件 @
6c622901
@ECHO OFF
@ECHO OFF
setlocal ENABLEEXTENSIONS
setlocal ENABLEEXTENSIONS
@ECHO Installing apq-client ...
@ECHO Installing apq-client ...
"%~dp0apq-client-service.exe" install
"%~dp0apq-client-service.exe" install
@ECHO run
ing apq-client ...
@ECHO run
ning apq-client ...
"%~dp0apq-client-service.exe" start
"%~dp0apq-client-service.exe" start
@ECHO DONE.
@ECHO DONE.
:END
:END
\ No newline at end of file
浏览文件 @
6c622901
No preview for this file type
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论