Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
李苗
/
Vion-DevOps
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 1db53c4b
authored
Jan 21, 2025
by
HlQ
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
[fix] 修复 Agent 上报注册消息时,指标不下发的问题
[feat] 设备离线时间添加时区计算
1 parent
200b981e
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
6 deletions
src/main/java/vion/controller/monitor/EventController.java
src/main/java/vion/event/mqtt/MqttClientMessageListener.java
src/main/java/vion/service/impl/monitor/RAgentEventServiceImpl.java
src/main/java/vion/service/monitor/IRAgentEventService.java
src/main/java/vion/controller/monitor/EventController.java
View file @
1db53c4
...
...
@@ -10,7 +10,6 @@ import vion.dto.monitor.EventDTO;
import
vion.model.monitor.Event
;
import
vion.model.monitor.EventRecord
;
import
vion.model.monitor.RAgentEvent
;
import
vion.service.monitor.IEventRecordService
;
import
vion.service.monitor.IEventService
;
import
vion.service.monitor.IRAgentEventService
;
import
vion.vo.monitor.EventVO
;
...
...
@@ -27,7 +26,6 @@ public class EventController {
private
final
IEventService
eventService
;
private
final
IRAgentEventService
agentEventService
;
private
final
IEventRecordService
eventRecordService
;
@GetMapping
@SaCheckPermission
(
value
=
"event:list"
,
orRole
=
"admin"
)
...
...
@@ -94,8 +92,6 @@ public class EventController {
@GetMapping
(
"/rec"
)
@SaCheckPermission
(
value
=
"event:rec:list"
,
orRole
=
"admin"
)
public
Page
<
EventRecord
>
listRec
(
EventRecord
dto
)
{
return
eventRecordService
.
lambdaQuery
(
dto
)
.
orderByDesc
(
EventRecord:
:
getCreateTime
)
.
page
(
Page
.
of
(
dto
.
getPageNum
(),
dto
.
getPageSize
()));
return
agentEventService
.
listRec
(
dto
);
}
}
src/main/java/vion/event/mqtt/MqttClientMessageListener.java
View file @
1db53c4
...
...
@@ -48,7 +48,7 @@ public class MqttClientMessageListener {
String
agentUid
=
sendData
.
getAgentUid
();
String
type
=
sendData
.
getEventType
();
log
.
info
(
"收到[{}]消息,类型:[{}]"
,
agentUid
,
type
);
if
(
CollUtil
.
isEmpty
(
sendData
.
getRecList
()))
{
if
(
!
"REGISTER"
.
equalsIgnoreCase
(
type
)
&&
CollUtil
.
isEmpty
(
sendData
.
getRecList
()))
{
log
.
info
(
"[{}]上报的指标记录为空"
,
agentUid
);
return
;
}
...
...
src/main/java/vion/service/impl/monitor/RAgentEventServiceImpl.java
View file @
1db53c4
package
vion
.
service
.
impl
.
monitor
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
com.github.yulichang.base.MPJBaseServiceImpl
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.date.TimeUtil
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.dromara.hutool.core.util.ObjUtil
;
...
...
@@ -14,8 +17,10 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
vion.mapper.monitor.MallMapper
;
import
vion.mapper.monitor.RAgentEventMapper
;
import
vion.model.monitor.EventRecord
;
import
vion.model.monitor.Mall
;
import
vion.model.monitor.RAgentEvent
;
import
vion.service.monitor.IEventRecordService
;
import
vion.service.monitor.IRAgentEventService
;
import
vion.utils.JsonUtil
;
import
vion.utils.TimeZoneUtil
;
...
...
@@ -35,6 +40,7 @@ import java.util.stream.Collectors;
@Slf4j
public
class
RAgentEventServiceImpl
extends
MPJBaseServiceImpl
<
RAgentEventMapper
,
RAgentEvent
>
implements
IRAgentEventService
{
private
final
IEventRecordService
eventRecordService
;
private
final
MallMapper
mallMapper
;
private
final
MqttClientTemplate
client
;
...
...
@@ -175,4 +181,34 @@ public class RAgentEventServiceImpl extends MPJBaseServiceImpl<RAgentEventMapper
}
return
"批量绑定成功"
;
}
@Override
public
Page
<
EventRecord
>
listRec
(
EventRecord
dto
)
{
var
page
=
eventRecordService
.
lambdaQuery
(
dto
)
.
orderByDesc
(
EventRecord:
:
getCreateTime
)
.
page
(
Page
.
of
(
dto
.
getPageNum
(),
dto
.
getPageSize
()));
// 设备离线时区处理设备离线时间
if
(
"BqCXCrwKgnvR12dvIaJ_"
.
equals
(
dto
.
getEventUid
()))
{
var
mall
=
mallMapper
.
selectOne
(
Wrappers
.<
Mall
>
lambdaQuery
().
eq
(
Mall:
:
getUid
,
dto
.
getMallUid
()));
if
(
StrUtil
.
isNotBlank
(
mall
.
getTimeZone
()))
{
page
.
getRecords
().
forEach
(
er
->
{
if
(
ObjUtil
.
isNotNull
(
er
.
getData
()))
{
var
offsetMinute
=
TimeZoneUtil
.
getOffsetMinute
(
mall
.
getTimeZone
());
var
res
=
JsonUtil
.
createArr
();
for
(
var
jsonNode
:
JsonUtil
.
parseTree
(
JsonUtil
.
toJsonString
(
er
.
getData
())))
{
var
offlineTime
=
jsonNode
.
get
(
"offlineTime"
).
asText
();
var
offsetOfflineTime
=
TimeUtil
.
parse
(
offlineTime
,
"yyyy-MM-dd HH:mm:ss"
)
.
minusMinutes
(
offsetMinute
);
((
ObjectNode
)
jsonNode
).
put
(
"offsetOfflineTime"
,
TimeUtil
.
formatNormal
(
offsetOfflineTime
))
.
put
(
"timeZone"
,
mall
.
getTimeZone
());
res
.
addPOJO
(
jsonNode
);
}
er
.
setData
(
res
);
}
});
}
}
return
page
;
}
}
src/main/java/vion/service/monitor/IRAgentEventService.java
View file @
1db53c4
package
vion
.
service
.
monitor
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.monitor.EventRecord
;
import
vion.model.monitor.RAgentEvent
;
import
java.util.List
;
...
...
@@ -17,4 +19,5 @@ public interface IRAgentEventService extends MPJBaseService<RAgentEvent> {
String
bindBatch
(
String
agentUid
,
RAgentEvent
dto
);
Page
<
EventRecord
>
listRec
(
EventRecord
dto
);
}
Write
Preview
Markdown
is supported
Attach a file
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 post a comment