(improvement)(launcher) Optimize Demo to distinguish domain and model sets (#1056)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2024-05-30 19:39:23 +08:00
committed by GitHub
parent aedabd24f7
commit b4bc92e586
16 changed files with 118 additions and 173 deletions

View File

@@ -53,15 +53,15 @@ public class S2ArtistDemo extends S2BaseDemo {
public void doRun() {
try {
DomainResp singerDomain = addDomain();
DomainResp singerModelSet = addModelSet(singerDomain);
TagObjectResp singerTagObject = addTagObjectSinger(singerDomain);
ModelResp singerModel = addModel(singerDomain, demoDatabaseResp, singerTagObject);
ModelResp singerModel = addModel(singerModelSet, demoDatabaseResp, singerTagObject);
addTags(singerModel);
long dataSetId = addDataSet(singerDomain, singerModel);
long dataSetId = addDataSet(singerDomain, singerModelSet, singerModel);
addAgent(dataSetId);
} catch (Exception e) {
log.error("Failed to add model demo data", e);
}
}
@Override
@@ -98,6 +98,15 @@ public class S2ArtistDemo extends S2BaseDemo {
return domainService.createDomain(domainReq, user);
}
public DomainResp addModelSet(DomainResp singerDomain) {
DomainReq domainReq = new DomainReq();
domainReq.setName("标签模型集");
domainReq.setBizName("singer_info");
domainReq.setParentId(singerDomain.getId());
domainReq.setStatus(StatusEnum.ONLINE.getCode());
return domainService.createDomain(domainReq, user);
}
public ModelResp addModel(DomainResp singerDomain,
DatabaseResp s2Database, TagObjectResp singerTagObject) throws Exception {
ModelReq modelReq = new ModelReq();
@@ -154,14 +163,14 @@ public class S2ArtistDemo extends S2BaseDemo {
TagDefineType.METRIC);
}
public long addDataSet(DomainResp singerDomain, ModelResp singerModel) {
public long addDataSet(DomainResp singerDomain, DomainResp singerModelSet, ModelResp singerModel) {
DataSetReq dataSetReq = new DataSetReq();
dataSetReq.setName("艺人库");
dataSetReq.setBizName("singer");
dataSetReq.setDomainId(singerDomain.getId());
dataSetReq.setDescription("包含艺人相关标签和指标信息");
dataSetReq.setAdmins(Lists.newArrayList("admin", "jack"));
List<DataSetModelConfig> dataSetModelConfigs = getDataSetModelConfigs(singerDomain.getId());
List<DataSetModelConfig> dataSetModelConfigs = getDataSetModelConfigs(singerModelSet.getId());
DataSetDetail dataSetDetail = new DataSetDetail();
dataSetDetail.setDataSetModelConfigs(dataSetModelConfigs);
dataSetReq.setDataSetDetail(dataSetDetail);

View File

@@ -23,6 +23,7 @@ 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.ParseResp;
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
import com.tencent.supersonic.headless.server.service.CanvasService;
import com.tencent.supersonic.headless.server.service.DataSetService;
import com.tencent.supersonic.headless.server.service.DatabaseService;
import com.tencent.supersonic.headless.server.service.DimensionService;
@@ -83,6 +84,8 @@ public abstract class S2BaseDemo implements CommandLineRunner {
protected AgentService agentService;
@Autowired
protected SysParameterService sysParameterService;
@Autowired
protected CanvasService canvasService;
@Value("${s2.demo.names:S2VisitsDemo}")
protected List<String> demoList;
@Value("${s2.demo.enableLLM:true}")

View File

@@ -80,14 +80,15 @@ public class S2VisitsDemo extends S2BaseDemo {
try {
// create domain
DomainResp s2Domain = addDomain();
DomainResp s2ModelSet = addModelSet(s2Domain);
TagObjectResp s2TagObject = addTagObjectUser(s2Domain);
// create models
ModelResp userModel = addModel_1(s2Domain, demoDatabaseResp, s2TagObject);
ModelResp pvUvModel = addModel_2(s2Domain, demoDatabaseResp);
ModelResp stayTimeModel = addModel_3(s2Domain, demoDatabaseResp);
addModelRela_1(s2Domain, userModel, pvUvModel);
addModelRela_2(s2Domain, userModel, stayTimeModel);
ModelResp userModel = addModel_1(s2ModelSet, demoDatabaseResp, s2TagObject);
ModelResp pvUvModel = addModel_2(s2ModelSet, demoDatabaseResp);
ModelResp stayTimeModel = addModel_3(s2ModelSet, demoDatabaseResp);
addModelRela_1(s2ModelSet, userModel, pvUvModel);
addModelRela_2(s2ModelSet, userModel, stayTimeModel);
addTags(userModel);
//create metrics and dimensions
@@ -103,7 +104,7 @@ public class S2VisitsDemo extends S2BaseDemo {
updateMetric_pv(pvUvModel, departmentDimension, userDimension, metricPv);
//create data set
DataSetResp s2DataSet = addDataSet(s2Domain);
DataSetResp s2DataSet = addDataSet(s2Domain, s2ModelSet);
addAuthGroup_1(stayTimeModel);
addAuthGroup_2(stayTimeModel);
@@ -189,9 +190,16 @@ public class S2VisitsDemo extends S2BaseDemo {
domainReq.setParentId(0L);
domainReq.setStatus(StatusEnum.ONLINE.getCode());
domainReq.setViewers(Arrays.asList("admin", "tom"));
domainReq.setViewOrgs(Collections.singletonList("1"));
domainReq.setAdmins(Arrays.asList("admin", "jack"));
domainReq.setAdminOrgs(Collections.emptyList());
return domainService.createDomain(domainReq, user);
}
public DomainResp addModelSet(DomainResp s2Domain) {
DomainReq domainReq = new DomainReq();
domainReq.setName("埋点模型集");
domainReq.setBizName("visit_info");
domainReq.setParentId(s2Domain.getId());
domainReq.setStatus(StatusEnum.ONLINE.getCode());
return domainService.createDomain(domainReq, user);
}
@@ -451,14 +459,14 @@ public class S2VisitsDemo extends S2BaseDemo {
return metricService.createMetric(metricReq, user);
}
public DataSetResp addDataSet(DomainResp s2Domain) {
public DataSetResp addDataSet(DomainResp s2Domain, DomainResp s2ModelSet) {
DataSetReq dataSetReq = new DataSetReq();
dataSetReq.setName("超音数");
dataSetReq.setBizName("s2");
dataSetReq.setDomainId(s2Domain.getId());
dataSetReq.setDescription("包含超音数访问统计相关的指标和维度等");
dataSetReq.setAdmins(Lists.newArrayList("admin"));
List<DataSetModelConfig> dataSetModelConfigs = getDataSetModelConfigs(s2Domain.getId());
List<DataSetModelConfig> dataSetModelConfigs = getDataSetModelConfigs(s2ModelSet.getId());
DataSetDetail dataSetDetail = new DataSetDetail();
dataSetDetail.setDataSetModelConfigs(dataSetModelConfigs);
dataSetReq.setDataSetDetail(dataSetDetail);

View File

@@ -48,7 +48,7 @@ public class QueryByMetricTest extends BaseTest {
Assert.assertNotNull(queryResp.getResultList());
Assert.assertEquals(6, queryResp.getResultList().size());
queryMetricReq.setDomainId(2L);
queryMetricReq.setDomainId(3L);
queryMetricReq.setMetricNames(Arrays.asList("stay_hours", "pv"));
queryMetricReq.setDimensionNames(Arrays.asList("user_name", "department"));
assertThrows(IllegalArgumentException.class,

View File

@@ -22,7 +22,7 @@ public class SchemaAuthTest extends BaseTest {
private DomainService domainService;
@Autowired
private DataSetService viewService;
private DataSetService dataSetService;
@Autowired
private ModelService modelService;
@@ -31,63 +31,64 @@ public class SchemaAuthTest extends BaseTest {
public void test_getDomainList_alice() {
User user = DataUtils.getUserAlice();
List<DomainResp> domainResps = domainService.getDomainListWithAdminAuth(user);
List<Long> expectedDomainIds = Lists.newArrayList(1L, 2L);
Assertions.assertEquals(expectedDomainIds,
domainResps.stream().map(DomainResp::getId).collect(Collectors.toList()));
List<String> expectedDomainBizNames = Lists.newArrayList("supersonic", "visit_info", "singer", "singer_info");
Assertions.assertEquals(expectedDomainBizNames,
domainResps.stream().map(DomainResp::getBizName).collect(Collectors.toList()));
}
@Test
public void test_getModelList_alice() {
User user = DataUtils.getUserAlice();
List<ModelResp> modelResps = modelService.getModelListWithAuth(user, null, AuthType.ADMIN);
List<Long> expectedModelIds = Lists.newArrayList(1L, 4L);
Assertions.assertEquals(expectedModelIds,
modelResps.stream().map(ModelResp::getId).collect(Collectors.toList()));
List<String> expectedModelBizNames = Lists.newArrayList("user_department", "singer");
Assertions.assertEquals(expectedModelBizNames,
modelResps.stream().map(ModelResp::getBizName).collect(Collectors.toList()));
}
@Test
public void test_getVisibleModelList_alice() {
User user = DataUtils.getUserAlice();
List<ModelResp> modelResps = modelService.getModelListWithAuth(user, null, AuthType.VISIBLE);
List<Long> expectedModelIds = Lists.newArrayList(1L, 4L);
Assertions.assertEquals(expectedModelIds,
modelResps.stream().map(ModelResp::getId).collect(Collectors.toList()));
List<String> expectedModelBizNames = Lists.newArrayList("user_department", "singer");
Assertions.assertEquals(expectedModelBizNames,
modelResps.stream().map(ModelResp::getBizName).collect(Collectors.toList()));
}
@Test
public void test_getViewList_alice() {
public void test_getDataSetList_alice() {
User user = DataUtils.getUserAlice();
List<DataSetResp> modelResps = viewService.getDataSetsInheritAuth(user, 0L);
List<Long> expectedViewIds = Lists.newArrayList(2L);
Assertions.assertEquals(expectedViewIds,
modelResps.stream().map(DataSetResp::getId).collect(Collectors.toList()));
List<DataSetResp> dataSetResps = dataSetService.getDataSetsInheritAuth(user, 0L);
List<String> expectedDataSetBizNames = Lists.newArrayList("singer");
Assertions.assertEquals(expectedDataSetBizNames,
dataSetResps.stream().map(DataSetResp::getBizName).collect(Collectors.toList()));
}
@Test
public void test_getDomainList_jack() {
User user = DataUtils.getUserJack();
List<DomainResp> domainResps = domainService.getDomainListWithAdminAuth(user);
List<Long> expectedDomainIds = Lists.newArrayList(1L, 2L);
Assertions.assertEquals(expectedDomainIds,
domainResps.stream().map(DomainResp::getId).collect(Collectors.toList()));
List<String> expectedDomainBizNames = Lists.newArrayList("supersonic", "visit_info");
Assertions.assertEquals(expectedDomainBizNames,
domainResps.stream().map(DomainResp::getBizName).collect(Collectors.toList()));
}
@Test
public void test_getModelList_jack() {
User user = DataUtils.getUserJack();
List<ModelResp> modelResps = modelService.getModelListWithAuth(user, null, AuthType.ADMIN);
List<Long> expectedModelIds = Lists.newArrayList(1L, 2L, 3L);
Assertions.assertEquals(expectedModelIds,
modelResps.stream().map(ModelResp::getId).collect(Collectors.toList()));
List<String> expectedModelBizNames = Lists.newArrayList("user_department",
"s2_pv_uv_statis", "s2_stay_time_statis");
Assertions.assertEquals(expectedModelBizNames,
modelResps.stream().map(ModelResp::getBizName).collect(Collectors.toList()));
}
@Test
public void test_getViewList_jack() {
public void test_getDataSetList_jack() {
User user = DataUtils.getUserJack();
List<DataSetResp> modelResps = viewService.getDataSetsInheritAuth(user, 0L);
List<Long> expectedViewIds = Lists.newArrayList(1L, 2L);
Assertions.assertEquals(expectedViewIds,
modelResps.stream().map(DataSetResp::getId).collect(Collectors.toList()));
List<DataSetResp> dataSetResps = dataSetService.getDataSetsInheritAuth(user, 0L);
List<String> expectedDataSetBizNames = Lists.newArrayList("s2", "singer");
Assertions.assertEquals(expectedDataSetBizNames,
dataSetResps.stream().map(DataSetResp::getBizName).collect(Collectors.toList()));
}
}