perf: 大幅提高体系搜索接口性能
This commit is contained in:
+5
-4
@@ -170,17 +170,18 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl<SarMenuStandar
|
||||
resource.setChildren(recursionGetListChildrenStand((resource), (children)));
|
||||
}
|
||||
// 把所有关联表中的数据拉出来
|
||||
// TODO 优化一下性能
|
||||
// 国标
|
||||
List<SarStandMenu> gbStandMenu = sarStandMenuDao.getGBStandMenu().stream().filter(sarStandMenu -> sarStandMenu.getMenuId().length() > 30).collect(Collectors.toList());
|
||||
List<SarStandMenu> gbStandMenu = sarStandMenuDao.getGBStandMenu();
|
||||
List<StandMenuRelation> gbRelations = BeanCopyUtils.copyBeanList(gbStandMenu, StandMenuRelation.class);
|
||||
|
||||
// 外标
|
||||
List<SarStandMenu> fbStandMenu = sarStandMenuDao.getFBStandMenu().stream().filter(sarStandMenu -> sarStandMenu.getMenuId().length() > 30).collect(Collectors.toList());
|
||||
List<SarStandMenu> fbStandMenu = sarStandMenuDao.getFBStandMenu();
|
||||
List<StandMenuRelation> fbRelations = BeanCopyUtils.copyBeanList(fbStandMenu, StandMenuRelation.class);
|
||||
|
||||
// 企标
|
||||
List<SarBussStandMenu> esStandMenu = sarBussStandMenuService.list().stream().filter(sarBussStandMenu -> sarBussStandMenu.getMenuId().length() > 30).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<SarBussStandMenu> bussWrapper = new LambdaQueryWrapper<>();
|
||||
bussWrapper.apply("LENGTH(menu_id) > {0}", 30);
|
||||
List<SarBussStandMenu> esStandMenu = sarBussStandMenuService.list(bussWrapper);
|
||||
List<StandMenuRelation> esRelations = BeanCopyUtils.copyBeanList(esStandMenu, StandMenuRelation.class);
|
||||
// 计算每个节点的数值
|
||||
TsResources.get(0).calculateAndSetCounts(gbRelations, fbRelations, esRelations, 0);
|
||||
|
||||
@@ -147,13 +147,13 @@
|
||||
<select id="getGBStandMenu" resultType="com.adc.da.slrs.sarStandMenu.entity.SarStandMenu">
|
||||
select sm.MENU_ID, sm.STAND_ID from SAR_STAND_MENU AS sm
|
||||
LEFT JOIN sar_standards_info AS stand ON sm.STAND_ID = stand.ID
|
||||
where stand.STAND_TYPE = 'INLAND'
|
||||
where stand.STAND_TYPE = 'INLAND' AND LENGTH(sm.MENU_ID) > 30
|
||||
</select>
|
||||
|
||||
<select id="getFBStandMenu" resultType="com.adc.da.slrs.sarStandMenu.entity.SarStandMenu">
|
||||
select sm.MENU_ID, sm.STAND_ID from SAR_STAND_MENU AS sm
|
||||
LEFT JOIN sar_standards_info AS stand ON sm.STAND_ID = stand.ID
|
||||
where stand.STAND_TYPE = 'FOREIGN'
|
||||
where stand.STAND_TYPE = 'FOREIGN' AND LENGTH(sm.MENU_ID) > 30
|
||||
</select>
|
||||
|
||||
<select id="getStandInfoSystemData" resultType="com.adc.da.slrs.sarMenuStandard.entity.StandSystemDTO">
|
||||
|
||||
Reference in New Issue
Block a user