Skip to content

Commit 77f944a

Browse files
committed
Improve startup speed
1 parent 592df04 commit 77f944a

108 files changed

Lines changed: 3264 additions & 625 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

chat2db-client/src/main/preload.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@ contextBridge.exposeInMainWorld('electronApi', {
1616
console.log('productName:', productName, isTest);
1717

1818
const child = spawn(path.join(__dirname, '../..', `./static/${JAVA_PATH}`), [
19+
'-noverify',
1920
'-jar',
2021
'-Xmx1024M',
2122
`-Dspring.profiles.active=${isTest ? 'test' : 'release'}`,
2223
'-Dserver.address=127.0.0.1',
2324
'-Dchat2db.mode=DESKTOP',
2425
`-Dproject.path=${javaPath}`,
2526
`-Dloader.path=${libPath}`,
27+
`-Dclient.version=${readVersion()}`,
2628
javaPath,
2729
]);
2830

chat2db-server/chat2db-server-domain/chat2db-server-domain-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
</dependency>
2424
<dependency>
2525
<groupId>com.baomidou</groupId>
26-
<artifactId>mybatis-plus-boot-starter</artifactId>
26+
<artifactId>mybatis-plus</artifactId>
2727
</dependency>
2828
<dependency>
2929
<groupId>ai.chat2db</groupId>

chat2db-server/chat2db-server-domain/chat2db-server-domain-core/src/main/java/ai/chat2db/server/domain/core/impl/ChartServiceImpl.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import ai.chat2db.server.domain.api.service.DataSourceService;
1717
import ai.chat2db.server.domain.core.converter.ChartConverter;
1818
import ai.chat2db.server.domain.core.util.PermissionUtils;
19+
import ai.chat2db.server.domain.repository.Dbutils;
1920
import ai.chat2db.server.domain.repository.entity.ChartDO;
2021
import ai.chat2db.server.domain.repository.entity.DashboardChartRelationDO;
2122
import ai.chat2db.server.domain.repository.mapper.ChartMapper;
@@ -43,9 +44,6 @@
4344
@Service
4445
public class ChartServiceImpl implements ChartService {
4546

46-
@Autowired
47-
private ChartMapper chartMapper;
48-
4947
@Autowired
5048
private DataSourceService dataSourceService;
5149

@@ -62,7 +60,7 @@ public DataResult<Long> createWithPermission(ChartCreateParam param) {
6260
param.setDeleted(YesOrNoEnum.NO.getLetter());
6361
param.setUserId(ContextUtils.getUserId());
6462
ChartDO chartDO = chartConverter.param2do(param);
65-
chartMapper.insert(chartDO);
63+
getMapper().insert(chartDO);
6664
return DataResult.of(chartDO.getId());
6765
}
6866

@@ -73,13 +71,13 @@ public ActionResult updateWithPermission(ChartUpdateParam param) {
7371

7472
param.setGmtModified(LocalDateTime.now());
7573
ChartDO chartDO = chartConverter.updateParam2do(param);
76-
chartMapper.updateById(chartDO);
74+
getMapper().updateById(chartDO);
7775
return ActionResult.isSuccess();
7876
}
7977

8078
@Override
8179
public DataResult<Chart> find(Long id) {
82-
ChartDO chartDO = chartMapper.selectById(id);
80+
ChartDO chartDO = getMapper().selectById(id);
8381
if (YesOrNoEnum.YES.getLetter().equals(chartDO.getDeleted())) {
8482
return DataResult.empty();
8583
}
@@ -95,7 +93,7 @@ public DataResult<Chart> queryExistent(ChartQueryParam param) {
9593
.eq(ChartDO::getDeleted, YesOrNoEnum.NO.getLetter())
9694
.eqWhenPresent(ChartDO::getId, param.getId())
9795
.eqWhenPresent(ChartDO::getUserId, param.getUserId());
98-
IPage<ChartDO> page = chartMapper.selectPage(new Page<>(1, 1), queryWrapper);
96+
IPage<ChartDO> page = getMapper().selectPage(new Page<>(1, 1), queryWrapper);
9997
if (CollectionUtils.isEmpty(page.getRecords())) {
10098
throw new DataNotFoundException();
10199
}
@@ -120,7 +118,7 @@ public ListResult<Chart> listQuery(ChartListQueryParam param) {
120118
.eq(ChartDO::getDeleted, YesOrNoEnum.NO.getLetter())
121119
.inWhenPresent(ChartDO::getId, param.getIdList())
122120
.eqWhenPresent(ChartDO::getUserId, param.getUserId());
123-
List<ChartDO> queryList = chartMapper.selectList(queryWrapper);
121+
List<ChartDO> queryList = getMapper().selectList(queryWrapper);
124122
List<Chart> list = chartConverter.do2model(queryList);
125123
setDataSourceInfo(list);
126124
return ListResult.of(list);
@@ -134,7 +132,7 @@ public ActionResult deleteWithPermission(Long id) {
134132
ChartDO chartDO = new ChartDO();
135133
chartDO.setId(id);
136134
chartDO.setDeleted(YesOrNoEnum.YES.getLetter());
137-
chartMapper.updateById(chartDO);
135+
getMapper().updateById(chartDO);
138136
LambdaQueryWrapper<DashboardChartRelationDO> queryWrapper = new LambdaQueryWrapper<>();
139137
queryWrapper.eq(DashboardChartRelationDO::getChartId, id);
140138
List<DashboardChartRelationDO> relationDO = dashboardChartRelationMapper.selectList(queryWrapper);
@@ -150,7 +148,7 @@ public ListResult<Chart> queryByIds(List<Long> ids) {
150148
if (CollectionUtils.isEmpty(ids)) {
151149
return ListResult.empty();
152150
}
153-
List<ChartDO> chartDOS = chartMapper.selectBatchIds(ids);
151+
List<ChartDO> chartDOS = getMapper().selectBatchIds(ids);
154152
List<Chart> charts = chartConverter.do2model(chartDOS);
155153
List<Chart> result = charts.stream().filter(o -> YesOrNoEnum.NO.getLetter().equals(o.getDeleted())).toList();
156154
setDataSourceInfo(result);
@@ -173,4 +171,8 @@ private void setDataSourceInfo(List<Chart> result) {
173171
}
174172
});
175173
}
174+
175+
private ChartMapper getMapper() {
176+
return Dbutils.getMapper(ChartMapper.class);
177+
}
176178
}

chat2db-server/chat2db-server-domain/chat2db-server-domain-core/src/main/java/ai/chat2db/server/domain/core/impl/ConfigServiceImpl.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import ai.chat2db.server.domain.api.param.SystemConfigParam;
88
import ai.chat2db.server.domain.api.service.ConfigService;
99
import ai.chat2db.server.domain.core.converter.ConfigConverter;
10+
import ai.chat2db.server.domain.repository.Dbutils;
1011
import ai.chat2db.server.domain.repository.entity.SystemConfigDO;
12+
import ai.chat2db.server.domain.repository.mapper.ChartMapper;
1113
import ai.chat2db.server.domain.repository.mapper.SystemConfigMapper;
1214
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
1315
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
@@ -23,8 +25,9 @@
2325
@Service
2426
public class ConfigServiceImpl implements ConfigService {
2527

26-
@Autowired
27-
private SystemConfigMapper systemConfigMapper;
28+
private SystemConfigMapper getMapper() {
29+
return Dbutils.getMapper(SystemConfigMapper.class);
30+
}
2831

2932
@Autowired
3033
private ConfigConverter configConverter;
@@ -34,7 +37,7 @@ public ActionResult create(SystemConfigParam param) {
3437
SystemConfigDO systemConfigDO = configConverter.param2do(param);
3538
systemConfigDO.setGmtCreate(LocalDateTime.now());
3639
systemConfigDO.setGmtModified(LocalDateTime.now());
37-
systemConfigMapper.insert(systemConfigDO);
40+
getMapper().insert(systemConfigDO);
3841
return ActionResult.isSuccess();
3942
}
4043

@@ -43,13 +46,13 @@ public ActionResult update(SystemConfigParam param) {
4346
SystemConfigDO systemConfigDO = configConverter.param2do(param);
4447
UpdateWrapper<SystemConfigDO> updateWrapper = new UpdateWrapper<>();
4548
updateWrapper.eq("code", param.getCode());
46-
systemConfigMapper.update(systemConfigDO, updateWrapper);
49+
getMapper().update(systemConfigDO, updateWrapper);
4750
return ActionResult.isSuccess();
4851
}
4952

5053
@Override
5154
public ActionResult createOrUpdate(SystemConfigParam param) {
52-
SystemConfigDO systemConfigDO = systemConfigMapper.selectOne(
55+
SystemConfigDO systemConfigDO = getMapper().selectOne(
5356
new UpdateWrapper<SystemConfigDO>().eq("code", param.getCode()));
5457
if (systemConfigDO == null) {
5558
return create(param);
@@ -60,14 +63,14 @@ public ActionResult createOrUpdate(SystemConfigParam param) {
6063

6164
@Override
6265
public DataResult<Config> find(String code) {
63-
SystemConfigDO systemConfigDO = systemConfigMapper.selectOne(
66+
SystemConfigDO systemConfigDO = getMapper().selectOne(
6467
new UpdateWrapper<SystemConfigDO>().eq("code", code));
6568
return DataResult.of(configConverter.do2model(systemConfigDO));
6669
}
6770

6871
@Override
6972
public ActionResult delete(String code) {
70-
systemConfigMapper.delete(new UpdateWrapper<SystemConfigDO>().eq("code", code));
73+
getMapper().delete(new UpdateWrapper<SystemConfigDO>().eq("code", code));
7174
return ActionResult.isSuccess();
7275
}
7376
}

chat2db-server/chat2db-server-domain/chat2db-server-domain-core/src/main/java/ai/chat2db/server/domain/core/impl/DashboardServiceImpl.java

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import ai.chat2db.server.domain.api.service.DashboardService;
1313
import ai.chat2db.server.domain.core.converter.DashboardConverter;
1414
import ai.chat2db.server.domain.core.util.PermissionUtils;
15+
import ai.chat2db.server.domain.repository.Dbutils;
1516
import ai.chat2db.server.domain.repository.entity.DashboardChartRelationDO;
1617
import ai.chat2db.server.domain.repository.entity.DashboardDO;
1718
import ai.chat2db.server.domain.repository.mapper.DashboardChartRelationMapper;
@@ -39,11 +40,14 @@
3940
@Service
4041
public class DashboardServiceImpl implements DashboardService {
4142

42-
@Autowired
43-
private DashboardMapper dashboardMapper;
4443

45-
@Autowired
46-
private DashboardChartRelationMapper dashboardChartRelationMapper;
44+
private DashboardMapper getMapper() {
45+
return Dbutils.getMapper(DashboardMapper.class);
46+
}
47+
private DashboardChartRelationMapper getMapper1() {
48+
return Dbutils.getMapper(DashboardChartRelationMapper.class);
49+
}
50+
4751

4852
@Autowired
4953
private DashboardConverter dashboardConverter;
@@ -55,7 +59,7 @@ public DataResult<Long> createWithPermission(DashboardCreateParam param) {
5559
param.setDeleted(YesOrNoEnum.NO.getLetter());
5660
param.setUserId(ContextUtils.getUserId());
5761
DashboardDO dashboardDO = dashboardConverter.param2do(param);
58-
dashboardMapper.insert(dashboardDO);
62+
getMapper().insert(dashboardDO);
5963
insertDashboardRelation(dashboardDO.getId(), param.getChartIds());
6064
return DataResult.of(dashboardDO.getId());
6165
}
@@ -67,7 +71,7 @@ public ActionResult updateWithPermission(DashboardUpdateParam param) {
6771

6872
param.setGmtModified(LocalDateTime.now());
6973
DashboardDO dashboardDO = dashboardConverter.updateParam2do(param);
70-
dashboardMapper.updateById(dashboardDO);
74+
getMapper().updateById(dashboardDO);
7175
if (CollectionUtils.isEmpty(param.getChartIds())) {
7276
return ActionResult.isSuccess();
7377
}
@@ -78,14 +82,14 @@ public ActionResult updateWithPermission(DashboardUpdateParam param) {
7882

7983
@Override
8084
public DataResult<Dashboard> find(Long id) {
81-
DashboardDO dashboardDO = dashboardMapper.selectById(id);
85+
DashboardDO dashboardDO = getMapper().selectById(id);
8286
if (YesOrNoEnum.YES.getLetter().equals(dashboardDO.getDeleted())) {
8387
return DataResult.empty();
8488
}
8589
Dashboard dashboard = dashboardConverter.do2model(dashboardDO);
8690
LambdaQueryWrapper<DashboardChartRelationDO> queryWrapper = new LambdaQueryWrapper<>();
8791
queryWrapper.eq(DashboardChartRelationDO::getDashboardId, id);
88-
List<DashboardChartRelationDO> relationDO = dashboardChartRelationMapper.selectList(queryWrapper);
92+
List<DashboardChartRelationDO> relationDO = getMapper1().selectList(queryWrapper);
8993
List<Long> chartIds = relationDO.stream().map(DashboardChartRelationDO::getChartId).toList();
9094
dashboard.setChartIds(chartIds);
9195
return DataResult.of(dashboard);
@@ -98,14 +102,14 @@ public DataResult<Dashboard> queryExistent(DashboardQueryParam param) {
98102
.eq(DashboardDO::getDeleted, YesOrNoEnum.NO.getLetter())
99103
.eqWhenPresent(DashboardDO::getId, param.getId())
100104
.eqWhenPresent(DashboardDO::getUserId, param.getUserId());
101-
IPage<DashboardDO> page = dashboardMapper.selectPage(new Page<>(1, 1), queryWrapper);
105+
IPage<DashboardDO> page = getMapper().selectPage(new Page<>(1, 1), queryWrapper);
102106
if (CollectionUtils.isEmpty(page.getRecords())) {
103107
throw new DataNotFoundException();
104108
}
105109
Dashboard data = dashboardConverter.do2model(page.getRecords().get(0));
106110
LambdaQueryWrapper<DashboardChartRelationDO> dashboardChartRelationQueryWrapper = new LambdaQueryWrapper<>();
107111
dashboardChartRelationQueryWrapper.eq(DashboardChartRelationDO::getDashboardId, param.getId());
108-
List<DashboardChartRelationDO> relationDO = dashboardChartRelationMapper.selectList(
112+
List<DashboardChartRelationDO> relationDO = getMapper1().selectList(
109113
dashboardChartRelationQueryWrapper);
110114
List<Long> chartIds = relationDO.stream().map(DashboardChartRelationDO::getChartId).toList();
111115
data.setChartIds(chartIds);
@@ -129,7 +133,7 @@ public ActionResult deleteWithPermission(Long id) {
129133
DashboardDO dashboardDO = new DashboardDO();
130134
dashboardDO.setId(id);
131135
dashboardDO.setDeleted(YesOrNoEnum.YES.getLetter());
132-
dashboardMapper.updateById(dashboardDO);
136+
getMapper().updateById(dashboardDO);
133137
deleteDashboardRelation(id);
134138
return ActionResult.isSuccess();
135139
}
@@ -142,10 +146,10 @@ public ActionResult deleteWithPermission(Long id) {
142146
private void deleteDashboardRelation(Long id) {
143147
LambdaQueryWrapper<DashboardChartRelationDO> queryWrapper = new LambdaQueryWrapper<>();
144148
queryWrapper.eq(DashboardChartRelationDO::getDashboardId, id);
145-
List<DashboardChartRelationDO> relationDO = dashboardChartRelationMapper.selectList(queryWrapper);
149+
List<DashboardChartRelationDO> relationDO = getMapper1().selectList(queryWrapper);
146150
List<Long> relationIds = relationDO.stream().map(DashboardChartRelationDO::getId).toList();
147151
if (CollectionUtils.isNotEmpty(relationIds)) {
148-
dashboardChartRelationMapper.deleteBatchIds(relationIds);
152+
getMapper1().deleteBatchIds(relationIds);
149153
}
150154
}
151155

@@ -165,7 +169,7 @@ private void insertDashboardRelation(Long dashboardId, List<Long> chartIds) {
165169
relationDO.setGmtModified(LocalDateTime.now());
166170
relationDO.setDashboardId(dashboardId);
167171
relationDO.setChartId(chartId);
168-
dashboardChartRelationMapper.insert(relationDO);
172+
getMapper1().insert(relationDO);
169173
});
170174
}
171175

@@ -179,7 +183,7 @@ public PageResult<Dashboard> queryPage(DashboardPageQueryParam param) {
179183
Integer start = param.getPageNo();
180184
Integer offset = param.getPageSize();
181185
Page<DashboardDO> page = new Page<>(start, offset);
182-
IPage<DashboardDO> iPage = dashboardMapper.selectPage(page, queryWrapper);
186+
IPage<DashboardDO> iPage = getMapper().selectPage(page, queryWrapper);
183187
List<Dashboard> dashboards = dashboardConverter.do2model(iPage.getRecords());
184188
return PageResult.of(dashboards, iPage.getTotal(), param);
185189
}

chat2db-server/chat2db-server-domain/chat2db-server-domain-core/src/main/java/ai/chat2db/server/domain/core/impl/DataSourceAccessBusinessServiceImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessPageQueryParam;
77
import ai.chat2db.server.domain.api.service.DataSourceAccessBusinessService;
88
import ai.chat2db.server.domain.api.service.DataSourceAccessService;
9+
import ai.chat2db.server.domain.repository.Dbutils;
910
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessCustomMapper;
1011
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
1112
import ai.chat2db.server.tools.common.exception.PermissionDeniedBusinessException;
@@ -27,9 +28,9 @@ public class DataSourceAccessBusinessServiceImpl implements DataSourceAccessBusi
2728

2829
@Resource
2930
private DataSourceAccessService dataSourceAccessService;
30-
@Resource
31-
private DataSourceAccessCustomMapper dataSourceAccessCustomMapper;
32-
31+
private DataSourceAccessCustomMapper getMapper() {
32+
return Dbutils.getMapper(DataSourceAccessCustomMapper.class);
33+
}
3334
@Override
3435
public ActionResult checkPermission(@NotNull DataSource dataSource) {
3536
LoginUser loginUser = ContextUtils.getLoginUser();
@@ -58,7 +59,7 @@ public ActionResult checkPermission(@NotNull DataSource dataSource) {
5859
}
5960

6061
// Verify if the team has permission
61-
if (dataSourceAccessCustomMapper.checkTeamPermission(dataSource.getId(), loginUser.getId()) != null) {
62+
if (getMapper().checkTeamPermission(dataSource.getId(), loginUser.getId()) != null) {
6263
return ActionResult.isSuccess();
6364

6465
}

0 commit comments

Comments
 (0)