mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 20:51:48 +00:00
add tagTest and pot TagCustomMapper.xml (#833)
This commit is contained in:
@@ -72,7 +72,8 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TagResp create(TagReq tagReq, User user) {
|
public TagResp create(TagReq tagReq, User user) {
|
||||||
checkExit(tagReq);
|
checkExist(tagReq);
|
||||||
|
checkTagObject(tagReq);
|
||||||
TagDO tagDO = convert(tagReq);
|
TagDO tagDO = convert(tagReq);
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
tagDO.setId(null);
|
tagDO.setId(null);
|
||||||
@@ -81,7 +82,7 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
tagDO.setUpdatedBy(user.getName());
|
tagDO.setUpdatedBy(user.getName());
|
||||||
tagDO.setUpdatedAt(date);
|
tagDO.setUpdatedAt(date);
|
||||||
tagRepository.create(tagDO);
|
tagRepository.create(tagDO);
|
||||||
return convert2Resp(tagDO);
|
return getTag(tagDO.getId(), user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -108,6 +109,10 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
public TagResp getTag(Long id, User user) {
|
public TagResp getTag(Long id, User user) {
|
||||||
TagDO tagDO = tagRepository.getTagById(id);
|
TagDO tagDO = tagRepository.getTagById(id);
|
||||||
TagResp tagResp = convert2Resp(tagDO);
|
TagResp tagResp = convert2Resp(tagDO);
|
||||||
|
List<TagResp> tagRespList = Arrays.asList(tagResp);
|
||||||
|
fillModelInfo(tagRespList);
|
||||||
|
fillDomainInfo(tagRespList);
|
||||||
|
tagResp = tagRespList.get(0);
|
||||||
tagResp = fillTagObjectInfo(tagResp, user);
|
tagResp = fillTagObjectInfo(tagResp, user);
|
||||||
tagResp = fillCollectAndAdminInfo(tagResp, user);
|
tagResp = fillCollectAndAdminInfo(tagResp, user);
|
||||||
return tagResp;
|
return tagResp;
|
||||||
@@ -190,6 +195,7 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
private TagResp convert2Resp(TagDO tagDO) {
|
private TagResp convert2Resp(TagDO tagDO) {
|
||||||
TagResp tagResp = new TagResp();
|
TagResp tagResp = new TagResp();
|
||||||
BeanUtils.copyProperties(tagDO, tagResp);
|
BeanUtils.copyProperties(tagDO, tagResp);
|
||||||
|
tagResp.setTagDefineType(tagDO.getType());
|
||||||
if (TagDefineType.METRIC.name().equalsIgnoreCase(tagDO.getType())) {
|
if (TagDefineType.METRIC.name().equalsIgnoreCase(tagDO.getType())) {
|
||||||
MetricResp metric = metricService.getMetric(tagDO.getItemId());
|
MetricResp metric = metricService.getMetric(tagDO.getItemId());
|
||||||
tagResp.setBizName(metric.getBizName());
|
tagResp.setBizName(metric.getBizName());
|
||||||
@@ -279,13 +285,6 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
return dimensions.size();
|
return dimensions.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
private TagResp fillModelInfo(TagResp tagResp) {
|
|
||||||
ModelResp model = modelService.getModel(tagResp.getModelId());
|
|
||||||
tagResp.setModelName(model.getName());
|
|
||||||
tagResp.setDomainId(model.getDomainId());
|
|
||||||
return tagResp;
|
|
||||||
}
|
|
||||||
|
|
||||||
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 -> {
|
||||||
@@ -303,6 +302,8 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
.map(CollectDO::getCollectId).collect(Collectors.toList());
|
.map(CollectDO::getCollectId).collect(Collectors.toList());
|
||||||
if (CollectionUtils.isNotEmpty(collectIds) && collectIds.contains(tagResp.getId())) {
|
if (CollectionUtils.isNotEmpty(collectIds) && collectIds.contains(tagResp.getId())) {
|
||||||
tagResp.setIsCollect(true);
|
tagResp.setIsCollect(true);
|
||||||
|
} else {
|
||||||
|
tagResp.setIsCollect(false);
|
||||||
}
|
}
|
||||||
List<TagResp> tagRespList = Arrays.asList(tagResp);
|
List<TagResp> tagRespList = Arrays.asList(tagResp);
|
||||||
fillAdminRes(tagRespList, user);
|
fillAdminRes(tagRespList, user);
|
||||||
@@ -324,7 +325,7 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkExit(TagReq tagReq) {
|
private void checkExist(TagReq tagReq) {
|
||||||
TagFilter tagFilter = new TagFilter();
|
TagFilter tagFilter = new TagFilter();
|
||||||
tagFilter.setTagDefineType(tagReq.getTagDefineType());
|
tagFilter.setTagDefineType(tagReq.getTagDefineType());
|
||||||
if (Objects.nonNull(tagReq.getItemId())) {
|
if (Objects.nonNull(tagReq.getItemId())) {
|
||||||
@@ -337,6 +338,25 @@ public class TagMetaServiceImpl implements TagMetaService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkTagObject(TagReq tagReq) {
|
||||||
|
if (TagDefineType.DIMENSION.equals(tagReq.getTagDefineType())) {
|
||||||
|
DimensionResp dimension = dimensionService.getDimension(tagReq.getItemId());
|
||||||
|
ModelResp model = modelService.getModel(dimension.getModelId());
|
||||||
|
if (Objects.isNull(model.getTagObjectId())) {
|
||||||
|
throw new RuntimeException(String.format("this dimension:{} is not supported to create tag",
|
||||||
|
tagReq.getItemId()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (TagDefineType.METRIC.equals(tagReq.getTagDefineType())) {
|
||||||
|
MetricResp metric = metricService.getMetric(tagReq.getItemId());
|
||||||
|
ModelResp model = modelService.getModel(metric.getModelId());
|
||||||
|
if (Objects.isNull(model.getTagObjectId())) {
|
||||||
|
throw new RuntimeException(String.format("this metric:{} is not supported to create tag",
|
||||||
|
tagReq.getItemId()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private TagDO convert(TagReq tagReq) {
|
private TagDO convert(TagReq tagReq) {
|
||||||
TagDO tagDO = new TagDO();
|
TagDO tagDO = new TagDO();
|
||||||
BeanUtils.copyProperties(tagReq, tagDO);
|
BeanUtils.copyProperties(tagReq, tagDO);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<result column="model_name" jdbcType="VARCHAR" property="modelName" />
|
<result column="model_name" jdbcType="VARCHAR" property="modelName" />
|
||||||
<result column="tag_object_id" jdbcType="BIGINT" property="tagObjectId" />
|
<result column="tag_object_id" jdbcType="BIGINT" property="tagObjectId" />
|
||||||
<result column="tag_object_name" jdbcType="VARCHAR" property="tagObjectName" />
|
<result column="tag_object_name" jdbcType="VARCHAR" property="tagObjectName" />
|
||||||
<result column="tag_define_type" jdbcType="VARCHAR" property="tagDefineType" />
|
<result column="type" jdbcType="VARCHAR" property="tagDefineType" />
|
||||||
<result column="item_id" jdbcType="VARCHAR" property="itemId" />
|
<result column="item_id" jdbcType="VARCHAR" property="itemId" />
|
||||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||||
<result column="biz_name" jdbcType="VARCHAR" property="bizName" />
|
<result column="biz_name" jdbcType="VARCHAR" property="bizName" />
|
||||||
@@ -45,28 +45,28 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="tagDefineType != null">
|
<if test="tagDefineType != null">
|
||||||
and tag_define_type = #{tagDefineType}
|
and type = #{tagDefineType}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<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 tag_define_type, s2_dimension.id as item_id,
|
select s2_tag.id as id, s2_dimension.model_id as model_id, 'DIMENSION' as type, s2_dimension.id as item_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, s2_tag.updated_at as updated_at
|
||||||
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
|
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 tag_define_type, s2_metric.id as item_id,
|
select s2_tag.id as id, s2_metric.model_id as model_id, 'METRIC' as type, s2_metric.id as item_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, s2_tag.updated_at as updated_at
|
||||||
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
|
where s2_metric.status=1 and s2_tag.type='METRIC'
|
||||||
)t
|
)t
|
||||||
<where>
|
<where>
|
||||||
<if test="tagDefineType != null">
|
<if test="tagDefineType != null">
|
||||||
and tag_define_type = #{tagDefineType}
|
and type = #{tagDefineType}
|
||||||
</if>
|
</if>
|
||||||
<if test="itemIds != null and itemIds.size >0">
|
<if test="itemIds != null and itemIds.size >0">
|
||||||
and item_id in
|
and item_id in
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ import com.tencent.supersonic.headless.api.pojo.request.DimensionReq;
|
|||||||
import com.tencent.supersonic.headless.api.pojo.request.DomainReq;
|
import com.tencent.supersonic.headless.api.pojo.request.DomainReq;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.MetricReq;
|
import com.tencent.supersonic.headless.api.pojo.request.MetricReq;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.ModelReq;
|
import com.tencent.supersonic.headless.api.pojo.request.ModelReq;
|
||||||
|
import com.tencent.supersonic.headless.api.pojo.request.TagObjectReq;
|
||||||
import com.tencent.supersonic.headless.server.service.DataSetService;
|
import com.tencent.supersonic.headless.server.service.DataSetService;
|
||||||
import com.tencent.supersonic.headless.server.service.DatabaseService;
|
import com.tencent.supersonic.headless.server.service.DatabaseService;
|
||||||
import com.tencent.supersonic.headless.server.service.DimensionService;
|
import com.tencent.supersonic.headless.server.service.DimensionService;
|
||||||
@@ -58,6 +59,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.tencent.supersonic.headless.server.service.TagObjectService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -87,6 +90,8 @@ public class ModelDemoDataLoader {
|
|||||||
private DataSetService dataSetService;
|
private DataSetService dataSetService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private DataSourceProperties dataSourceProperties;
|
private DataSourceProperties dataSourceProperties;
|
||||||
|
@Autowired
|
||||||
|
private TagObjectService tagObjectService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private TagMetaService tagMetaService;
|
private TagMetaService tagMetaService;
|
||||||
@@ -95,6 +100,8 @@ public class ModelDemoDataLoader {
|
|||||||
try {
|
try {
|
||||||
addDatabase();
|
addDatabase();
|
||||||
addDomain();
|
addDomain();
|
||||||
|
addTagObjectUser();
|
||||||
|
addTagObjectSinger();
|
||||||
addModel_1();
|
addModel_1();
|
||||||
addModel_2();
|
addModel_2();
|
||||||
addMetric_uv();
|
addMetric_uv();
|
||||||
@@ -117,6 +124,24 @@ public class ModelDemoDataLoader {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addTagObjectUser() throws Exception {
|
||||||
|
TagObjectReq tagObjectReq = new TagObjectReq();
|
||||||
|
tagObjectReq.setDomainId(1L);
|
||||||
|
tagObjectReq.setName("用户");
|
||||||
|
tagObjectReq.setBizName("user");
|
||||||
|
User user = User.getFakeUser();
|
||||||
|
tagObjectService.create(tagObjectReq, user);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addTagObjectSinger() throws Exception {
|
||||||
|
TagObjectReq tagObjectReq = new TagObjectReq();
|
||||||
|
tagObjectReq.setDomainId(2L);
|
||||||
|
tagObjectReq.setName("艺人");
|
||||||
|
tagObjectReq.setBizName("singer");
|
||||||
|
User user = User.getFakeUser();
|
||||||
|
tagObjectService.create(tagObjectReq, user);
|
||||||
|
}
|
||||||
|
|
||||||
public void addDatabase() {
|
public void addDatabase() {
|
||||||
String url = dataSourceProperties.getUrl();
|
String url = dataSourceProperties.getUrl();
|
||||||
DatabaseReq databaseReq = new DatabaseReq();
|
DatabaseReq databaseReq = new DatabaseReq();
|
||||||
@@ -155,6 +180,7 @@ public class ModelDemoDataLoader {
|
|||||||
modelReq.setDescription("用户部门信息");
|
modelReq.setDescription("用户部门信息");
|
||||||
modelReq.setDatabaseId(1L);
|
modelReq.setDatabaseId(1L);
|
||||||
modelReq.setDomainId(1L);
|
modelReq.setDomainId(1L);
|
||||||
|
modelReq.setTagObjectId(1L);
|
||||||
modelReq.setViewers(Arrays.asList("admin", "tom", "jack"));
|
modelReq.setViewers(Arrays.asList("admin", "tom", "jack"));
|
||||||
modelReq.setViewOrgs(Collections.singletonList("1"));
|
modelReq.setViewOrgs(Collections.singletonList("1"));
|
||||||
modelReq.setAdmins(Arrays.asList("admin", "alice"));
|
modelReq.setAdmins(Arrays.asList("admin", "alice"));
|
||||||
@@ -309,6 +335,7 @@ public class ModelDemoDataLoader {
|
|||||||
modelReq.setDescription("艺人库");
|
modelReq.setDescription("艺人库");
|
||||||
modelReq.setDatabaseId(1L);
|
modelReq.setDatabaseId(1L);
|
||||||
modelReq.setDomainId(2L);
|
modelReq.setDomainId(2L);
|
||||||
|
modelReq.setTagObjectId(2L);
|
||||||
modelReq.setViewers(Arrays.asList("admin", "tom", "jack"));
|
modelReq.setViewers(Arrays.asList("admin", "tom", "jack"));
|
||||||
modelReq.setViewOrgs(Collections.singletonList("1"));
|
modelReq.setViewOrgs(Collections.singletonList("1"));
|
||||||
modelReq.setAdmins(Collections.singletonList("admin"));
|
modelReq.setAdmins(Collections.singletonList("admin"));
|
||||||
|
|||||||
@@ -258,7 +258,6 @@ 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 ,
|
||||||
`tag_define_type` varchar(20) NOT NULL , --DIMENSION,METRIC
|
|
||||||
`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 ,
|
||||||
|
|||||||
@@ -579,7 +579,6 @@ 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 ,
|
||||||
`tag_define_type` varchar(20) NOT NULL , --DIMENSION,METRIC
|
|
||||||
`type` varchar(50) NOT NULL , -- ATOMIC, DERIVED
|
`type` varchar(50) NOT NULL , -- ATOMIC, DERIVED
|
||||||
`created_at` TIMESTAMP NOT NULL ,
|
`created_at` TIMESTAMP NOT NULL ,
|
||||||
`created_by` varchar(100) NOT NULL ,
|
`created_by` varchar(100) NOT NULL ,
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
package com.tencent.supersonic.headless;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||||
|
import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType;
|
||||||
|
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.TagReq;
|
||||||
|
import com.tencent.supersonic.headless.api.pojo.response.TagResp;
|
||||||
|
import com.tencent.supersonic.headless.server.pojo.TagFilter;
|
||||||
|
import com.tencent.supersonic.headless.server.service.TagMetaService;
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TagTest extends BaseTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TagMetaService tagMetaService;
|
||||||
|
|
||||||
|
private User user = User.getFakeUser();
|
||||||
|
|
||||||
|
public TagReq newTagReq() {
|
||||||
|
TagReq tagReq = new TagReq();
|
||||||
|
tagReq.setTagDefineType(TagDefineType.DIMENSION);
|
||||||
|
tagReq.setItemId(4L);
|
||||||
|
return tagReq;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TagReq newTagReqV1() {
|
||||||
|
TagReq tagReq = new TagReq();
|
||||||
|
tagReq.setTagDefineType(TagDefineType.DIMENSION);
|
||||||
|
tagReq.setItemId(5L);
|
||||||
|
return tagReq;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TagReq newTagReqV2() {
|
||||||
|
TagReq tagReq = new TagReq();
|
||||||
|
tagReq.setTagDefineType(TagDefineType.DIMENSION);
|
||||||
|
tagReq.setItemId(1L);
|
||||||
|
return tagReq;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testCreateTag() {
|
||||||
|
TagReq tagReq = newTagReq();
|
||||||
|
tagMetaService.create(tagReq, user);
|
||||||
|
TagReq tagReq1 = newTagReqV1();
|
||||||
|
tagMetaService.create(tagReq1, user);
|
||||||
|
|
||||||
|
List<TagResp> tags = tagMetaService.getTags(new TagFilter());
|
||||||
|
Assert.assertEquals(2, tags.size());
|
||||||
|
TagDeleteReq tagDeleteReq = new TagDeleteReq();
|
||||||
|
tagDeleteReq.setType(TagDefineType.DIMENSION);
|
||||||
|
tagDeleteReq.setItemIds(Arrays.asList(4L, 5L));
|
||||||
|
tagMetaService.deleteBatch(tagDeleteReq, user);
|
||||||
|
List<TagResp> tags1 = tagMetaService.getTags(new TagFilter());
|
||||||
|
Assert.assertEquals(0, tags1.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testTagMarket() {
|
||||||
|
TagReq tagReq = newTagReq();
|
||||||
|
tagMetaService.create(tagReq, user);
|
||||||
|
TagReq tagReq1 = newTagReqV1();
|
||||||
|
tagMetaService.create(tagReq1, user);
|
||||||
|
TagReq tagReq2 = newTagReqV2();
|
||||||
|
tagMetaService.create(tagReq2, user);
|
||||||
|
TagFilterPageReq filter = new TagFilterPageReq();
|
||||||
|
filter.setTagObjectId(2L);
|
||||||
|
filter.setKey("区域");
|
||||||
|
PageInfo<TagResp> tags = tagMetaService.queryTagMarketPage(filter, user);
|
||||||
|
Assert.assertEquals(1, tags.getList().size());
|
||||||
|
TagDeleteReq tagDeleteReq = new TagDeleteReq();
|
||||||
|
tagDeleteReq.setType(TagDefineType.DIMENSION);
|
||||||
|
tagDeleteReq.setItemIds(Arrays.asList(1L, 4L, 5L));
|
||||||
|
tagMetaService.deleteBatch(tagDeleteReq, user);
|
||||||
|
List<TagResp> tags1 = tagMetaService.getTags(new TagFilter());
|
||||||
|
Assert.assertEquals(0, tags1.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -580,8 +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 , -- ATOMIC, DERIVED
|
`type` varchar(50) NOT NULL ,
|
||||||
`tag_define_type` varchar(20) NOT NULL , --DIMENSION,METRIC
|
|
||||||
`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