Browse Source

优化门禁_设备信息表-列表接口查询效率

james 3 months ago
parent
commit
01012eda00

+ 14 - 4
service-eg/service-eg-biz/src/main/java/com/usky/eg/service/impl/EgDeviceServiceImpl.java

@@ -72,15 +72,25 @@ public class EgDeviceServiceImpl extends AbstractCrudService<EgDeviceMapper, EgD
                 .orderByDesc(EgDevice::getId);
         page = this.page(page,queryWrapper);
         if(page.getRecords().size() > 0){
+
+            LambdaQueryWrapper<MeetingFace> meetingFaceQuery = Wrappers.lambdaQuery();
+            meetingFaceQuery.eq(MeetingFace::getTenantId,tenantId);
+            List<MeetingFace> meetingAllFaceList = meetingFaceMapper.selectList(meetingFaceQuery);
+
             for (int i = 0; i < page.getRecords().size(); i++) {
                 if(Objects.nonNull(page.getRecords().get(i).getBindFace()) ||StringUtils.isNotBlank(page.getRecords().get(i).getBindFace())){
                     String[] fidListStr = page.getRecords().get(i).getBindFace().split(",");
                     Integer[] fidList = Arrays.stream(fidListStr).map(Integer::parseInt).toArray(Integer[]::new);
 
-                    LambdaQueryWrapper<MeetingFace> meetingFaceQuery = Wrappers.lambdaQuery();
-                    meetingFaceQuery.in(MeetingFace::getFid,Arrays.asList(fidList));
-                    List<MeetingFace> meetingFaceList = meetingFaceMapper.selectList(meetingFaceQuery);
-
+                    List<MeetingFace> meetingFaceList = new ArrayList<>();
+                    for (int j = 0; j < fidList.length; j++) {
+                        for (int k = 0; k < meetingAllFaceList.size(); k++) {
+                            if(fidList[j] == meetingAllFaceList.get(k).getFid()){
+                                meetingFaceList.add(meetingAllFaceList.get(k));
+                                break;
+                            }
+                        }
+                    }
                     page.getRecords().get(i).setMeetingFaceList(meetingFaceList);
                 }