Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
device-new-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
device-new-platform
Commits
f800ac00
Commit
f800ac00
authored
Jun 19, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加设备上线和下线的业务日志记录
parent
b2b6f9fb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
41 additions
and
6 deletions
+41
-6
device-manager/src/main/java/com/mortals/xhx/base/framework/listener/DirectDynamicListener.java
...ls/xhx/base/framework/listener/DirectDynamicListener.java
+18
-0
device-manager/src/main/java/com/mortals/xhx/daemon/task/DeviceStatTaskImpl.java
.../java/com/mortals/xhx/daemon/task/DeviceStatTaskImpl.java
+23
-6
No files found.
device-manager/src/main/java/com/mortals/xhx/base/framework/listener/DirectDynamicListener.java
View file @
f800ac00
...
@@ -3,7 +3,9 @@ package com.mortals.xhx.base.framework.listener;
...
@@ -3,7 +3,9 @@ package com.mortals.xhx.base.framework.listener;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.IdUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.model.BizLogPdu
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.IMessageProduceService
;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.common.key.Constant
;
import
com.mortals.xhx.common.key.Constant
;
import
com.mortals.xhx.common.key.RedisKey
;
import
com.mortals.xhx.common.key.RedisKey
;
...
@@ -53,6 +55,8 @@ public class DirectDynamicListener implements MessageListener {
...
@@ -53,6 +55,8 @@ public class DirectDynamicListener implements MessageListener {
private
SendTaskThreadPool
sendTaskThreadPool
;
private
SendTaskThreadPool
sendTaskThreadPool
;
@Autowired
@Autowired
private
ICacheService
cacheService
;
private
ICacheService
cacheService
;
@Autowired
private
IMessageProduceService
messageProducer
;
@Override
@Override
...
@@ -91,6 +95,20 @@ public class DirectDynamicListener implements MessageListener {
...
@@ -91,6 +95,20 @@ public class DirectDynamicListener implements MessageListener {
if
(!
ObjectUtils
.
isEmpty
(
platformEntity
)
&&
!
ObjectUtils
.
isEmpty
(
productEntity
))
{
if
(!
ObjectUtils
.
isEmpty
(
platformEntity
)
&&
!
ObjectUtils
.
isEmpty
(
productEntity
))
{
//新增设备通知第三方平台
//新增设备通知第三方平台
deviceService
.
sendThirdParty
(
deviceEntity
,
productEntity
,
platformEntity
,
DeviceMethodEnum
.
ONLINE
);
deviceService
.
sendThirdParty
(
deviceEntity
,
productEntity
,
platformEntity
,
DeviceMethodEnum
.
ONLINE
);
//保存业务消息为离线
BizLogPdu
bizLogPdu
=
new
BizLogPdu
();
bizLogPdu
.
initAttrValue
();
//保存为产品名称
bizLogPdu
.
setAppName
(
productEntity
.
getProductName
());
bizLogPdu
.
setTraceID
(
IdUtil
.
objectId
());
bizLogPdu
.
setUserCode
(
"system"
);
bizLogPdu
.
setDeviceCode
(
deviceEntity
.
getDeviceCode
());
bizLogPdu
.
setEventTopic
(
"online"
);
bizLogPdu
.
setEventTopicName
(
LogTypeEnum
.
上报事件
.
name
());
bizLogPdu
.
setMsg
(
"设备上线"
);
bizLogPdu
.
setLogLevel
(
"INFO"
);
bizLogPdu
.
setLogTime
(
new
Date
());
messageProducer
.
syncBizSend
(
bizLogPdu
);
}
}
log
.
info
(
"id:{},deviceCode:{} deviceStatus:{}==>上线 "
,
deviceEntity
.
getId
(),
deviceEntity
.
getDeviceCode
(),
deviceEntity
.
getDeviceStatus
());
log
.
info
(
"id:{},deviceCode:{} deviceStatus:{}==>上线 "
,
deviceEntity
.
getId
(),
deviceEntity
.
getDeviceCode
(),
deviceEntity
.
getDeviceStatus
());
}
}
...
...
device-manager/src/main/java/com/mortals/xhx/daemon/task/DeviceStatTaskImpl.java
View file @
f800ac00
package
com.mortals.xhx.daemon.task
;
package
com.mortals.xhx.daemon.task
;
import
cn.hutool.core.util.IdUtil
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.BizLogPdu
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.IMessageProduceService
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.xhx.common.code.DeviceMethodEnum
;
import
com.mortals.xhx.common.code.DeviceMethodEnum
;
import
com.mortals.xhx.common.code.DeviceStatusEnum
;
import
com.mortals.xhx.common.code.DeviceStatusEnum
;
import
com.mortals.xhx.common.code.LogTypeEnum
;
import
com.mortals.xhx.common.key.RedisKey
;
import
com.mortals.xhx.common.key.RedisKey
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.model.DeviceQuery
;
import
com.mortals.xhx.module.device.model.DeviceQuery
;
...
@@ -38,6 +42,8 @@ public class DeviceStatTaskImpl implements ITaskExcuteService {
...
@@ -38,6 +42,8 @@ public class DeviceStatTaskImpl implements ITaskExcuteService {
private
ProductService
productService
;
private
ProductService
productService
;
@Autowired
@Autowired
private
PlatformService
platformService
;
private
PlatformService
platformService
;
@Autowired
private
IMessageProduceService
messageProducer
;
@Override
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
...
@@ -45,17 +51,12 @@ public class DeviceStatTaskImpl implements ITaskExcuteService {
...
@@ -45,17 +51,12 @@ public class DeviceStatTaskImpl implements ITaskExcuteService {
List
<
DeviceEntity
>
waitDeviceInfos
=
new
ArrayList
<>();
List
<
DeviceEntity
>
waitDeviceInfos
=
new
ArrayList
<>();
while
(
true
)
{
while
(
true
)
{
DeviceEntity
deviceEntity
=
cacheService
.
lpop
(
RedisKey
.
KEY_DEVICE_ONLINE_QUEUE
,
DeviceEntity
.
class
);
DeviceEntity
deviceEntity
=
cacheService
.
lpop
(
RedisKey
.
KEY_DEVICE_ONLINE_QUEUE
,
DeviceEntity
.
class
);
log
.
info
(
"deviceEntity:{}"
,
deviceEntity
==
null
);
if
(
ObjectUtils
.
isEmpty
(
deviceEntity
))
{
if
(
ObjectUtils
.
isEmpty
(
deviceEntity
))
{
log
.
info
(
"deviceEntity:{}"
,
deviceEntity
==
null
);
break
;
break
;
}
else
{
}
else
{
waitDeviceInfos
.
add
(
deviceEntity
);
waitDeviceInfos
.
add
(
deviceEntity
);
}
}
try
{
Thread
.
sleep
(
500
);
}
catch
(
InterruptedException
e
)
{
log
.
error
(
"线程休眠异常"
,
e
);
}
}
}
log
.
info
(
"waitDeviceInfos size:{}"
,
waitDeviceInfos
.
size
());
log
.
info
(
"waitDeviceInfos size:{}"
,
waitDeviceInfos
.
size
());
...
@@ -85,6 +86,22 @@ public class DeviceStatTaskImpl implements ITaskExcuteService {
...
@@ -85,6 +86,22 @@ public class DeviceStatTaskImpl implements ITaskExcuteService {
if
(!
ObjectUtils
.
isEmpty
(
platformEntity
)
&&
!
ObjectUtils
.
isEmpty
(
productEntity
))
{
if
(!
ObjectUtils
.
isEmpty
(
platformEntity
)
&&
!
ObjectUtils
.
isEmpty
(
productEntity
))
{
//通知第三方平台
//通知第三方平台
deviceService
.
sendThirdParty
(
deviceEntity
,
productEntity
,
platformEntity
,
DeviceMethodEnum
.
OFFLINE
);
deviceService
.
sendThirdParty
(
deviceEntity
,
productEntity
,
platformEntity
,
DeviceMethodEnum
.
OFFLINE
);
//保存业务消息为离线
BizLogPdu
bizLogPdu
=
new
BizLogPdu
();
bizLogPdu
.
initAttrValue
();
//保存为产品名称
bizLogPdu
.
setAppName
(
productEntity
.
getProductName
());
bizLogPdu
.
setTraceID
(
IdUtil
.
objectId
());
bizLogPdu
.
setUserCode
(
"system"
);
bizLogPdu
.
setDeviceCode
(
deviceEntity
.
getDeviceCode
());
bizLogPdu
.
setEventTopic
(
"offline"
);
bizLogPdu
.
setEventTopicName
(
LogTypeEnum
.
上报事件
.
name
());
bizLogPdu
.
setMsg
(
"设备离线"
);
bizLogPdu
.
setLogLevel
(
"INFO"
);
bizLogPdu
.
setLogTime
(
new
Date
());
messageProducer
.
syncBizSend
(
bizLogPdu
);
}
}
});
});
}
}
...
...
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