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 348786ca
authored
Dec 31, 2024
by
HlQ
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
[feat] 添加集团默认指标配置以及新mall自动配置集团默认指标
1 parent
eace3521
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
228 additions
and
2 deletions
src/main/java/vion/controller/monitor/MAccountController.java
src/main/java/vion/mapper/monitor/RAccountEventMapper.java
src/main/java/vion/model/TaskTemp.java
src/main/java/vion/model/monitor/RAccountEvent.java
src/main/java/vion/service/impl/monitor/AgentServiceImpl.java
src/main/java/vion/service/impl/monitor/MAccountServiceImpl.java
src/main/java/vion/service/impl/monitor/RAccountEventServiceImpl.java
src/main/java/vion/service/monitor/IMAccountService.java
src/main/java/vion/service/monitor/IRAccountEventService.java
src/main/java/vion/controller/monitor/MAccountController.java
0 → 100644
View file @
348786c
package
vion
.
controller
.
monitor
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.web.bind.annotation.*
;
import
vion.model.monitor.RAccountEvent
;
import
vion.service.monitor.IMAccountService
;
import
java.util.List
;
/**
* @author vion
* @date 2024/12/27
*/
@RestController
@RequestMapping
(
"/api/maccount"
)
@RequiredArgsConstructor
public
class
MAccountController
{
private
final
IMAccountService
accountService
;
@GetMapping
(
"/event/{uid}"
)
@SaCheckPermission
(
value
=
"account:event:query"
,
orRole
=
"admin"
)
public
List
<
RAccountEvent
>
getEventById
(
@PathVariable
String
uid
)
{
return
accountService
.
getEventById
(
uid
);
}
@PostMapping
(
"/event/{agentUid}/{uid}"
)
@SaCheckPermission
(
value
=
"account:event:editAndSave"
,
orRole
=
"admin"
)
public
String
saveEvent
(
@PathVariable
String
agentUid
,
@PathVariable
String
uid
,
@RequestBody
RAccountEvent
event
)
{
return
accountService
.
saveEvent
(
agentUid
,
uid
,
event
);
}
}
src/main/java/vion/mapper/monitor/RAccountEventMapper.java
0 → 100644
View file @
348786c
package
vion
.
mapper
.
monitor
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
vion.model.monitor.RAccountEvent
;
/**
* @author vion
* @date 2024/10/31
*/
public
interface
RAccountEventMapper
extends
MPJBaseMapper
<
RAccountEvent
>
{
}
\ No newline at end of file
src/main/java/vion/model/TaskTemp.java
View file @
348786c
src/main/java/vion/model/monitor/RAccountEvent.java
0 → 100644
View file @
348786c
package
vion
.
model
.
monitor
;
import
com.baomidou.mybatisplus.annotation.*
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
/**
* 集团默认指标表
*/
@Getter
@Setter
@TableName
(
value
=
"mr_account_event"
)
public
class
RAccountEvent
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* agent uid
*/
@TableField
(
value
=
"agent_uid"
)
private
String
agentUid
;
/**
* 所属集团uid
*/
@TableField
(
value
=
"account_uid"
)
private
String
accountUid
;
/**
* 事件唯一ID
*/
@TableField
(
value
=
"event_uid"
)
private
String
eventUid
;
/**
* 事件类型
*/
@TableField
(
value
=
"event_type"
)
private
String
eventType
;
/**
* 监测时间
*/
@TableField
(
value
=
"cron"
)
private
String
cron
;
/**
* 默认阈值,可为空
*/
@TableField
(
value
=
"threshold"
)
private
String
threshold
;
/**
* 开关 0:关 1:开
*/
@TableField
(
value
=
"control_switch"
)
private
Short
controlSwitch
;
/**
* 过期时间,为空则永不过期
*/
@TableField
(
value
=
"expire"
)
private
LocalDate
expire
;
/**
* 事件建立者
*/
@TableField
(
value
=
"create_by"
,
fill
=
FieldFill
.
INSERT
)
private
String
createBy
;
/**
* 事件更新者
*/
@TableField
(
value
=
"update_by"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
String
updateBy
;
@TableField
(
value
=
"create_time"
,
fill
=
FieldFill
.
INSERT
)
private
LocalDateTime
createTime
;
@TableField
(
value
=
"update_time"
,
fill
=
FieldFill
.
INSERT_UPDATE
)
private
LocalDateTime
updateTime
;
}
\ No newline at end of file
src/main/java/vion/service/impl/monitor/AgentServiceImpl.java
View file @
348786c
...
...
@@ -30,6 +30,7 @@ import vion.mapper.monitor.AgentMapper;
import
vion.model.monitor.*
;
import
vion.service.monitor.*
;
import
vion.utils.JsonUtil
;
import
vion.utils.TimeZoneUtil
;
import
vion.utils.TopicUtil
;
import
vion.utils.ip.IPUtil
;
import
vion.vo.monitor.AgentVO
;
...
...
@@ -56,11 +57,13 @@ public class AgentServiceImpl extends MPJBaseServiceImpl<AgentMapper, Agent> imp
private
final
IServiceInfoService
serviceInfoService
;
private
final
IServiceRecordService
serviceRecordService
;
private
final
IRAgentServiceService
rAgentServiceService
;
private
final
IRAgentEventService
agentEventService
;
private
final
IUpgradeService
upgradeService
;
private
final
Converter
converter
;
private
final
MqttClientTemplate
client
;
private
final
IMAccountService
accountService
;
private
final
IRAccountEventService
accountEventService
;
private
final
IMallService
mallService
;
private
final
MqttClientTemplate
client
;
private
final
Converter
converter
;
@Value
(
"${mqtt.client.ext.ip}"
)
private
String
extIp
;
@Value
(
"${mqtt.client.server-topic:/MS/receive}"
)
...
...
@@ -413,6 +416,7 @@ public class AgentServiceImpl extends MPJBaseServiceImpl<AgentMapper, Agent> imp
}
if
(
CollUtil
.
isNotEmpty
(
insMallList
))
{
mallService
.
saveBatch
(
insMallList
);
updNewMallEvent
(
insMallList
);
}
if
(
CollUtil
.
isNotEmpty
(
updAccList
))
{
accountService
.
updateBatchById
(
updAccList
);
...
...
@@ -504,4 +508,42 @@ public class AgentServiceImpl extends MPJBaseServiceImpl<AgentMapper, Agent> imp
});
eventRecordService.saveBatch(recList);*/
}
/**
* 新增 mall,获取其集团默认指标配置并添加
*
* @param insMallList 要插入的mall
*/
private
void
updNewMallEvent
(
List
<
Mall
>
insMallList
)
{
var
accUidList
=
insMallList
.
stream
().
map
(
Mall:
:
getAccountUid
).
distinct
().
toList
();
var
accEventList
=
accountEventService
.
lambdaQuery
()
.
in
(
RAccountEvent:
:
getAccountUid
,
accUidList
)
.
eq
(
RAccountEvent:
:
getControlSwitch
,
1
)
.
list
();
var
accUid2EventMap
=
accEventList
.
stream
().
collect
(
Collectors
.
groupingBy
(
RAccountEvent:
:
getAccountUid
));
insMallList
.
forEach
(
m
->
{
var
eventList
=
accUid2EventMap
.
get
(
m
.
getAccountUid
());
var
timeZone
=
m
.
getTimeZone
();
var
offsetMinute
=
TimeZoneUtil
.
getOffsetMinute
(
timeZone
);
var
agentEventList
=
eventList
.
stream
().
map
(
e
->
{
var
cron
=
e
.
getCron
();
var
offsetCron
=
TimeZoneUtil
.
convertCronExpression
(
cron
,
offsetMinute
);
var
rAgentEvent
=
new
RAgentEvent
();
rAgentEvent
.
setAccountUid
(
m
.
getAccountUid
());
rAgentEvent
.
setMallUid
(
m
.
getUid
());
rAgentEvent
.
setEventUid
(
e
.
getEventUid
());
rAgentEvent
.
setEventType
(
e
.
getEventType
());
rAgentEvent
.
setCron
(
cron
);
rAgentEvent
.
setTimeZone
(
timeZone
);
rAgentEvent
.
setOffsetCron
(
offsetCron
);
rAgentEvent
.
setThreshold
(
e
.
getThreshold
());
rAgentEvent
.
setControlSwitch
(
e
.
getControlSwitch
());
rAgentEvent
.
setExpire
(
e
.
getExpire
());
return
rAgentEvent
;
}).
toList
();
agentEventService
.
saveBatch
(
agentEventList
);
});
}
}
src/main/java/vion/service/impl/monitor/MAccountServiceImpl.java
View file @
348786c
package
vion
.
service
.
impl
.
monitor
;
import
com.github.yulichang.base.MPJBaseServiceImpl
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
vion.mapper.monitor.MAccountMapper
;
import
vion.model.monitor.MAccount
;
import
vion.model.monitor.RAccountEvent
;
import
vion.service.monitor.IMAccountService
;
import
vion.service.monitor.IRAccountEventService
;
import
java.util.List
;
/**
* @author vion
* @date 2024/10/31
*/
@Service
@RequiredArgsConstructor
public
class
MAccountServiceImpl
extends
MPJBaseServiceImpl
<
MAccountMapper
,
MAccount
>
implements
IMAccountService
{
private
final
IRAccountEventService
accountEventService
;
@Override
public
List
<
RAccountEvent
>
getEventById
(
String
uid
)
{
return
accountEventService
.
lambdaQuery
().
eq
(
RAccountEvent:
:
getAccountUid
,
uid
).
list
();
}
@Override
public
String
saveEvent
(
String
agentUid
,
String
uid
,
RAccountEvent
event
)
{
event
.
setAgentUid
(
agentUid
);
event
.
setAccountUid
(
uid
);
accountEventService
.
save
(
event
);
return
""
;
}
}
src/main/java/vion/service/impl/monitor/RAccountEventServiceImpl.java
0 → 100644
View file @
348786c
package
vion
.
service
.
impl
.
monitor
;
import
com.github.yulichang.base.MPJBaseServiceImpl
;
import
org.springframework.stereotype.Service
;
import
vion.mapper.monitor.RAccountEventMapper
;
import
vion.model.monitor.RAccountEvent
;
import
vion.service.monitor.IRAccountEventService
;
/**
* @author vion
* @date 2024/10/31
*/
@Service
public
class
RAccountEventServiceImpl
extends
MPJBaseServiceImpl
<
RAccountEventMapper
,
RAccountEvent
>
implements
IRAccountEventService
{
}
src/main/java/vion/service/monitor/IMAccountService.java
View file @
348786c
...
...
@@ -2,6 +2,9 @@ package vion.service.monitor;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.monitor.MAccount
;
import
vion.model.monitor.RAccountEvent
;
import
java.util.List
;
/**
* @author vion
...
...
@@ -9,5 +12,8 @@ import vion.model.monitor.MAccount;
*/
public
interface
IMAccountService
extends
MPJBaseService
<
MAccount
>
{
List
<
RAccountEvent
>
getEventById
(
String
uid
);
String
saveEvent
(
String
agentUid
,
String
uid
,
RAccountEvent
event
);
}
src/main/java/vion/service/monitor/IRAccountEventService.java
0 → 100644
View file @
348786c
package
vion
.
service
.
monitor
;
import
com.github.yulichang.base.MPJBaseService
;
import
vion.model.monitor.RAccountEvent
;
/**
* @author vion
* @date 2024/10/31
*/
public
interface
IRAccountEventService
extends
MPJBaseService
<
RAccountEvent
>
{
}
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