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 55fb8bf2
authored
Dec 02, 2024
by
HlQ
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
[add] 升级包添加 content 字段
[chg] 关注的项目查询优化
1 parent
3d032fa0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
3 deletions
src/main/java/vion/model/monitor/Upgrade.java
src/main/java/vion/service/impl/monitor/MallServiceImpl.java
src/main/java/vion/model/monitor/Upgrade.java
View file @
55fb8bf
...
...
@@ -55,6 +55,12 @@ public class Upgrade extends BaseDTO {
private
String
sha256
;
/**
* 更新内容
*/
@TableField
(
value
=
"content"
)
private
String
content
;
/**
* 备注
*/
@TableField
(
value
=
"remark"
)
...
...
src/main/java/vion/service/impl/monitor/MallServiceImpl.java
View file @
55fb8bf
...
...
@@ -10,12 +10,14 @@ import lombok.extern.slf4j.Slf4j;
import
net.dreamlu.iot.mqtt.codec.MqttQoS
;
import
net.dreamlu.iot.mqtt.spring.client.MqttClientTemplate
;
import
org.dromara.hutool.core.collection.CollUtil
;
import
org.dromara.hutool.core.date.TimeUtil
;
import
org.dromara.hutool.core.lang.Assert
;
import
org.dromara.hutool.core.lang.Opt
;
import
org.dromara.hutool.core.text.StrUtil
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
vion.dto.monitor.MallDTO
;
import
vion.mapper.monitor.AgentMapper
;
import
vion.mapper.monitor.MallMapper
;
import
vion.model.monitor.*
;
import
vion.service.monitor.*
;
...
...
@@ -23,6 +25,7 @@ import vion.utils.JsonUtil;
import
vion.utils.TopicUtil
;
import
vion.vo.monitor.MallVO
;
import
java.time.LocalDate
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.function.Function
;
...
...
@@ -41,6 +44,7 @@ public class MallServiceImpl extends MPJBaseServiceImpl<MallMapper, Mall> implem
private
final
IEventRecordService
eventRecordService
;
private
final
IRAgentEventService
agentEventService
;
private
final
IRMallRemarkService
mallRemarkService
;
private
final
AgentMapper
agentMapper
;
private
final
MqttClientTemplate
client
;
private
final
Converter
converter
;
...
...
@@ -146,6 +150,7 @@ public class MallServiceImpl extends MPJBaseServiceImpl<MallMapper, Mall> implem
var
eventRecWrapper
=
Wrappers
.<
EventRecord
>
query
()
.
select
(
"DISTINCT on (mall_uid,event_type) *"
)
.
in
(
"mall_uid"
,
tmpMallUidList
)
.
ge
(
"create_time"
,
TimeUtil
.
beginOfDay
(
LocalDate
.
now
().
minusDays
(
3
)))
.
orderByDesc
(
"mall_uid"
,
"event_type"
,
"create_time"
);
var
eventRecordList
=
eventRecordService
.
list
(
eventRecWrapper
);
var
mallUid2RecMap
=
eventRecordList
.
stream
().
collect
(
Collectors
.
groupingBy
(
EventRecord:
:
getMallUid
));
...
...
@@ -170,11 +175,13 @@ public class MallServiceImpl extends MPJBaseServiceImpl<MallMapper, Mall> implem
public
Page
<
MallVO
>
listErrorAttention
(
MallDTO
dto
)
{
var
eventRecWrapper
=
Wrappers
.<
EventRecord
>
query
()
.
select
(
"DISTINCT on (mall_uid,event_type) *"
)
.
gt
(
"create_time"
,
TimeUtil
.
beginOfDay
(
LocalDate
.
now
().
minusDays
(
3
)))
.
eq
(
"agent_type"
,
dto
.
getAgentType
())
.
eq
(
"status"
,
0
)
.
in
(
CollUtil
.
isNotEmpty
(
dto
.
getEventUidList
()),
"event_uid"
,
dto
.
getEventUidList
())
.
orderByDesc
(
"mall_uid"
,
"event_type"
,
"create_time"
);
var
eventRecordList
=
eventRecordService
.
list
(
eventRecWrapper
);
var
mallUidList
=
eventRecordList
.
stream
().
filter
(
r
->
r
.
getStatus
()
==
0
).
map
(
EventRecord:
:
getMallUid
).
toList
();
var
mallUidList
=
eventRecordList
.
stream
().
map
(
EventRecord:
:
getMallUid
).
toList
();
if
(
CollUtil
.
isEmpty
(
mallUidList
))
{
return
new
Page
<>();
}
...
...
@@ -184,19 +191,21 @@ public class MallServiceImpl extends MPJBaseServiceImpl<MallMapper, Mall> implem
var
wrapper
=
new
MPJLambdaWrapper
<>(
converter
.
convert
(
dto
,
Mall
.
class
))
.
selectAll
(
Mall
.
class
)
.
selectAs
(
MAccount:
:
getName
,
MallVO:
:
getAccountName
)
.
selectAs
(
Agent:
:
getHostname
,
MallVO:
:
getHostname
)
.
leftJoin
(
MAccount
.
class
,
MAccount:
:
getUid
,
Mall:
:
getAccountUid
)
.
leftJoin
(
Agent
.
class
,
Agent:
:
getUid
,
Mall:
:
getAgentUid
)
.
in
(
Mall:
:
getUid
,
mallUidList
)
.
orderByDesc
(
Mall:
:
getUid
,
Mall:
:
getUpdateTime
);
var
mallVOPage
=
this
.
selectJoinListPage
(
Page
.
of
(
dto
.
getPageNum
(),
dto
.
getPageSize
()),
MallVO
.
class
,
wrapper
);
Opt
.
ofEmptyAble
(
mallVOPage
.
getRecords
())
.
ifPresent
(
r
->
{
var
tmpMallUidList
=
r
.
stream
().
map
(
MallVO:
:
getUid
).
toList
();
var
agentUidSet
=
r
.
stream
().
map
(
MallVO:
:
getAgentUid
).
collect
(
Collectors
.
toSet
());
var
agentList
=
agentMapper
.
selectList
(
Wrappers
.<
Agent
>
lambdaQuery
().
in
(
Agent:
:
getUid
,
agentUidSet
));
var
uid2AgentMap
=
agentList
.
stream
().
collect
(
Collectors
.
toMap
(
Agent:
:
getUid
,
Function
.
identity
()));
var
tmpWrapper
=
Wrappers
.<
EventRecord
>
query
()
.
select
(
"DISTINCT on (mall_uid,event_type) *"
)
.
in
(
"mall_uid"
,
tmpMallUidList
)
.
ge
(
"create_time"
,
TimeUtil
.
beginOfDay
(
LocalDate
.
now
().
minusDays
(
3
)))
.
orderByDesc
(
"mall_uid"
,
"event_type"
,
"create_time"
);
var
tmpEventRecordList
=
eventRecordService
.
list
(
tmpWrapper
);
var
tmpMallUid2RecMap
=
tmpEventRecordList
.
stream
().
collect
(
Collectors
.
groupingBy
(
EventRecord:
:
getMallUid
));
...
...
@@ -208,6 +217,7 @@ public class MallServiceImpl extends MPJBaseServiceImpl<MallMapper, Mall> implem
tmp
.
setEventRecordList
(
tmpMallUid2RecMap
.
getOrDefault
(
tmp
.
getUid
(),
List
.
of
()));
tmp
.
setAgentEventList
(
mallUid2AgentEventMap
.
getOrDefault
(
tmp
.
getUid
(),
List
.
of
()));
tmp
.
setMallRemark
(
mallUid2RemarkMap
.
get
(
tmp
.
getUid
()));
tmp
.
setHostname
(
uid2AgentMap
.
getOrDefault
(
tmp
.
getAgentUid
(),
new
Agent
()).
getHostname
());
});
});
return
mallVOPage
;
...
...
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