mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 11:07:06 +00:00
(improvement)(launcher) Optimize demo data loading to avoid repeatedly writing data to mysql (#1043)
Co-authored-by: jolunoluo
This commit is contained in:
@@ -59,6 +59,11 @@ public class CspiderDemo extends S2BaseDemo {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean checkNeedToRun() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public DomainResp addDomain() {
|
||||
DomainReq domainReq = new DomainReq();
|
||||
domainReq.setName("测评数据_音乐");
|
||||
|
||||
@@ -63,6 +63,11 @@ public class DuSQLDemo extends S2BaseDemo {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean checkNeedToRun() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void addDomain() {
|
||||
DomainReq domainReq = new DomainReq();
|
||||
domainReq.setName("DuSQL_互联网企业");
|
||||
|
||||
@@ -64,6 +64,18 @@ public class S2ArtistDemo extends S2BaseDemo {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean checkNeedToRun() {
|
||||
List<DomainResp> domainList = domainService.getDomainList();
|
||||
for (DomainResp domainResp : domainList) {
|
||||
if (domainResp.getBizName().equalsIgnoreCase("singer")) {
|
||||
log.info("Already exist domain:singer, no need to run demo");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private TagObjectResp addTagObjectSinger(DomainResp singerDomain) throws Exception {
|
||||
TagObjectReq tagObjectReq = new TagObjectReq();
|
||||
tagObjectReq.setDomainId(singerDomain.getId());
|
||||
@@ -76,7 +88,7 @@ public class S2ArtistDemo extends S2BaseDemo {
|
||||
public DomainResp addDomain() {
|
||||
DomainReq domainReq = new DomainReq();
|
||||
domainReq.setName("艺人库");
|
||||
domainReq.setBizName("supersonic");
|
||||
domainReq.setBizName("singer");
|
||||
domainReq.setParentId(0L);
|
||||
domainReq.setStatus(StatusEnum.ONLINE.getCode());
|
||||
domainReq.setViewers(Arrays.asList("admin", "tom", "jack"));
|
||||
|
||||
@@ -89,15 +89,23 @@ public abstract class S2BaseDemo implements CommandLineRunner {
|
||||
protected boolean demoEnableLlm;
|
||||
|
||||
public void run(String... args) {
|
||||
demoDatabaseResp = addDatabase();
|
||||
demoDatabaseResp = addDatabaseIfNotExist();
|
||||
if (demoList != null && demoList.contains(getClass().getSimpleName())) {
|
||||
doRun();
|
||||
if (checkNeedToRun()) {
|
||||
doRun();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract void doRun();
|
||||
|
||||
protected DatabaseResp addDatabase() {
|
||||
abstract boolean checkNeedToRun();
|
||||
|
||||
protected DatabaseResp addDatabaseIfNotExist() {
|
||||
List<DatabaseResp> databaseList = databaseService.getDatabaseList(User.getFakeUser());
|
||||
if (!CollectionUtils.isEmpty(databaseList)) {
|
||||
return databaseList.get(0);
|
||||
}
|
||||
String url = dataSourceProperties.getUrl();
|
||||
DatabaseReq databaseReq = new DatabaseReq();
|
||||
databaseReq.setName("数据实例");
|
||||
|
||||
@@ -123,6 +123,18 @@ public class S2VisitsDemo extends S2BaseDemo {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean checkNeedToRun() {
|
||||
List<DomainResp> domainList = domainService.getDomainList();
|
||||
for (DomainResp domainResp : domainList) {
|
||||
if (domainResp.getBizName().equalsIgnoreCase("supersonic")) {
|
||||
log.info("Already exist domain:supersonic, no need to run demo");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void addSampleChats(Integer agentId) throws Exception {
|
||||
Long chatId = chatManageService.addChat(user, "样例对话1", agentId);
|
||||
|
||||
|
||||
@@ -565,4 +565,4 @@ CREATE TABLE IF NOT EXISTS `s2_term` (
|
||||
`updated_at` datetime DEFAULT NULL ,
|
||||
`updated_by` varchar(100) DEFAULT NULL ,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8 COMMENT ='术语表';
|
||||
|
||||
Reference in New Issue
Block a user