mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 11:07:06 +00:00
(improvement)(Headless) Supports configuring term-related metrics and dimensions (#1184)
Co-authored-by: lxwcodemonkey
This commit is contained in:
@@ -21,4 +21,8 @@ public class TermReq extends RecordInfo {
|
||||
|
||||
private List<String> alias = Lists.newArrayList();
|
||||
|
||||
private List<Long> relatedMetrics = Lists.newArrayList();
|
||||
|
||||
private List<Long> relateDimensions = Lists.newArrayList();
|
||||
|
||||
}
|
||||
|
||||
@@ -23,4 +23,8 @@ public class TermResp extends RecordInfo {
|
||||
|
||||
private List<String> alias = Lists.newArrayList();
|
||||
|
||||
private List<Long> relatedMetrics = Lists.newArrayList();
|
||||
|
||||
private List<Long> relateDimensions = Lists.newArrayList();
|
||||
|
||||
}
|
||||
|
||||
@@ -22,6 +22,10 @@ public class TermDO {
|
||||
|
||||
private String alias;
|
||||
|
||||
private String relatedMetrics;
|
||||
|
||||
private String relatedDimensions;
|
||||
|
||||
private Date createdAt;
|
||||
|
||||
private String createdBy;
|
||||
|
||||
@@ -24,17 +24,16 @@ import java.util.stream.Collectors;
|
||||
public class TermServiceImpl extends ServiceImpl<TermMapper, TermDO> implements TermService {
|
||||
|
||||
@Override
|
||||
public void saveOrUpdate(TermReq termSetReq, User user) {
|
||||
public void saveOrUpdate(TermReq termReq, User user) {
|
||||
QueryWrapper<TermDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(TermDO::getId, termSetReq.getId());
|
||||
queryWrapper.lambda().eq(TermDO::getId, termReq.getId());
|
||||
TermDO termSetDO = getOne(queryWrapper);
|
||||
if (termSetDO == null) {
|
||||
termSetReq.createdBy(user.getName());
|
||||
termReq.createdBy(user.getName());
|
||||
termSetDO = new TermDO();
|
||||
}
|
||||
termSetReq.updatedBy(user.getName());
|
||||
BeanMapper.mapper(termSetReq, termSetDO);
|
||||
termSetDO.setAlias(JsonUtil.toString(termSetReq.getAlias()));
|
||||
termReq.updatedBy(user.getName());
|
||||
convert(termReq, termSetDO);
|
||||
saveOrUpdate(termSetDO);
|
||||
}
|
||||
|
||||
@@ -63,11 +62,20 @@ public class TermServiceImpl extends ServiceImpl<TermMapper, TermDO> implements
|
||||
Collectors.groupingBy(TermResp::getDomainId));
|
||||
}
|
||||
|
||||
private TermResp convert(TermDO termSetDO) {
|
||||
private TermResp convert(TermDO termDO) {
|
||||
TermResp termSetResp = new TermResp();
|
||||
BeanMapper.mapper(termSetDO, termSetResp);
|
||||
termSetResp.setAlias(JsonUtil.toList(termSetDO.getAlias(), String.class));
|
||||
BeanMapper.mapper(termDO, termSetResp);
|
||||
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;
|
||||
}
|
||||
|
||||
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()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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密码盐';
|
||||
|
||||
--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 '术语关联的维度';
|
||||
|
||||
@@ -639,6 +639,8 @@ CREATE TABLE IF NOT EXISTS `s2_term` (
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) DEFAULT NULL ,
|
||||
`alias` varchar(1000) NOT NULL ,
|
||||
`related_metrics` varchar(1000) DEFAULT NULL ,
|
||||
`related_dimensions` varchar(1000) DEFAULT NULL,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP DEFAULT NULL ,
|
||||
|
||||
@@ -562,6 +562,8 @@ CREATE TABLE IF NOT EXISTS `s2_term` (
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) DEFAULT NULL ,
|
||||
`alias` varchar(1000) NOT NULL ,
|
||||
`related_metrics` varchar(1000) DEFAULT NULL ,
|
||||
`related_dimensions` varchar(1000) DEFAULT NULL,
|
||||
`created_at` datetime NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` datetime DEFAULT NULL ,
|
||||
|
||||
@@ -639,6 +639,8 @@ CREATE TABLE IF NOT EXISTS `s2_term` (
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) DEFAULT NULL ,
|
||||
`alias` varchar(1000) NOT NULL ,
|
||||
`related_metrics` varchar(1000) DEFAULT NULL ,
|
||||
`related_dimensions` varchar(1000) DEFAULT NULL,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP DEFAULT NULL ,
|
||||
|
||||
Reference in New Issue
Block a user