mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 12:07:42 +00:00
(improvement)(launcher) Optimize Demo to distinguish domain and model sets (#1056)
Co-authored-by: jolunoluo
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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}")
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user