fix TagTest error (#839)

This commit is contained in:
daikon
2024-03-20 21:04:05 +08:00
committed by GitHub
parent ddbbd6d8bd
commit 5bad7c49ee
5 changed files with 46 additions and 12 deletions

View File

@@ -33,7 +33,7 @@ public class CollectDO implements Serializable {
private Long id; private Long id;
/** /**
* 收藏的类型 * 收藏的类型 metric,dimension,tag
*/ */
@TableField("type") @TableField("type")
private String type; private String type;

View File

@@ -10,5 +10,5 @@ public class TagFilter extends MetaFilter {
private List<Long> itemIds; private List<Long> itemIds;
private TagDefineType tagDefineType; private TagDefineType tagDefineType;
private boolean hasCollect;
} }

View File

@@ -2,9 +2,11 @@ package com.tencent.supersonic.headless.server.service.impl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
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.SchemaElementType;
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.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;
@@ -139,8 +141,24 @@ public class TagMetaServiceImpl implements TagMetaService {
@Override @Override
public PageInfo<TagResp> queryTagMarketPage(TagFilterPageReq tagMarketPageReq, User user) { public PageInfo<TagResp> queryTagMarketPage(TagFilterPageReq tagMarketPageReq, User user) {
List<ModelResp> modelRespList = getRelatedModel(tagMarketPageReq); List<ModelResp> modelRespList = getRelatedModel(tagMarketPageReq);
if (CollectionUtils.isEmpty(modelRespList)) {
return new PageInfo<>();
}
List<Long> modelIds = modelRespList.stream().map(model -> model.getId()).collect(Collectors.toList()); List<Long> modelIds = modelRespList.stream().map(model -> model.getId()).collect(Collectors.toList());
TagFilter tagFilter = new TagFilter(); TagFilter tagFilter = new TagFilter();
List<CollectDO> collectList = collectService.getCollectList(user.getName());
List<Long> collectIds = collectList.stream()
.filter(collectDO -> SchemaElementType.TAG.name().equalsIgnoreCase(collectDO.getType()))
.map(CollectDO::getCollectId).collect(Collectors.toList());
if (tagMarketPageReq.isHasCollect()) {
if (CollectionUtils.isEmpty(collectIds)) {
tagFilter.setIds(Lists.newArrayList(-1L));
} else {
tagFilter.setIds(collectIds);
}
}
BeanUtils.copyProperties(tagMarketPageReq, tagFilter); BeanUtils.copyProperties(tagMarketPageReq, tagFilter);
tagFilter.setModelIds(modelIds); tagFilter.setModelIds(modelIds);
PageInfo<TagResp> tagDOPageInfo = PageHelper.startPage(tagMarketPageReq.getCurrent(), PageInfo<TagResp> tagDOPageInfo = PageHelper.startPage(tagMarketPageReq.getCurrent(),

View File

@@ -52,13 +52,13 @@
<select id="queryTagRespList" resultMap="TagResp"> <select id="queryTagRespList" resultMap="TagResp">
select * from ( select * from (
select s2_tag.* , s2_dimension.model_id as model_id, select s2_tag.* , s2_dimension.model_id as model_id, s2_dimension.sensitive_level as sensitive_level,
s2_dimension.name as name, s2_dimension.biz_name as biz_name, s2_dimension.description as description 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.*, s2_metric.model_id as model_id, select s2_tag.*, s2_metric.model_id as model_id, s2_metric.sensitive_level as sensitive_level,
s2_metric.name as name, s2_metric.biz_name as biz_name, s2_metric.description as description 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
@@ -101,6 +101,12 @@
biz_name like CONCAT('%',#{key , jdbcType=VARCHAR},'%') or biz_name like CONCAT('%',#{key , jdbcType=VARCHAR},'%') or
description like CONCAT('%',#{key , jdbcType=VARCHAR},'%')) description like CONCAT('%',#{key , jdbcType=VARCHAR},'%'))
</if> </if>
<if test="sensitiveLevel != null ">
and sensitive_level = #{sensitiveLevel}
</if>
<if test="createdBy != null and createdBy != ''">
and created_by = #{createdBy}
</if>
</where> </where>
order by updated_at desc order by updated_at desc
</select> </select>

View File

@@ -10,6 +10,7 @@ import com.tencent.supersonic.headless.api.pojo.response.TagResp;
import com.tencent.supersonic.headless.server.pojo.TagFilter; import com.tencent.supersonic.headless.server.pojo.TagFilter;
import com.tencent.supersonic.headless.server.service.TagMetaService; import com.tencent.supersonic.headless.server.service.TagMetaService;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -44,25 +45,36 @@ public class TagTest extends BaseTest {
return tagReq; return tagReq;
} }
@Before
public void setUp() {
TagDeleteReq tagDeleteReq = new TagDeleteReq();
tagDeleteReq.setTagDefineType(TagDefineType.DIMENSION);
tagDeleteReq.setItemIds(Arrays.asList(1L, 4L, 5L));
tagMetaService.deleteBatch(tagDeleteReq, user);
}
@Test @Test
void testCreateTag() { public void testCreateTag() {
setUp();
TagReq tagReq = newTagReq(); TagReq tagReq = newTagReq();
tagMetaService.create(tagReq, user); tagMetaService.create(tagReq, user);
TagReq tagReq1 = newTagReqV1(); TagReq tagReq1 = newTagReqV1();
tagMetaService.create(tagReq1, user); tagMetaService.create(tagReq1, user);
TagFilter tagFilter = new TagFilter();
List<TagResp> tags = tagMetaService.getTags(new TagFilter()); tagFilter.setItemIds(Arrays.asList(4L, 5L));
List<TagResp> tags = tagMetaService.getTags(tagFilter);
Assert.assertEquals(2, tags.size()); Assert.assertEquals(2, tags.size());
TagDeleteReq tagDeleteReq = new TagDeleteReq(); TagDeleteReq tagDeleteReq = new TagDeleteReq();
tagDeleteReq.setTagDefineType(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(tagFilter);
Assert.assertEquals(0, tags1.size()); Assert.assertEquals(0, tags1.size());
} }
@Test @Test
void testTagMarket() { public void testTagMarket() {
setUp();
TagReq tagReq = newTagReq(); TagReq tagReq = newTagReq();
tagMetaService.create(tagReq, user); tagMetaService.create(tagReq, user);
TagReq tagReq1 = newTagReqV1(); TagReq tagReq1 = newTagReqV1();
@@ -78,8 +90,6 @@ public class TagTest extends BaseTest {
tagDeleteReq.setTagDefineType(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());
Assert.assertEquals(0, tags1.size());
} }
} }