Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
BYOD
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tutingyin
BYOD
Commits
0b3a2bb9
Commit
0b3a2bb9
authored
Sep 09, 2024
by
tutingyin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor: 设备详情拆分
cpu 系统资源 网卡信息 磁盘信息 usb信息
parent
8f85cf11
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
280 additions
and
201 deletions
+280
-201
SerialAuthenticationFilter.java
...uthentication/user/serial/SerialAuthenticationFilter.java
+1
-1
AntiReplayUtil.java
...cation/src/main/java/com/skr/mdm/util/AntiReplayUtil.java
+14
-7
DeviceEquipmentVO.java
...java/com/skr/mdm/bean/vo/equipment/DeviceEquipmentVO.java
+1
-1
SecurityConfig.java
...ient/src/main/java/com/skr/mdm/config/SecurityConfig.java
+2
-2
UserOfflineTask.java
...lient/src/main/java/com/skr/mdm/task/UserOfflineTask.java
+2
-1
application-dev.yml
mdm_client/src/main/resources/application-dev.yml
+0
-1
application.yml
mdm_client/src/main/resources/application.yml
+12
-12
server.keystore
mdm_client/src/main/resources/key/server.keystore
+0
-0
EquipmentDiskDTO.java
...ocket/src/main/java/com/skr/mdm/dto/EquipmentDiskDTO.java
+1
-1
EquipmentInfoCopyDTO.java
...t/src/main/java/com/skr/mdm/dto/EquipmentInfoCopyDTO.java
+4
-3
EquipmentNetDTO.java
...socket/src/main/java/com/skr/mdm/dto/EquipmentNetDTO.java
+8
-2
ChannelInitializerHandler.java
...ain/java/com/skr/mdm/netty/ChannelInitializerHandler.java
+3
-2
WebsocketHandler.java
...ket/src/main/java/com/skr/mdm/netty/WebsocketHandler.java
+19
-10
WebsocketServer.java
...cket/src/main/java/com/skr/mdm/netty/WebsocketServer.java
+6
-2
EquipmentInfo2ServiceImpl.java
...mdm/service/impl/equipment/EquipmentInfo2ServiceImpl.java
+41
-36
EquipmentInfoServiceImpl.java
.../mdm/service/impl/equipment/EquipmentInfoServiceImpl.java
+104
-104
DeviceEquipmentDiskDO.java
...c/main/java/com/skr/mdm/entity/DeviceEquipmentDiskDO.java
+5
-2
DeviceEquipmentNetDO.java
...rc/main/java/com/skr/mdm/entity/DeviceEquipmentNetDO.java
+7
-2
DeviceEquipmentSysSourceDO.java
...n/java/com/skr/mdm/entity/DeviceEquipmentSysSourceDO.java
+3
-0
ConfigStrategyService.java
...m/skr/mdm/api/strategy/service/ConfigStrategyService.java
+3
-3
ConfigStrategyServiceImpl.java
.../api/strategy/service/impl/ConfigStrategyServiceImpl.java
+18
-0
FunctionInfoStrategyServiceImpl.java
...trategy/service/impl/FunctionInfoStrategyServiceImpl.java
+16
-0
StrategyServiceImpl.java
...kr/mdm/api/strategy/service/impl/StrategyServiceImpl.java
+10
-9
No files found.
mdm_authentication/src/main/java/com/skr/mdm/authentication/user/serial/SerialAuthenticationFilter.java
View file @
0b3a2bb9
...
...
@@ -25,7 +25,7 @@ import java.io.IOException;
*/
public
class
SerialAuthenticationFilter
extends
AbstractAuthenticationProcessingFilter
{
public
static
final
String
SPRING_SECURITY_FORM_IMEI_KEY
=
"serial
Num
"
;
public
static
final
String
SPRING_SECURITY_FORM_IMEI_KEY
=
"serial"
;
public
static
final
String
COMPANY_ID
=
"companyId"
;
public
static
final
String
SECRET_KEY
=
"secretKey"
;
...
...
mdm_authentication/src/main/java/com/skr/mdm/util/AntiReplayUtil.java
View file @
0b3a2bb9
...
...
@@ -10,12 +10,14 @@ import com.skr.mdm.authentication.user.UserTimeCheckException;
import
com.skr.mdm.constant.RequestHeaderConstants
;
import
com.skr.mdm.enums.MdmEncryptEnum
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.codec.binary.Hex
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.http.HttpServletRequest
;
import
java.security.Key
;
import
java.util.Map
;
import
java.util.TreeMap
;
...
...
@@ -49,7 +51,7 @@ public class AntiReplayUtil {
*/
public
void
userAntiReplay
(
HttpServletRequest
request
)
{
String
secretKey
=
request
.
getHeader
(
"secretKey"
);
log
.
debug
(
"secretKey:{}"
,
secretKey
);
log
.
error
(
"secretKey:{}"
,
secretKey
);
String
nonce
=
request
.
getHeader
(
this
.
nonceParameter
);
String
timestampParameter
=
request
.
getHeader
(
this
.
timestampHeaderParameter
);
String
sign
=
request
.
getHeader
(
this
.
signParameter
);
...
...
@@ -76,26 +78,31 @@ public class AntiReplayUtil {
if
(
MdmEncryptEnum
.
SM
.
getMdmEncrypt
().
equals
(
mdmEncrypt
))
{
TreeMap
<
String
,
Object
>
treeMap
=
new
TreeMap
<>();
Map
<
String
,
String
[]>
parameterMap
=
request
.
getParameterMap
();
log
.
debug
(
"parameterMap:{}"
,
parameterMap
);
log
.
error
(
"parameterMap:{}"
,
parameterMap
);
for
(
Map
.
Entry
<
String
,
String
[]>
entry
:
parameterMap
.
entrySet
())
{
String
[]
values
=
entry
.
getValue
();
for
(
String
value
:
values
)
{
log
.
debug
(
"value:{}"
,
value
);
log
.
error
(
"value:{}"
,
value
);
treeMap
.
put
(
entry
.
getKey
(),
value
);
}
}
log
.
debug
(
"treeMap:{}"
,
treeMap
);
log
.
error
(
"treeMap:{}"
,
treeMap
);
StringBuffer
stringBuffer
=
new
StringBuffer
();
treeMap
.
forEach
((
k
,
v
)
->
{
stringBuffer
.
append
(
k
);
System
.
out
.
println
(
"key: "
+
k
);
stringBuffer
.
append
(
v
);
System
.
out
.
println
(
"value: "
+
v
);
});
log
.
debug
(
"stringBuffer:{}"
,
stringBuffer
);
log
.
error
(
"stringBuffer:{}"
,
stringBuffer
);
String
data
=
timestamp
+
nonce
+
secretKey
+
stringBuffer
;
log
.
debug
(
"data:{}"
,
data
);
log
.
error
(
"data:{}"
,
data
);
String
sm3
=
SmUtil
.
sm3
(
data
);
log
.
debug
(
"sm3:{}"
,
sm3
);
log
.
error
(
"sm3:{}"
,
sm3
);
SM2
sm2
=
SmUtils
.
sm2Crypt
();
System
.
out
.
println
(
sm2
.
signHex
((
Hex
.
encodeHexString
(
sm3
.
getBytes
()))));
if
(!
sm2
.
verifyHex
(
sm3
,
sign
))
{
log
.
warn
(
"签名错误:{} md5Hex:{} 请求地址:{}"
,
sign
,
sm3
,
request
.
getRequestURI
());
throw
new
IllegalUserRequestException
();
...
...
mdm_bean/src/main/java/com/skr/mdm/bean/vo/equipment/DeviceEquipmentVO.java
View file @
0b3a2bb9
...
...
@@ -90,7 +90,7 @@ public class DeviceEquipmentVO {
/**
* 生产日期
*/
private
String
productionDate
;
private
Date
productionDate
;
/**
* 厂商信息
...
...
mdm_client/src/main/java/com/skr/mdm/config/SecurityConfig.java
View file @
0b3a2bb9
...
...
@@ -35,8 +35,8 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
@EnableWebSecurity
public
class
SecurityConfig
extends
WebSecurityConfigurerAdapter
{
private
String
mdmEncrypt
=
"AES"
;
@Value
(
"${mdm.encrypt}"
)
private
String
mdmEncrypt
;
@Autowired
private
UserAuthenticationSuccessHandler
userAuthenticationSuccessHandler
;
...
...
mdm_client/src/main/java/com/skr/mdm/task/UserOfflineTask.java
View file @
0b3a2bb9
...
...
@@ -83,4 +83,4 @@ public class UserOfflineTask {
});
log
.
info
(
"websocket离线定时检测结束 耗时:{}秒"
,
timer
.
intervalSecond
());
}
}
}
\ No newline at end of file
mdm_client/src/main/resources/application-dev.yml
View file @
0b3a2bb9
...
...
@@ -5,7 +5,6 @@ server:
websocket
:
port
:
8073
spring
:
application
:
name
:
MDMClient
...
...
mdm_client/src/main/resources/application.yml
View file @
0b3a2bb9
...
...
@@ -30,18 +30,18 @@ spring:
pathmatch
:
matching-strategy
:
ant_path_matcher
#
server:
#
ssl:
# key-store: classpath:key/mdm
.keystore #表示密钥文件名
# key-alias: mdmKeystore
#表示密钥别名
#
key-store-password: tkmdm999 #就是在cmd命令执行过程中输入的密码
#
enabled: true
#
client-auth: need
#
# 持有ssl证书的信任存储库
# trust-store: classpath:key/mdm
.keystore
#
trust-store-password: tkmdm999
#
key-store-type: JKS
#
trust-store-type: JKS
server
:
ssl
:
key-store
:
classpath:key/server
.keystore
#表示密钥文件名
key-alias
:
tomcatKey
#表示密钥别名
key-store-password
:
tkmdm999
#就是在cmd命令执行过程中输入的密码
enabled
:
true
client-auth
:
need
# 持有ssl证书的信任存储库
trust-store
:
classpath:key/server
.keystore
trust-store-password
:
tkmdm999
key-store-type
:
JKS
trust-store-type
:
JKS
token
:
expire
:
...
...
mdm_client/src/main/resources/key/server.keystore
0 → 100644
View file @
0b3a2bb9
File added
mdm_client_websocket/src/main/java/com/skr/mdm/dto/EquipmentDiskDTO.java
View file @
0b3a2bb9
...
...
@@ -68,7 +68,7 @@ public class EquipmentDiskDTO {
/**
* uuid
*/
private
Integer
uuid
;
private
String
uuid
;
/**
* 是否挂载
...
...
mdm_client_websocket/src/main/java/com/skr/mdm/dto/EquipmentInfoCopyDTO.java
View file @
0b3a2bb9
...
...
@@ -2,6 +2,7 @@ package com.skr.mdm.dto;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -15,8 +16,8 @@ public class EquipmentInfoCopyDTO {
private
EquipmentCPUDTO
equipmentCPUDTO
;
private
EquipmentSysResourceDTO
sysResourceDTO
;
private
List
<
EquipmentUsbDTO
>
equipmentUsbDTOList
;
private
EquipmentDiskDTO
equipmentDiskDTO
;
private
EquipmentNetDTO
equipmentNetDTO
;
private
List
<
EquipmentDiskDTO
>
equipmentDiskDTOList
;
private
List
<
EquipmentNetDTO
>
equipmentNetDTOList
;
/**
...
...
@@ -26,7 +27,7 @@ public class EquipmentInfoCopyDTO {
/**
* 主板生产时间
*/
private
String
productionDate
;
private
Date
productionDate
;
/**
* 主板生产厂商
*/
...
...
mdm_client_websocket/src/main/java/com/skr/mdm/dto/EquipmentNetDTO.java
View file @
0b3a2bb9
...
...
@@ -11,6 +11,11 @@ import lombok.Data;
public
class
EquipmentNetDTO
{
/**
* name
*/
private
String
name
;
/**
* MAC
*/
private
String
mac
;
...
...
@@ -33,12 +38,12 @@ public class EquipmentNetDTO {
/**
* vid
*/
private
Integer
vid
;
private
String
vid
;
/**
* pid
*/
private
Integer
pid
;
private
String
pid
;
}
\ No newline at end of file
mdm_client_websocket/src/main/java/com/skr/mdm/netty/ChannelInitializerHandler.java
View file @
0b3a2bb9
...
...
@@ -28,7 +28,7 @@ public class ChannelInitializerHandler extends ChannelInitializer {
@Override
protected
void
initChannel
(
Channel
ch
)
throws
Exception
{
String
keyPath
=
"key"
+
File
.
separator
+
"
mdm
.keystore"
;
String
keyPath
=
"key"
+
File
.
separator
+
"
server
.keystore"
;
SSLContext
sslContext
=
SSLUtil
.
createSSLContext
(
"JKS"
,
keyPath
,
"tkmdm999"
);
// SSLEngine 此类允许使用ssl安全套接层协议进行安全通信
SSLEngine
engine
=
sslContext
.
createSSLEngine
();
...
...
@@ -46,7 +46,7 @@ public class ChannelInitializerHandler extends ChannelInitializer {
// 分块向客户端写数据,防止发送大文件时导致内存溢出
.
addLast
(
new
ChunkedWriteHandler
())
// 心跳机制
.
addLast
(
new
IdleStateHandler
(
1
80
,
120
,
60
,
TimeUnit
.
SECONDS
))
.
addLast
(
new
IdleStateHandler
(
1
5
,
10
,
5
,
TimeUnit
.
SECONDS
))
.
addLast
(
websocketHandler
);
}
}
\ No newline at end of file
mdm_client_websocket/src/main/java/com/skr/mdm/netty/WebsocketHandler.java
View file @
0b3a2bb9
...
...
@@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.http.HttpStatus
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -52,7 +53,7 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
private
static
final
String
WEBSOCKET
=
"websocket"
;
private
static
final
String
UPGRADE
=
"Upgrade"
;
private
static
final
String
ANDROID
=
"android
"
;
private
static
final
String
PC
=
"pc
"
;
private
static
final
String
USER_AGENT
=
"User-Agent"
;
private
WebSocketServerHandshaker
webSocketServerHandshaker
;
...
...
@@ -61,8 +62,6 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
@Autowired
private
AfterUserConnectionHandler
userConnectionHandler
;
@Autowired
private
DeviceEquipmentDao
equipmentDao
;
@Autowired
private
SysSendMsgDao
sysSendMsgDao
;
...
...
@@ -70,12 +69,18 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
protected
void
channelRead0
(
ChannelHandlerContext
ctx
,
Object
msg
)
throws
Exception
{
// 握手请求
if
(
msg
instanceof
FullHttpRequest
)
{
log
.
warn
(
"socket 1"
);
handHttpRequest
(
ctx
,
(
FullHttpRequest
)
msg
);
}
}
else
// websocket消息
if
(
msg
instanceof
WebSocketFrame
)
{
handWebsocket
(
ctx
,
(
WebSocketFrame
)
msg
);
}
if
(
msg
instanceof
WebSocketFrame
)
{
log
.
warn
(
"socket 2"
);
handWebsocket
(
ctx
,
(
WebSocketFrame
)
msg
);
}
else
{
log
.
warn
(
"弃用解析"
);
}
}
@Override
...
...
@@ -131,8 +136,10 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
private
void
handHttpRequest
(
ChannelHandlerContext
context
,
FullHttpRequest
fullHttpRequest
)
{
String
channelId
=
context
.
channel
().
id
().
asShortText
();
if
(!
fullHttpRequest
.
decoderResult
().
isSuccess
()
||
!
StringUtils
.
equals
(
WEBSOCKET
,
fullHttpRequest
.
headers
().
get
(
UPGRADE
))
||
!
StringUtils
.
equalsIgnoreCase
(
ANDROID
,
fullHttpRequest
.
headers
().
get
(
USER_AGENT
)))
{
String
upgrade
=
fullHttpRequest
.
headers
().
get
(
UPGRADE
);
String
userAgent
=
fullHttpRequest
.
headers
().
get
(
USER_AGENT
);
if
(!
fullHttpRequest
.
decoderResult
().
isSuccess
()
||
!
StringUtils
.
equals
(
WEBSOCKET
,
upgrade
)
||
!
StringUtils
.
equalsIgnoreCase
(
PC
,
userAgent
))
{
log
.
warn
(
"channelId:{} websocket非法请求,拒绝连接"
,
channelId
);
setHttpResponse
(
context
,
new
DefaultFullHttpResponse
(
HttpVersion
.
HTTP_1_1
,
HttpResponseStatus
.
BAD_REQUEST
));
return
;
...
...
@@ -178,6 +185,7 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
}
private
void
handWebsocket
(
ChannelHandlerContext
context
,
WebSocketFrame
webSocketFrame
)
{
log
.
warn
(
"socket frame {}"
,
webSocketFrame
);
if
(
webSocketFrame
instanceof
CloseWebSocketFrame
)
{
webSocketServerHandshaker
.
close
(
context
.
channel
(),
(
CloseWebSocketFrame
)
webSocketFrame
.
retain
());
}
...
...
@@ -263,4 +271,4 @@ public class WebsocketHandler extends SimpleChannelInboundHandler<Object> {
return
wsAntiReplayUtil
.
antiReplay
(
fullHttpRequest
);
}
}
}
\ No newline at end of file
mdm_client_websocket/src/main/java/com/skr/mdm/netty/WebsocketServer.java
View file @
0b3a2bb9
...
...
@@ -6,6 +6,8 @@ import io.netty.channel.ChannelOption;
import
io.netty.channel.EventLoopGroup
;
import
io.netty.channel.nio.NioEventLoopGroup
;
import
io.netty.channel.socket.nio.NioServerSocketChannel
;
import
io.netty.handler.logging.LogLevel
;
import
io.netty.handler.logging.LoggingHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
...
...
@@ -31,7 +33,8 @@ public class WebsocketServer {
.
channel
(
NioServerSocketChannel
.
class
)
.
option
(
ChannelOption
.
SO_BACKLOG
,
128
)
.
childOption
(
ChannelOption
.
SO_KEEPALIVE
,
true
)
.
childHandler
(
channelInitializerHandler
);
.
childHandler
(
channelInitializerHandler
)
.
handler
(
new
LoggingHandler
(
LogLevel
.
INFO
));
ChannelFuture
channelFuture
=
bootstrap
.
bind
(
port
).
sync
();
log
.
info
(
"websocket服务端已启动 端口: {}"
,
port
);
...
...
@@ -42,4 +45,4 @@ public class WebsocketServer {
}
}
}
}
\ No newline at end of file
mdm_client_websocket/src/main/java/com/skr/mdm/service/impl/equipment/EquipmentInfo2ServiceImpl.java
View file @
0b3a2bb9
...
...
@@ -55,9 +55,9 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService {
operationEquipmentUsb
(
equipmentId
,
equipmentInfoDTO
.
getEquipmentUsbDTOList
());
operationEquipmentDisk
(
equipmentId
,
equipmentInfoDTO
.
getEquipmentDiskDTO
());
operationEquipmentDisk
(
equipmentId
,
equipmentInfoDTO
.
getEquipmentDiskDTO
List
());
operationEquipmentNet
(
equipmentId
,
equipmentInfoDTO
.
getEquipmentNetDTO
());
operationEquipmentNet
(
equipmentId
,
equipmentInfoDTO
.
getEquipmentNetDTO
List
());
// 更新主板生产商 生产时间 主板名称
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
...
...
@@ -175,25 +175,28 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService {
* 磁盘详情更新/新增
*
* @param equipmentId
* @param equipmentDiskDTO
* @param equipmentDiskDTO
List
*/
public
void
operationEquipmentDisk
(
Integer
equipmentId
,
EquipmentDiskDTO
equipmentDiskDTO
)
{
if
(
Objects
.
nonNull
(
equipmentDiskDTO
))
{
DeviceEquipmentDiskDO
deviceEquipmentDiskDO
=
new
DeviceEquipmentDiskDO
();
BeanUtils
.
copyProperties
(
equipmentDiskDTO
,
deviceEquipmentDiskDO
);
deviceEquipmentDiskDO
.
setEquipmentId
(
equipmentId
);
DeviceEquipmentDiskDO
equipmentDiskDO
=
new
LambdaQueryChainWrapper
<>(
equipmentDiskDao
)
.
eq
(
DeviceEquipmentDiskDO:
:
getEquipmentId
,
equipmentId
)
.
one
();
if
(
Objects
.
isNull
(
equipmentDiskDO
))
{
// 添加设备信息
equipmentDiskDao
.
insertSelective
(
deviceEquipmentDiskDO
);
}
else
{
// 修改设备信息
deviceEquipmentDiskDO
.
setId
(
equipmentDiskDO
.
getId
());
equipmentDiskDao
.
updateByPrimaryKeySelective
(
deviceEquipmentDiskDO
);
public
void
operationEquipmentDisk
(
Integer
equipmentId
,
List
<
EquipmentDiskDTO
>
equipmentDiskDTOList
)
{
if
(
CollectionUtils
.
isNotEmpty
(
equipmentDiskDTOList
))
{
for
(
EquipmentDiskDTO
equipmentDiskDTO
:
equipmentDiskDTOList
)
{
DeviceEquipmentDiskDO
deviceEquipmentDiskDO
=
new
DeviceEquipmentDiskDO
();
BeanUtils
.
copyProperties
(
equipmentDiskDTO
,
deviceEquipmentDiskDO
);
deviceEquipmentDiskDO
.
setEquipmentId
(
equipmentId
);
DeviceEquipmentDiskDO
equipmentDiskDO
=
new
LambdaQueryChainWrapper
<>(
equipmentDiskDao
)
.
eq
(
DeviceEquipmentDiskDO:
:
getEquipmentId
,
equipmentId
)
.
one
();
if
(
Objects
.
isNull
(
equipmentDiskDO
))
{
// 添加设备信息
equipmentDiskDao
.
insertSelective
(
deviceEquipmentDiskDO
);
}
else
{
// 修改设备信息
deviceEquipmentDiskDO
.
setId
(
equipmentDiskDO
.
getId
());
equipmentDiskDao
.
updateByPrimaryKeySelective
(
deviceEquipmentDiskDO
);
}
}
}
}
...
...
@@ -201,24 +204,26 @@ public class EquipmentInfo2ServiceImpl implements CmdHandlerService {
* 网卡更新/新增
*
* @param equipmentId
* @param equipmentNetDTO
* @param equipmentNetDTO
List
*/
private
void
operationEquipmentNet
(
Integer
equipmentId
,
EquipmentNetDTO
equipmentNetDTO
)
{
if
(
Objects
.
nonNull
(
equipmentNetDTO
))
{
DeviceEquipmentNetDO
equipmentNetDO
=
new
DeviceEquipmentNetDO
();
BeanUtils
.
copyProperties
(
equipmentNetDTO
,
equipmentNetDO
);
equipmentNetDO
.
setEquipmentId
(
equipmentId
);
DeviceEquipmentNetDO
deviceEquipmentNetDO
=
new
LambdaQueryChainWrapper
<>(
equipmentNetDao
)
.
eq
(
DeviceEquipmentNetDO:
:
getEquipmentId
,
equipmentId
)
.
one
();
if
(
Objects
.
isNull
(
deviceEquipmentNetDO
))
{
// 添加设备信息
equipmentNetDao
.
insertSelective
(
equipmentNetDO
);
}
else
{
// 修改设备信息
equipmentNetDO
.
setId
(
deviceEquipmentNetDO
.
getId
());
equipmentNetDao
.
updateByPrimaryKeySelective
(
equipmentNetDO
);
private
void
operationEquipmentNet
(
Integer
equipmentId
,
List
<
EquipmentNetDTO
>
equipmentNetDTOList
)
{
if
(
CollectionUtils
.
isNotEmpty
(
equipmentNetDTOList
))
{
for
(
EquipmentNetDTO
equipmentNetDTO
:
equipmentNetDTOList
)
{
DeviceEquipmentNetDO
equipmentNetDO
=
new
DeviceEquipmentNetDO
();
BeanUtils
.
copyProperties
(
equipmentNetDTO
,
equipmentNetDO
);
equipmentNetDO
.
setEquipmentId
(
equipmentId
);
DeviceEquipmentNetDO
deviceEquipmentNetDO
=
new
LambdaQueryChainWrapper
<>(
equipmentNetDao
)
.
eq
(
DeviceEquipmentNetDO:
:
getEquipmentId
,
equipmentId
)
.
one
();
if
(
Objects
.
isNull
(
deviceEquipmentNetDO
))
{
// 添加设备信息
equipmentNetDao
.
insertSelective
(
equipmentNetDO
);
}
else
{
// 修改设备信息
equipmentNetDO
.
setId
(
deviceEquipmentNetDO
.
getId
());
equipmentNetDao
.
updateByPrimaryKeySelective
(
equipmentNetDO
);
}
}
}
}
...
...
mdm_client_websocket/src/main/java/com/skr/mdm/service/impl/equipment/EquipmentInfoServiceImpl.java
View file @
0b3a2bb9
package
com
.
skr
.
mdm
.
service
.
impl
.
equipment
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper
;
import
com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper
;
import
com.skr.mdm.annotation.CmdHandler
;
import
com.skr.mdm.constant.CmdTypeConstants
;
import
com.skr.mdm.dao.DeviceEquipmentDao
;
import
com.skr.mdm.dao.DeviceEquipmentInfoDao
;
import
com.skr.mdm.dto.EquipmentInfoDTO
;
import
com.skr.mdm.dto.LoginUserDTO
;
import
com.skr.mdm.entity.DeviceEquipmentDO
;
import
com.skr.mdm.entity.DeviceEquipmentInfoDO
;
import
com.skr.mdm.result.ResponseResult
;
import
com.skr.mdm.service.CmdHandlerService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.core.context.SecurityContextHolder
;
/**
* @author nfq
* @date 2020/7/30 17:08
*/
@Slf4j
@CmdHandler
(
cmdType
=
CmdTypeConstants
.
DEV_INFO
)
public
class
EquipmentInfoServiceImpl
implements
CmdHandlerService
{
private
static
final
String
SPLIT
=
"-"
;
@Autowired
private
DeviceEquipmentDao
equipmentDao
;
@Autowired
private
DeviceEquipmentInfoDao
equipmentInfoDao
;
@Override
public
ResponseResult
cmdHandler
(
Integer
equipmentId
,
String
data
)
{
try
{
LoginUserDTO
loginUserDTO
=
(
LoginUserDTO
)
SecurityContextHolder
.
getContext
().
getAuthentication
().
getPrincipal
();
EquipmentInfoDTO
equipmentInfoDTO
=
JSONUtil
.
toBean
(
data
,
EquipmentInfoDTO
.
class
);
DeviceEquipmentInfoDO
equipmentInfoDO
=
new
DeviceEquipmentInfoDO
();
BeanUtils
.
copyProperties
(
equipmentInfoDTO
,
equipmentInfoDO
);
equipmentInfoDO
.
setEquipmentId
(
equipmentId
);
if
(
StringUtils
.
isNotBlank
(
equipmentInfoDTO
.
getEquipmentModel
())
||
StringUtils
.
isNotBlank
(
equipmentInfoDTO
.
getPhoneNumber
()))
{
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
.
set
(
StringUtils
.
isNotBlank
(
equipmentInfoDTO
.
getEquipmentModel
()),
DeviceEquipmentDO:
:
getEquipmentModel
,
equipmentInfoDTO
.
getEquipmentModel
())
.
set
(
StringUtils
.
isNotBlank
(
equipmentInfoDTO
.
getPhoneNumber
()),
DeviceEquipmentDO:
:
getPhoneNumber
,
equipmentInfoDTO
.
getPhoneNumber
())
.
eq
(
DeviceEquipmentDO:
:
getId
,
equipmentId
)
.
update
();
}
equipmentInfoDO
.
setImei2
(
getImei2
(
equipmentInfoDO
.
getImei2
(),
equipmentId
,
loginUserDTO
.
getSerialNumber
()));
DeviceEquipmentInfoDO
deviceEquipmentInfoDO
=
new
LambdaQueryChainWrapper
<>(
equipmentInfoDao
)
.
eq
(
DeviceEquipmentInfoDO:
:
getEquipmentId
,
equipmentId
)
.
one
();
if
(
deviceEquipmentInfoDO
==
null
)
{
// 添加设备信息
equipmentInfoDao
.
insert
(
equipmentInfoDO
);
//package com.skr.mdm.service.impl.equipment;
//
//import cn.hutool.json.JSONUtil;
//import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
//import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
//import com.skr.mdm.annotation.CmdHandler;
//import com.skr.mdm.constant.CmdTypeConstants;
//import com.skr.mdm.dao.DeviceEquipmentDao;
//import com.skr.mdm.dao.DeviceEquipmentInfoDao;
//import com.skr.mdm.dto.EquipmentInfoDTO;
//import com.skr.mdm.dto.LoginUserDTO;
//import com.skr.mdm.entity.DeviceEquipmentDO;
//import com.skr.mdm.entity.DeviceEquipmentInfoDO;
//import com.skr.mdm.result.ResponseResult;
//import com.skr.mdm.service.CmdHandlerService;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.BeanUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.security.core.context.SecurityContextHolder;
//
///**
// * @author nfq
// * @date 2020/7/30 17:08
// */
//@Slf4j
//@CmdHandler(cmdType = CmdTypeConstants.DEV_INFO)
//public class EquipmentInfoServiceImpl implements CmdHandlerService {
//
// private static final String SPLIT = "-";
//
// @Autowired
// private DeviceEquipmentDao equipmentDao;
// @Autowired
// private DeviceEquipmentInfoDao equipmentInfoDao;
//
// @Override
// public ResponseResult cmdHandler(Integer equipmentId, String data) {
// try {
// LoginUserDTO loginUserDTO = (LoginUserDTO) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
// EquipmentInfoDTO equipmentInfoDTO = JSONUtil.toBean(data, EquipmentInfoDTO.class);
// DeviceEquipmentInfoDO equipmentInfoDO = new DeviceEquipmentInfoDO();
// BeanUtils.copyProperties(equipmentInfoDTO, equipmentInfoDO);
// equipmentInfoDO.setEquipmentId(equipmentId);
// if (StringUtils.isNotBlank(equipmentInfoDTO.getEquipmentModel()) || StringUtils.isNotBlank(equipmentInfoDTO.getPhoneNumber())) {
// new LambdaUpdateChainWrapper<>(equipmentDao)
// .set(
DeviceEquipmentDO::getOaid, equipmentInfoDTO.getOaid
())
// .set(
DeviceEquipmentDO::getUuid, equipmentInfoDTO.getUuid
())
// .set(
StringUtils.isNotBlank(equipmentInfoDTO.getEquipmentModel()), DeviceEquipmentDO::getEquipmentModel, equipmentInfoDTO.getEquipmentModel
())
// .set(
StringUtils.isNotBlank(equipmentInfoDTO.getPhoneNumber()), DeviceEquipmentDO::getPhoneNumber, equipmentInfoDTO.getPhoneNumber
())
// .eq(DeviceEquipmentDO::getId, equipmentId)
// .update();
return
ResponseResult
.
success
();
}
// 修改设备信息
equipmentInfoDO
.
setId
(
deviceEquipmentInfoDO
.
getId
());
equipmentInfoDao
.
updateById
(
equipmentInfoDO
);
return
ResponseResult
.
success
();
}
catch
(
Exception
e
)
{
log
.
error
(
"上传设备信息异常: "
+
equipmentId
+
data
,
e
);
return
ResponseResult
.
failure
();
}
}
/**
* 获取IMEI2
*
* @param imei
* @param equipmentId
* @return
*/
private
String
getImei2
(
String
imei
,
Integer
equipmentId
,
String
imeiLogin
)
{
if
(
StringUtils
.
isNotBlank
(
imei
))
{
if
(
imei
.
contains
(
SPLIT
))
{
imei
+=
""
;
String
[]
split
=
StringUtils
.
split
(
imei
,
SPLIT
);
String
imeiFirst
=
split
[
0
];
String
imeiEnd
=
split
[
1
];
if
(
StringUtils
.
isBlank
(
imeiLogin
))
{
// 同步IMEI1
new
LambdaUpdateChainWrapper
<>(
equipmentDao
)
.
set
(
DeviceEquipmentDO:
:
getSerialNumber
,
imeiFirst
)
.
eq
(
DeviceEquipmentDO:
:
getId
,
equipmentId
)
.
update
();
return
imeiEnd
;
}
if
(
imeiLogin
.
equals
(
imeiFirst
))
{
return
imeiEnd
;
}
return
imeiFirst
;
}
}
return
null
;
}
}
\ No newline at end of file
// }
// equipmentInfoDO.setImei2(getImei2(equipmentInfoDO.getImei2(), equipmentId, loginUserDTO.getSerialNumber()));
// DeviceEquipmentInfoDO deviceEquipmentInfoDO = new LambdaQueryChainWrapper<>(equipmentInfoDao)
// .eq(DeviceEquipmentInfoDO::getEquipmentId, equipmentId)
// .one();
// if (deviceEquipmentInfoDO == null) {
// // 添加设备信息
// equipmentInfoDao.insert(equipmentInfoDO);
//// new LambdaUpdateChainWrapper<>(equipmentDao)
//// .set(DeviceEquipmentDO::getOaid, equipmentInfoDTO.getOaid())
//// .set(DeviceEquipmentDO::getUuid, equipmentInfoDTO.getUuid())
//// .eq(DeviceEquipmentDO::getId, equipmentId)
//// .update();
// return ResponseResult.success();
// }
// // 修改设备信息
// equipmentInfoDO.setId(deviceEquipmentInfoDO.getId());
// equipmentInfoDao.updateById(equipmentInfoDO);
// return ResponseResult.success();
// } catch (Exception e) {
// log.error("上传设备信息异常: " + equipmentId + data, e);
// return ResponseResult.failure();
// }
// }
//
// /**
// * 获取IMEI2
// *
// * @param imei
// * @param equipmentId
// * @return
// */
// private String getImei2(String imei, Integer equipmentId, String imeiLogin) {
// if (StringUtils.isNotBlank(imei)) {
// if (imei.contains(SPLIT)) {
// imei+="";
// String[] split = StringUtils.split(imei, SPLIT);
// String imeiFirst = split[0];
// String imeiEnd = split[1];
// if (StringUtils.isBlank(imeiLogin)) {
// // 同步IMEI1
// new LambdaUpdateChainWrapper<>(equipmentDao)
// .set(DeviceEquipmentDO::getSerialNumber, imeiFirst)
// .eq(DeviceEquipmentDO::getId, equipmentId)
// .update();
// return imeiEnd;
// }
// if (imeiLogin.equals(imeiFirst)) {
// return imeiEnd;
// }
// return imeiFirst;
// }
// }
// return null;
// }
//}
\ No newline at end of file
mdm_dao/src/main/java/com/skr/mdm/entity/DeviceEquipmentDiskDO.java
View file @
0b3a2bb9
...
...
@@ -2,6 +2,8 @@ package com.skr.mdm.entity;
import
java.io.Serializable
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
/**
...
...
@@ -9,6 +11,7 @@ import lombok.Data;
* device_equipment_disk
*/
@Data
@TableName
(
"device_equipment_disk"
)
public
class
DeviceEquipmentDiskDO
implements
Serializable
{
/**
* id
...
...
@@ -26,7 +29,7 @@ public class DeviceEquipmentDiskDO implements Serializable {
private
String
path
;
/**
*
执照
商
*
制造
商
*/
private
String
vendor
;
...
...
@@ -63,7 +66,7 @@ public class DeviceEquipmentDiskDO implements Serializable {
/**
* 扇区字节数
*/
private
String
Integer
sPerSec
;
private
String
byte
sPerSec
;
/**
* 容量
...
...
mdm_dao/src/main/java/com/skr/mdm/entity/DeviceEquipmentNetDO.java
View file @
0b3a2bb9
...
...
@@ -24,6 +24,11 @@ public class DeviceEquipmentNetDO implements Serializable {
private
Integer
equipmentId
;
/**
* name
*/
private
String
name
;
/**
* MAC
*/
private
String
mac
;
...
...
@@ -46,12 +51,12 @@ public class DeviceEquipmentNetDO implements Serializable {
/**
* vid
*/
private
Integer
vid
;
private
String
vid
;
/**
* pid
*/
private
Integer
pid
;
private
String
pid
;
private
Date
createTime
;
...
...
mdm_dao/src/main/java/com/skr/mdm/entity/DeviceEquipmentSysSourceDO.java
View file @
0b3a2bb9
...
...
@@ -2,6 +2,8 @@ package com.skr.mdm.entity;
import
java.io.Serializable
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
/**
...
...
@@ -9,6 +11,7 @@ import lombok.Data;
* device_equipment_sys_source
*/
@Data
@TableName
(
"device_equipment_sys_source"
)
public
class
DeviceEquipmentSysSourceDO
implements
Serializable
{
/**
* id
...
...
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/ConfigStrategyService.java
View file @
0b3a2bb9
...
...
@@ -6,8 +6,7 @@ import com.skr.mdm.bean.vo.strategy.StrategyVO;
import
java.util.List
;
public
interface
ConfigStrategyService
extends
DefaultStrategyService
{
public
interface
ConfigStrategyService
{
List
<
StrategyVO
>
listStrategy
(
StrategyQueryQO
strategyQueryQO
);
}
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/impl/ConfigStrategyServiceImpl.java
0 → 100644
View file @
0b3a2bb9
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
.
impl
;
import
com.skr.mdm.api.strategy.service.ConfigStrategyService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
/**
* @author nfq
* @date 2022-10-18 15:00
*/
@Service
@Slf4j
public
class
ConfigStrategyServiceImpl
implements
ConfigStrategyService
{
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/impl/FunctionInfoStrategyServiceImpl.java
0 → 100644
View file @
0b3a2bb9
package
com
.
skr
.
mdm
.
api
.
strategy
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.skr.mdm.api.strategy.service.FunctionInfoStrategyService
;
import
com.skr.mdm.dao.RailStrategyInfoDao
;
import
com.skr.mdm.entity.RailStrategyInfoDO
;
import
org.springframework.stereotype.Service
;
/**
* @author nfq
* @date 2022-10-18 15:10
*/
@Service
public
class
FunctionInfoStrategyServiceImpl
extends
ServiceImpl
<
RailStrategyInfoDao
,
RailStrategyInfoDO
>
implements
FunctionInfoStrategyService
{
}
\ No newline at end of file
mdm_website/src/main/java/com/skr/mdm/api/strategy/service/impl/StrategyServiceImpl.java
View file @
0b3a2bb9
...
...
@@ -45,9 +45,9 @@ public class StrategyServiceImpl implements StrategyService {
if
(
StrategyTypeEnum
.
FUNCTION_STRATEGY
.
getStrategyType
().
equals
(
strategyQueryQO
.
getStrategyType
()))
{
return
ResponseResult
.
success
(
PageUtil
.
getPageResult
(
strategyDao
.
listStrategy
(
strategyQueryQO
)));
}
if
(
StrategyTypeEnum
.
CONFIG_STRATEGY
.
getStrategyType
().
equals
(
strategyQueryQO
.
getStrategyType
()))
{
return
ResponseResult
.
success
(
PageUtil
.
getPageResult
(
configStrategyService
.
listStrategy
(
strategyQueryQO
)));
}
//
if (StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType().equals(strategyQueryQO.getStrategyType())) {
//
return ResponseResult.success(PageUtil.getPageResult(configStrategyService.listStrategy(strategyQueryQO)));
//
}
if
(
StrategyTypeEnum
.
URL_STRATEGY
.
getStrategyType
().
equals
(
strategyQueryQO
.
getStrategyType
()))
{
return
ResponseResult
.
success
(
PageUtil
.
getPageResult
(
urlStrategyService
.
listStrategy
(
strategyQueryQO
)));
}
...
...
@@ -62,9 +62,9 @@ public class StrategyServiceImpl implements StrategyService {
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
FUNCTION_STRATEGY
.
getStrategyType
()),
strategyTypeIssuedQO
,
loginAdminDTO
));
ResponseResultManager
.
add
(
configStrategyService
.
issuedStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
CONFIG_STRATEGY
.
getStrategyType
()),
strategyTypeIssuedQO
,
loginAdminDTO
));
//
ResponseResultManager.add(configStrategyService.issuedStrategy(
//
StrategyManager.getStrategyIdList(strategyTypeQOList, StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType()),
//
strategyTypeIssuedQO, loginAdminDTO));
ResponseResultManager
.
add
(
urlStrategyService
.
issuedStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
URL_STRATEGY
.
getStrategyType
()),
...
...
@@ -79,8 +79,8 @@ public class StrategyServiceImpl implements StrategyService {
ResponseResultManager
.
add
(
functionStrategyService
.
deleteStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
FUNCTION_STRATEGY
.
getStrategyType
()),
loginAdminDTO
));
ResponseResultManager
.
add
(
configStrategyService
.
deleteStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
CONFIG_STRATEGY
.
getStrategyType
()),
loginAdminDTO
));
//
ResponseResultManager.add(configStrategyService.deleteStrategy(StrategyManager.getStrategyIdList(strategyTypeQOList,
//
StrategyTypeEnum.CONFIG_STRATEGY.getStrategyType()), loginAdminDTO));
ResponseResultManager
.
add
(
urlStrategyService
.
deleteStrategy
(
StrategyManager
.
getStrategyIdList
(
strategyTypeQOList
,
StrategyTypeEnum
.
URL_STRATEGY
.
getStrategyType
()),
loginAdminDTO
));
...
...
@@ -88,4 +88,4 @@ public class StrategyServiceImpl implements StrategyService {
return
ResponseResultManager
.
get
();
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment