mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-13 21:17:08 +00:00
Tag market (#835)
This commit is contained in:
@@ -10,5 +10,5 @@ public class TagDeleteReq {
|
|||||||
|
|
||||||
private List<Long> ids;
|
private List<Long> ids;
|
||||||
private List<Long> itemIds;
|
private List<Long> itemIds;
|
||||||
private TagDefineType type;
|
private TagDefineType tagDefineType;
|
||||||
}
|
}
|
||||||
@@ -1,11 +1,12 @@
|
|||||||
package com.tencent.supersonic.headless.api.pojo.response;
|
package com.tencent.supersonic.headless.api.pojo.response;
|
||||||
|
|
||||||
|
import com.tencent.supersonic.common.pojo.RecordInfo;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
public class TagResp {
|
public class TagResp extends RecordInfo {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ public class TagRepositoryImpl implements TagRepository {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteBatch(TagDeleteReq tagDeleteReq) {
|
public void deleteBatch(TagDeleteReq tagDeleteReq) {
|
||||||
tagCustomMapper.deleteBatch(tagDeleteReq.getItemIds(), tagDeleteReq.getIds(), tagDeleteReq.getType().name());
|
tagCustomMapper.deleteBatch(tagDeleteReq.getItemIds(), tagDeleteReq.getIds(),
|
||||||
|
tagDeleteReq.getTagDefineType().name());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public class TagObjectController {
|
|||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
@PostMapping("/query/tagObject")
|
@PostMapping("/query")
|
||||||
public List<TagObjectResp> queryTagObject(@RequestBody TagObjectFilter filter,
|
public List<TagObjectResp> queryTagObject(@RequestBody TagObjectFilter filter,
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
HttpServletResponse response) throws Exception {
|
HttpServletResponse response) throws Exception {
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp;
|
|||||||
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
|
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
|
import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.SemanticQueryResp;
|
import com.tencent.supersonic.headless.api.pojo.response.SemanticQueryResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.TagResp;
|
|
||||||
import com.tencent.supersonic.headless.server.persistence.dataobject.DimensionDO;
|
import com.tencent.supersonic.headless.server.persistence.dataobject.DimensionDO;
|
||||||
|
import com.tencent.supersonic.headless.server.persistence.dataobject.TagDO;
|
||||||
import com.tencent.supersonic.headless.server.persistence.repository.DimensionRepository;
|
import com.tencent.supersonic.headless.server.persistence.repository.DimensionRepository;
|
||||||
import com.tencent.supersonic.headless.server.pojo.DimensionFilter;
|
import com.tencent.supersonic.headless.server.pojo.DimensionFilter;
|
||||||
import com.tencent.supersonic.headless.server.pojo.DimensionsFilter;
|
import com.tencent.supersonic.headless.server.pojo.DimensionsFilter;
|
||||||
@@ -300,14 +300,18 @@ public class DimensionServiceImpl implements DimensionService {
|
|||||||
}
|
}
|
||||||
TagFilter tagFilter = new TagFilter();
|
TagFilter tagFilter = new TagFilter();
|
||||||
tagFilter.setTagDefineType(TagDefineType.DIMENSION);
|
tagFilter.setTagDefineType(TagDefineType.DIMENSION);
|
||||||
Map<String, TagResp> keyAndTagMap = tagMetaService.getTags(tagFilter).stream()
|
List<Long> dimensionIds = dimensionResps.stream().map(dimension -> dimension.getId())
|
||||||
.collect(Collectors.toMap(tag -> tag.getModelId() + "_" + tag.getBizName(), tag -> tag,
|
.collect(Collectors.toList());
|
||||||
|
tagFilter.setItemIds(dimensionIds);
|
||||||
|
Map<Long, TagDO> keyAndTagMap = tagMetaService.getTagDOList(tagFilter, User.getFakeUser()).stream()
|
||||||
|
.collect(Collectors.toMap(tag -> tag.getItemId(), tag -> tag,
|
||||||
(newTag, oldTag) -> newTag));
|
(newTag, oldTag) -> newTag));
|
||||||
if (Objects.nonNull(keyAndTagMap)) {
|
if (Objects.nonNull(keyAndTagMap)) {
|
||||||
dimensionResps.stream().forEach(dim -> {
|
dimensionResps.stream().forEach(dim -> {
|
||||||
String key = dim.getModelId() + "_" + dim.getBizName();
|
if (keyAndTagMap.containsKey(dim.getId())) {
|
||||||
if (keyAndTagMap.containsKey(key)) {
|
|
||||||
dim.setIsTag(1);
|
dim.setIsTag(1);
|
||||||
|
} else {
|
||||||
|
dim.setIsTag(0);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,10 +34,10 @@ import com.tencent.supersonic.headless.api.pojo.response.DataSetResp;
|
|||||||
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
|
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.MetricResp;
|
import com.tencent.supersonic.headless.api.pojo.response.MetricResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
|
import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.TagResp;
|
|
||||||
import com.tencent.supersonic.headless.server.persistence.dataobject.CollectDO;
|
import com.tencent.supersonic.headless.server.persistence.dataobject.CollectDO;
|
||||||
import com.tencent.supersonic.headless.server.persistence.dataobject.MetricDO;
|
import com.tencent.supersonic.headless.server.persistence.dataobject.MetricDO;
|
||||||
import com.tencent.supersonic.headless.server.persistence.dataobject.MetricQueryDefaultConfigDO;
|
import com.tencent.supersonic.headless.server.persistence.dataobject.MetricQueryDefaultConfigDO;
|
||||||
|
import com.tencent.supersonic.headless.server.persistence.dataobject.TagDO;
|
||||||
import com.tencent.supersonic.headless.server.persistence.repository.MetricRepository;
|
import com.tencent.supersonic.headless.server.persistence.repository.MetricRepository;
|
||||||
import com.tencent.supersonic.headless.server.pojo.DimensionsFilter;
|
import com.tencent.supersonic.headless.server.pojo.DimensionsFilter;
|
||||||
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
|
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
|
||||||
@@ -256,13 +256,18 @@ public class MetricServiceImpl implements MetricService {
|
|||||||
}
|
}
|
||||||
TagFilter tagFilter = new TagFilter();
|
TagFilter tagFilter = new TagFilter();
|
||||||
tagFilter.setTagDefineType(TagDefineType.METRIC);
|
tagFilter.setTagDefineType(TagDefineType.METRIC);
|
||||||
Map<String, TagResp> keyAndTagMap = tagMetaService.getTags(tagFilter).stream()
|
List<Long> metricIds = metricRespList.stream().map(metric -> metric.getId())
|
||||||
.collect(Collectors.toMap(tag -> tag.getModelId() + "_" + tag.getBizName(), tag -> tag));
|
.collect(Collectors.toList());
|
||||||
|
tagFilter.setItemIds(metricIds);
|
||||||
|
Map<Long, TagDO> keyAndTagMap = tagMetaService.getTagDOList(tagFilter, User.getFakeUser()).stream()
|
||||||
|
.collect(Collectors.toMap(tag -> tag.getItemId(), tag -> tag,
|
||||||
|
(newTag, oldTag) -> newTag));
|
||||||
if (Objects.nonNull(keyAndTagMap)) {
|
if (Objects.nonNull(keyAndTagMap)) {
|
||||||
metricRespList.stream().forEach(metric -> {
|
metricRespList.stream().forEach(metric -> {
|
||||||
String key = metric.getModelId() + "_" + metric.getBizName();
|
if (keyAndTagMap.containsKey(metric.getId())) {
|
||||||
if (keyAndTagMap.containsKey(key)) {
|
|
||||||
metric.setIsTag(1);
|
metric.setIsTag(1);
|
||||||
|
} else {
|
||||||
|
metric.setIsTag(0);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,9 +5,7 @@ import com.github.pagehelper.PageInfo;
|
|||||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||||
import com.tencent.supersonic.common.pojo.enums.AuthType;
|
import com.tencent.supersonic.common.pojo.enums.AuthType;
|
||||||
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
|
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
|
||||||
import com.tencent.supersonic.headless.api.pojo.TagDefineParams;
|
|
||||||
import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType;
|
import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.TagBatchCreateReq;
|
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.TagDeleteReq;
|
import com.tencent.supersonic.headless.api.pojo.request.TagDeleteReq;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.TagFilterPageReq;
|
import com.tencent.supersonic.headless.api.pojo.request.TagFilterPageReq;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.TagReq;
|
import com.tencent.supersonic.headless.api.pojo.request.TagReq;
|
||||||
@@ -112,10 +110,9 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
List<TagResp> tagRespList = Arrays.asList(tagResp);
|
List<TagResp> tagRespList = Arrays.asList(tagResp);
|
||||||
fillModelInfo(tagRespList);
|
fillModelInfo(tagRespList);
|
||||||
fillDomainInfo(tagRespList);
|
fillDomainInfo(tagRespList);
|
||||||
tagResp = tagRespList.get(0);
|
fillTagObjectInfo(tagRespList, user);
|
||||||
tagResp = fillTagObjectInfo(tagResp, user);
|
fillCollectAndAdminInfo(tagRespList, user);
|
||||||
tagResp = fillCollectAndAdminInfo(tagResp, user);
|
return tagRespList.get(0);
|
||||||
return tagResp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -151,6 +148,8 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
fillModelInfo(tagRespList);
|
fillModelInfo(tagRespList);
|
||||||
fillDomainInfo(tagRespList);
|
fillDomainInfo(tagRespList);
|
||||||
fillTagObjectInfo(tagRespList, user);
|
fillTagObjectInfo(tagRespList, user);
|
||||||
|
fillCollectAndAdminInfo(tagRespList, user);
|
||||||
|
tagDOPageInfo.setList(tagRespList);
|
||||||
return tagDOPageInfo;
|
return tagDOPageInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,51 +239,6 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
return modelRespList;
|
return modelRespList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int loadMetricTagBatch(TagBatchCreateReq tagLoadReq, List<MetricResp> metrics, User user) {
|
|
||||||
if (!CollectionUtils.isEmpty(tagLoadReq.getItemIds())) {
|
|
||||||
metrics = metrics.stream().filter(metric -> tagLoadReq.getItemIds().contains(metric.getId()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
metrics.parallelStream().forEach(metric -> {
|
|
||||||
TagReq tagReq = new TagReq();
|
|
||||||
BeanUtils.copyProperties(metric, tagReq);
|
|
||||||
tagReq.setId(null);
|
|
||||||
tagReq.setTagDefineType(TagDefineType.METRIC);
|
|
||||||
TagDefineParams tagDefineParams = new TagDefineParams();
|
|
||||||
tagDefineParams.setExpr(metric.getBizName());
|
|
||||||
tagDefineParams.setDependencies(new ArrayList<>(Arrays.asList(metric.getId())));
|
|
||||||
try {
|
|
||||||
create(tagReq, user);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.info("loadMetricTagBatch, e:{}", e.getMessage());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return metrics.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
private Integer loadDimTagBatch(TagBatchCreateReq tagLoadReq, List<DimensionResp> dimensions, User user) {
|
|
||||||
if (!CollectionUtils.isEmpty(tagLoadReq.getItemIds())) {
|
|
||||||
dimensions = dimensions.stream().filter(dim -> tagLoadReq.getItemIds().contains(dim.getId()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
}
|
|
||||||
dimensions.parallelStream().forEach(dim -> {
|
|
||||||
TagReq tagReq = new TagReq();
|
|
||||||
BeanUtils.copyProperties(dim, tagReq);
|
|
||||||
tagReq.setId(null);
|
|
||||||
tagReq.setTagDefineType(TagDefineType.DIMENSION);
|
|
||||||
TagDefineParams tagDefineParams = new TagDefineParams();
|
|
||||||
tagDefineParams.setExpr(dim.getBizName());
|
|
||||||
tagDefineParams.setDependencies(new ArrayList<>(Arrays.asList(dim.getId())));
|
|
||||||
try {
|
|
||||||
create(tagReq, user);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.info("loadDimTagBatch, e:{}", e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
return dimensions.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fillModelInfo(List<TagResp> tagRespList) {
|
private void fillModelInfo(List<TagResp> tagRespList) {
|
||||||
Map<Long, ModelResp> modelIdAndRespMap = modelService.getModelMap();
|
Map<Long, ModelResp> modelIdAndRespMap = modelService.getModelMap();
|
||||||
tagRespList.stream().forEach(tagResp -> {
|
tagRespList.stream().forEach(tagResp -> {
|
||||||
@@ -310,6 +264,23 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
return tagRespList.get(0);
|
return tagRespList.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private TagResp fillCollectAndAdminInfo(List<TagResp> tagRespList, User user) {
|
||||||
|
List<Long> collectIds = collectService.getCollectList(user.getName())
|
||||||
|
.stream().filter(collectDO -> TypeEnums.TAG.name().equalsIgnoreCase(collectDO.getType()))
|
||||||
|
.map(CollectDO::getCollectId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
tagRespList.stream().forEach(tagResp -> {
|
||||||
|
if (CollectionUtils.isNotEmpty(collectIds) && collectIds.contains(tagResp.getId())) {
|
||||||
|
tagResp.setIsCollect(true);
|
||||||
|
} else {
|
||||||
|
tagResp.setIsCollect(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
fillAdminRes(tagRespList, user);
|
||||||
|
return tagRespList.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
private void fillAdminRes(List<TagResp> tagRespList, User user) {
|
private void fillAdminRes(List<TagResp> tagRespList, User user) {
|
||||||
List<ModelResp> modelRespList = modelService.getModelListWithAuth(user, null, AuthType.ADMIN);
|
List<ModelResp> modelRespList = modelService.getModelListWithAuth(user, null, AuthType.ADMIN);
|
||||||
if (CollectionUtils.isEmpty(modelRespList)) {
|
if (CollectionUtils.isEmpty(modelRespList)) {
|
||||||
@@ -317,7 +288,7 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
}
|
}
|
||||||
Set<Long> modelIdSet = modelRespList.stream().map(ModelResp::getId).collect(Collectors.toSet());
|
Set<Long> modelIdSet = modelRespList.stream().map(ModelResp::getId).collect(Collectors.toSet());
|
||||||
for (TagResp tagResp : tagRespList) {
|
for (TagResp tagResp : tagRespList) {
|
||||||
if (modelIdSet.contains(tagResp.getModelId())) {
|
if (modelIdSet.contains(tagResp.getModelId()) || tagResp.getCreatedBy().equalsIgnoreCase(user.getName())) {
|
||||||
tagResp.setHasAdminRes(true);
|
tagResp.setHasAdminRes(true);
|
||||||
} else {
|
} else {
|
||||||
tagResp.setHasAdminRes(false);
|
tagResp.setHasAdminRes(false);
|
||||||
@@ -334,7 +305,7 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
|
|
||||||
List<TagDO> tagRespList = tagRepository.getTagDOList(tagFilter);
|
List<TagDO> tagRespList = tagRepository.getTagDOList(tagFilter);
|
||||||
if (!CollectionUtils.isEmpty(tagRespList)) {
|
if (!CollectionUtils.isEmpty(tagRespList)) {
|
||||||
throw new RuntimeException(String.format("the tag is exit, itemId:{}", tagReq.getItemId()));
|
throw new RuntimeException(String.format("the tag is exit, itemId:%s", tagReq.getItemId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -343,7 +314,7 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
DimensionResp dimension = dimensionService.getDimension(tagReq.getItemId());
|
DimensionResp dimension = dimensionService.getDimension(tagReq.getItemId());
|
||||||
ModelResp model = modelService.getModel(dimension.getModelId());
|
ModelResp model = modelService.getModel(dimension.getModelId());
|
||||||
if (Objects.isNull(model.getTagObjectId())) {
|
if (Objects.isNull(model.getTagObjectId())) {
|
||||||
throw new RuntimeException(String.format("this dimension:{} is not supported to create tag",
|
throw new RuntimeException(String.format("this dimension:%s is not supported to create tag",
|
||||||
tagReq.getItemId()));
|
tagReq.getItemId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -351,7 +322,7 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
MetricResp metric = metricService.getMetric(tagReq.getItemId());
|
MetricResp metric = metricService.getMetric(tagReq.getItemId());
|
||||||
ModelResp model = modelService.getModel(metric.getModelId());
|
ModelResp model = modelService.getModel(metric.getModelId());
|
||||||
if (Objects.isNull(model.getTagObjectId())) {
|
if (Objects.isNull(model.getTagObjectId())) {
|
||||||
throw new RuntimeException(String.format("this metric:{} is not supported to create tag",
|
throw new RuntimeException(String.format("this metric:%s is not supported to create tag",
|
||||||
tagReq.getItemId()));
|
tagReq.getItemId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ public class TagObjectServiceImpl implements TagObjectService {
|
|||||||
tagObjectDO.setUpdatedBy(user.getName());
|
tagObjectDO.setUpdatedBy(user.getName());
|
||||||
tagObjectDO.setUpdatedAt(date);
|
tagObjectDO.setUpdatedAt(date);
|
||||||
tagObjectDO.setStatus(StatusEnum.ONLINE.getCode());
|
tagObjectDO.setStatus(StatusEnum.ONLINE.getCode());
|
||||||
|
|
||||||
tagObjectRepository.create(tagObjectDO).longValue();
|
tagObjectRepository.create(tagObjectDO).longValue();
|
||||||
TagObjectDO tagObjectById = tagObjectRepository.getTagObjectById(tagObjectDO.getId());
|
TagObjectDO tagObjectById = tagObjectRepository.getTagObjectById(tagObjectDO.getId());
|
||||||
return TagObjectConverter.convert2Resp(tagObjectById);
|
return TagObjectConverter.convert2Resp(tagObjectById);
|
||||||
|
|||||||
@@ -52,14 +52,14 @@
|
|||||||
|
|
||||||
<select id="queryTagRespList" resultMap="TagResp">
|
<select id="queryTagRespList" resultMap="TagResp">
|
||||||
select * from (
|
select * from (
|
||||||
select s2_tag.id as id, s2_dimension.model_id as model_id, 'DIMENSION' as type, s2_dimension.id as item_id,
|
select s2_tag.* , s2_dimension.model_id as model_id,
|
||||||
s2_dimension.name as name, s2_dimension.biz_name as biz_name, s2_dimension.description as description, s2_tag.updated_at as updated_at
|
s2_dimension.name as name, s2_dimension.biz_name as biz_name, s2_dimension.description as description
|
||||||
from s2_tag join s2_dimension
|
from s2_tag join s2_dimension
|
||||||
on s2_tag.item_id = s2_dimension.id
|
on s2_tag.item_id = s2_dimension.id
|
||||||
where s2_dimension.status=1 and s2_tag.type='DIMENSION'
|
where s2_dimension.status=1 and s2_tag.type='DIMENSION'
|
||||||
union
|
union
|
||||||
select s2_tag.id as id, s2_metric.model_id as model_id, 'METRIC' as type, s2_metric.id as item_id,
|
select s2_tag.*, s2_metric.model_id as model_id,
|
||||||
s2_metric.name as name, s2_metric.biz_name as biz_name, s2_metric.description as description, s2_tag.updated_at as updated_at
|
s2_metric.name as name, s2_metric.biz_name as biz_name, s2_metric.description as description
|
||||||
from s2_tag join s2_metric
|
from s2_tag join s2_metric
|
||||||
on s2_tag.item_id = s2_metric.id
|
on s2_tag.item_id = s2_metric.id
|
||||||
where s2_metric.status=1 and s2_tag.type='METRIC'
|
where s2_metric.status=1 and s2_tag.type='METRIC'
|
||||||
|
|||||||
@@ -241,8 +241,8 @@ CREATE TABLE IF NOT EXISTS `s2_tag_object`
|
|||||||
`name` varchar(255) NOT NULL COMMENT '名称',
|
`name` varchar(255) NOT NULL COMMENT '名称',
|
||||||
`biz_name` varchar(255) NOT NULL COMMENT '英文名称',
|
`biz_name` varchar(255) NOT NULL COMMENT '英文名称',
|
||||||
`description` varchar(500) DEFAULT NULL COMMENT '描述',
|
`description` varchar(500) DEFAULT NULL COMMENT '描述',
|
||||||
`status` int(10) NOT NULL COMMENT '状态',
|
`status` int(10) NOT NULL DEFAULT '1' COMMENT '状态',
|
||||||
`sensitive_level` int(10) NOT NULL COMMENT '敏感级别',
|
`sensitive_level` int(10) NOT NULL DEFAULT '0' COMMENT '敏感级别',
|
||||||
`created_at` datetime NOT NULL COMMENT '创建时间',
|
`created_at` datetime NOT NULL COMMENT '创建时间',
|
||||||
`created_by` varchar(100) NOT NULL COMMENT '创建人',
|
`created_by` varchar(100) NOT NULL COMMENT '创建人',
|
||||||
`updated_at` datetime NULL COMMENT '更新时间',
|
`updated_at` datetime NULL COMMENT '更新时间',
|
||||||
@@ -258,10 +258,10 @@ CREATE TABLE IF NOT EXISTS s2_tag(
|
|||||||
`id` INT NOT NULL AUTO_INCREMENT,
|
`id` INT NOT NULL AUTO_INCREMENT,
|
||||||
`item_id` INT NOT NULL ,
|
`item_id` INT NOT NULL ,
|
||||||
`type` varchar(255) NOT NULL ,
|
`type` varchar(255) NOT NULL ,
|
||||||
`created_at` TIMESTAMP NOT NULL ,
|
`created_at` datetime NOT NULL ,
|
||||||
`created_by` varchar(100) NOT NULL ,
|
`created_by` varchar(100) NOT NULL ,
|
||||||
`updated_at` TIMESTAMP DEFAULT NULL ,
|
`updated_at` datetime DEFAULT NULL ,
|
||||||
`updated_by` varchar(100) DEFAULT NULL ,
|
`updated_by` varchar(100) DEFAULT NULL ,
|
||||||
`ext` LONGVARCHAR DEFAULT NULL ,
|
`ext` text DEFAULT NULL ,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
@@ -579,7 +579,7 @@ CREATE TABLE IF NOT EXISTS `s2_data_set` (
|
|||||||
CREATE TABLE IF NOT EXISTS `s2_tag` (
|
CREATE TABLE IF NOT EXISTS `s2_tag` (
|
||||||
`id` INT NOT NULL AUTO_INCREMENT,
|
`id` INT NOT NULL AUTO_INCREMENT,
|
||||||
`item_id` INT NOT NULL ,
|
`item_id` INT NOT NULL ,
|
||||||
`type` varchar(50) NOT NULL , -- ATOMIC, DERIVED
|
`type` varchar(50) NOT NULL , -- METRIC DIMENSION
|
||||||
`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 ,
|
||||||
@@ -594,8 +594,8 @@ CREATE TABLE IF NOT EXISTS `s2_tag_object` (
|
|||||||
`name` varchar(255) NOT NULL ,
|
`name` varchar(255) NOT NULL ,
|
||||||
`biz_name` varchar(255) NOT NULL ,
|
`biz_name` varchar(255) NOT NULL ,
|
||||||
`description` varchar(500) DEFAULT NULL ,
|
`description` varchar(500) DEFAULT NULL ,
|
||||||
`status` INT NOT NULL ,
|
`status` INT NOT NULL DEFAULT '1' ,
|
||||||
`sensitive_level` INT NOT NULL ,
|
`sensitive_level` INT NOT NULL DEFAULT '1' ,
|
||||||
`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 ,
|
||||||
|
|||||||
@@ -498,18 +498,17 @@ CREATE TABLE s2_view
|
|||||||
`admin_org` varchar(3000) DEFAULT NULL
|
`admin_org` varchar(3000) DEFAULT NULL
|
||||||
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `s2_tag`
|
CREATE TABLE IF NOT EXISTS s2_tag(
|
||||||
(
|
`id` INT NOT NULL AUTO_INCREMENT,
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
`item_id` INT NOT NULL ,
|
||||||
`item_id` bigint(20) DEFAULT NULL,
|
`type` varchar(255) NOT NULL ,
|
||||||
`type` varchar(255) NOT NULL ,
|
`created_at` datetime NOT NULL ,
|
||||||
`created_at` datetime NOT NULL COMMENT '创建时间',
|
`created_by` varchar(100) NOT NULL ,
|
||||||
`created_by` varchar(100) NOT NULL COMMENT '创建人',
|
`updated_at` datetime DEFAULT NULL ,
|
||||||
`updated_at` datetime NULL COMMENT '更新时间',
|
`updated_by` varchar(100) DEFAULT NULL ,
|
||||||
`updated_by` varchar(100) NULL COMMENT '更新人',
|
`ext` text DEFAULT NULL ,
|
||||||
`ext` text DEFAULT NULL,
|
PRIMARY KEY (`id`)
|
||||||
PRIMARY KEY (`id`)
|
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8 COMMENT ='标签表';
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `s2_tag_object`
|
CREATE TABLE IF NOT EXISTS `s2_tag_object`
|
||||||
(
|
(
|
||||||
@@ -518,8 +517,8 @@ CREATE TABLE IF NOT EXISTS `s2_tag_object`
|
|||||||
`name` varchar(255) NOT NULL COMMENT '名称',
|
`name` varchar(255) NOT NULL COMMENT '名称',
|
||||||
`biz_name` varchar(255) NOT NULL COMMENT '英文名称',
|
`biz_name` varchar(255) NOT NULL COMMENT '英文名称',
|
||||||
`description` varchar(500) DEFAULT NULL COMMENT '描述',
|
`description` varchar(500) DEFAULT NULL COMMENT '描述',
|
||||||
`status` int(10) NOT NULL COMMENT '状态',
|
`status` int(10) NOT NULL DEFAULT '1' COMMENT '状态',
|
||||||
`sensitive_level` int(10) NOT NULL COMMENT '敏感级别',
|
`sensitive_level` int(10) NOT NULL DEFAULT '0' COMMENT '敏感级别',
|
||||||
`created_at` datetime NOT NULL COMMENT '创建时间',
|
`created_at` datetime NOT NULL COMMENT '创建时间',
|
||||||
`created_by` varchar(100) NOT NULL COMMENT '创建人',
|
`created_by` varchar(100) NOT NULL COMMENT '创建人',
|
||||||
`updated_at` datetime NULL COMMENT '更新时间',
|
`updated_at` datetime NULL COMMENT '更新时间',
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public class TagTest extends BaseTest {
|
|||||||
List<TagResp> tags = tagMetaService.getTags(new TagFilter());
|
List<TagResp> tags = tagMetaService.getTags(new TagFilter());
|
||||||
Assert.assertEquals(2, tags.size());
|
Assert.assertEquals(2, tags.size());
|
||||||
TagDeleteReq tagDeleteReq = new TagDeleteReq();
|
TagDeleteReq tagDeleteReq = new TagDeleteReq();
|
||||||
tagDeleteReq.setType(TagDefineType.DIMENSION);
|
tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION);
|
||||||
tagDeleteReq.setItemIds(Arrays.asList(4L, 5L));
|
tagDeleteReq.setItemIds(Arrays.asList(4L, 5L));
|
||||||
tagMetaService.deleteBatch(tagDeleteReq, user);
|
tagMetaService.deleteBatch(tagDeleteReq, user);
|
||||||
List<TagResp> tags1 = tagMetaService.getTags(new TagFilter());
|
List<TagResp> tags1 = tagMetaService.getTags(new TagFilter());
|
||||||
@@ -75,7 +75,7 @@ public class TagTest extends BaseTest {
|
|||||||
PageInfo<TagResp> tags = tagMetaService.queryTagMarketPage(filter, user);
|
PageInfo<TagResp> tags = tagMetaService.queryTagMarketPage(filter, user);
|
||||||
Assert.assertEquals(1, tags.getList().size());
|
Assert.assertEquals(1, tags.getList().size());
|
||||||
TagDeleteReq tagDeleteReq = new TagDeleteReq();
|
TagDeleteReq tagDeleteReq = new TagDeleteReq();
|
||||||
tagDeleteReq.setType(TagDefineType.DIMENSION);
|
tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION);
|
||||||
tagDeleteReq.setItemIds(Arrays.asList(1L, 4L, 5L));
|
tagDeleteReq.setItemIds(Arrays.asList(1L, 4L, 5L));
|
||||||
tagMetaService.deleteBatch(tagDeleteReq, user);
|
tagMetaService.deleteBatch(tagDeleteReq, user);
|
||||||
List<TagResp> tags1 = tagMetaService.getTags(new TagFilter());
|
List<TagResp> tags1 = tagMetaService.getTags(new TagFilter());
|
||||||
|
|||||||
@@ -580,7 +580,7 @@ CREATE TABLE IF NOT EXISTS `s2_data_set` (
|
|||||||
CREATE TABLE IF NOT EXISTS `s2_tag` (
|
CREATE TABLE IF NOT EXISTS `s2_tag` (
|
||||||
`id` INT NOT NULL AUTO_INCREMENT,
|
`id` INT NOT NULL AUTO_INCREMENT,
|
||||||
`item_id` INT NOT NULL ,
|
`item_id` INT NOT NULL ,
|
||||||
`type` varchar(50) NOT NULL ,
|
`type` varchar(50) NOT NULL , -- METRIC DIMENSION
|
||||||
`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 ,
|
||||||
@@ -595,8 +595,8 @@ CREATE TABLE IF NOT EXISTS `s2_tag_object` (
|
|||||||
`name` varchar(255) NOT NULL ,
|
`name` varchar(255) NOT NULL ,
|
||||||
`biz_name` varchar(255) NOT NULL ,
|
`biz_name` varchar(255) NOT NULL ,
|
||||||
`description` varchar(500) DEFAULT NULL ,
|
`description` varchar(500) DEFAULT NULL ,
|
||||||
`status` INT NOT NULL ,
|
`status` INT NOT NULL DEFAULT '1' ,
|
||||||
`sensitive_level` INT NOT NULL ,
|
`sensitive_level` INT NOT NULL DEFAULT '1' ,
|
||||||
`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 ,
|
||||||
|
|||||||
Reference in New Issue
Block a user