(improvement)(Headless) Supports configuring term-related metrics and dimensions (#1184)

Co-authored-by: lxwcodemonkey
This commit is contained in:
LXW
2024-06-21 18:11:14 +08:00
committed by GitHub
parent e548b57d97
commit 5af76fa7dc
8 changed files with 39 additions and 10 deletions

View File

@@ -21,4 +21,8 @@ public class TermReq extends RecordInfo {
private List<String> alias = Lists.newArrayList(); private List<String> alias = Lists.newArrayList();
private List<Long> relatedMetrics = Lists.newArrayList();
private List<Long> relateDimensions = Lists.newArrayList();
} }

View File

@@ -23,4 +23,8 @@ public class TermResp extends RecordInfo {
private List<String> alias = Lists.newArrayList(); private List<String> alias = Lists.newArrayList();
private List<Long> relatedMetrics = Lists.newArrayList();
private List<Long> relateDimensions = Lists.newArrayList();
} }

View File

@@ -22,6 +22,10 @@ public class TermDO {
private String alias; private String alias;
private String relatedMetrics;
private String relatedDimensions;
private Date createdAt; private Date createdAt;
private String createdBy; private String createdBy;

View File

@@ -24,17 +24,16 @@ import java.util.stream.Collectors;
public class TermServiceImpl extends ServiceImpl<TermMapper, TermDO> implements TermService { public class TermServiceImpl extends ServiceImpl<TermMapper, TermDO> implements TermService {
@Override @Override
public void saveOrUpdate(TermReq termSetReq, User user) { public void saveOrUpdate(TermReq termReq, User user) {
QueryWrapper<TermDO> queryWrapper = new QueryWrapper<>(); QueryWrapper<TermDO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(TermDO::getId, termSetReq.getId()); queryWrapper.lambda().eq(TermDO::getId, termReq.getId());
TermDO termSetDO = getOne(queryWrapper); TermDO termSetDO = getOne(queryWrapper);
if (termSetDO == null) { if (termSetDO == null) {
termSetReq.createdBy(user.getName()); termReq.createdBy(user.getName());
termSetDO = new TermDO(); termSetDO = new TermDO();
} }
termSetReq.updatedBy(user.getName()); termReq.updatedBy(user.getName());
BeanMapper.mapper(termSetReq, termSetDO); convert(termReq, termSetDO);
termSetDO.setAlias(JsonUtil.toString(termSetReq.getAlias()));
saveOrUpdate(termSetDO); saveOrUpdate(termSetDO);
} }
@@ -63,11 +62,20 @@ public class TermServiceImpl extends ServiceImpl<TermMapper, TermDO> implements
Collectors.groupingBy(TermResp::getDomainId)); Collectors.groupingBy(TermResp::getDomainId));
} }
private TermResp convert(TermDO termSetDO) { private TermResp convert(TermDO termDO) {
TermResp termSetResp = new TermResp(); TermResp termSetResp = new TermResp();
BeanMapper.mapper(termSetDO, termSetResp); BeanMapper.mapper(termDO, termSetResp);
termSetResp.setAlias(JsonUtil.toList(termSetDO.getAlias(), String.class)); termSetResp.setAlias(JsonUtil.toList(termDO.getAlias(), String.class));
termSetResp.setRelatedMetrics(JsonUtil.toList(termDO.getRelatedMetrics(), Long.class));
termSetResp.setRelateDimensions(JsonUtil.toList(termDO.getRelatedDimensions(), Long.class));
return termSetResp; return termSetResp;
} }
private void convert(TermReq termReq, TermDO termDO) {
BeanMapper.mapper(termReq, termDO);
termDO.setAlias(JsonUtil.toString(termReq.getAlias()));
termDO.setRelatedDimensions(JsonUtil.toString(termReq.getRelateDimensions()));
termDO.setRelatedMetrics(JsonUtil.toString(termReq.getRelatedMetrics()));
}
} }

View File

@@ -325,4 +325,7 @@ alter table s2_chat_query add column `parse_time_cost` varchar(1024);
alter table s2_user add column `salt` varchar(256) DEFAULT NULL COMMENT 'md5密码盐'; alter table s2_user add column `salt` varchar(256) DEFAULT NULL COMMENT 'md5密码盐';
--20240621 --20240621
alter table s2_agent add column `visual_config` varchar(2000) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '可视化配置'; alter table s2_agent add column `visual_config` varchar(2000) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '可视化配置';
alter table s2_agent add column `related_metrics` varchar(1000) DEFAULT NULL COMMENT '术语关联的指标';
alter table s2_agent add column `related_dimensions` varchar(1000) DEFAULT NULL COMMENT '术语关联的维度';

View File

@@ -639,6 +639,8 @@ CREATE TABLE IF NOT EXISTS `s2_term` (
`name` varchar(255) NOT NULL , `name` varchar(255) NOT NULL ,
`description` varchar(500) DEFAULT NULL , `description` varchar(500) DEFAULT NULL ,
`alias` varchar(1000) NOT NULL , `alias` varchar(1000) NOT NULL ,
`related_metrics` varchar(1000) DEFAULT NULL ,
`related_dimensions` varchar(1000) DEFAULT NULL,
`created_at` TIMESTAMP NOT NULL , `created_at` TIMESTAMP NOT NULL ,
`created_by` varchar(100) NOT NULL , `created_by` varchar(100) NOT NULL ,
`updated_at` TIMESTAMP DEFAULT NULL , `updated_at` TIMESTAMP DEFAULT NULL ,

View File

@@ -562,6 +562,8 @@ CREATE TABLE IF NOT EXISTS `s2_term` (
`name` varchar(255) NOT NULL , `name` varchar(255) NOT NULL ,
`description` varchar(500) DEFAULT NULL , `description` varchar(500) DEFAULT NULL ,
`alias` varchar(1000) NOT NULL , `alias` varchar(1000) NOT NULL ,
`related_metrics` varchar(1000) DEFAULT NULL ,
`related_dimensions` varchar(1000) DEFAULT NULL,
`created_at` datetime NOT NULL , `created_at` datetime NOT NULL ,
`created_by` varchar(100) NOT NULL , `created_by` varchar(100) NOT NULL ,
`updated_at` datetime DEFAULT NULL , `updated_at` datetime DEFAULT NULL ,

View File

@@ -639,6 +639,8 @@ CREATE TABLE IF NOT EXISTS `s2_term` (
`name` varchar(255) NOT NULL , `name` varchar(255) NOT NULL ,
`description` varchar(500) DEFAULT NULL , `description` varchar(500) DEFAULT NULL ,
`alias` varchar(1000) NOT NULL , `alias` varchar(1000) NOT NULL ,
`related_metrics` varchar(1000) DEFAULT NULL ,
`related_dimensions` varchar(1000) DEFAULT NULL,
`created_at` TIMESTAMP NOT NULL , `created_at` TIMESTAMP NOT NULL ,
`created_by` varchar(100) NOT NULL , `created_by` varchar(100) NOT NULL ,
`updated_at` TIMESTAMP DEFAULT NULL , `updated_at` TIMESTAMP DEFAULT NULL ,