Java 分页查询教练信息优化 - 使用 IPage 提升效率
public\u0020Map\u003CString,Object\u003E\u0020queryCoachByPageByParam(QueryRequest\u0020queryRequest,Admin\u0020admin)\u007B\n\u0020\u0020\u0020\u0020Map\u003CString,Object\u003E\u0020map\u0020=\u0020new\u0020HashMap\u003C\u003E();\n\u0020\u0020\u0020\u0020Admin\u0020admin1\u0020=\u0020adminMapper.selectById(admin.getAdminId());\n\n\u0020\u0020\u0020\u0020//总管理\n\u0020\u0020\u0020\u0020if\u0020(admin1.getTotalAdminId()\u0020!=\u0020null\u0020&&\u0020admin1.getTotalAdminId()\u0020==\u00200)\u007B\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020QueryWrapper\u003CAdmin\u003E\u0020queryWrapper\u0020=\u0020new\u0020QueryWrapper\u003C\u003E();\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020queryWrapper.eq("total_admin_id",admin.getAdminId());\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020List\u003CAdmin\u003E\u0020admins\u0020=\u0020adminMapper.selectList(queryWrapper);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020List\u003CCoachDto\u003E\u0020coachList\u0020=\u0020new\u0020ArrayList\u003C\u003E();\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020for\u0020(Admin\u0020admin2\u0020:\u0020admins)\u007B\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020List\u003CCoach\u003E\u0020coaches\u0020=\u0020queryAllCoachByAdminId(admin2.getAdminId());\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020if\u0020(!CollectionUtils.isEmpty(coaches))\u007B\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020Date\u0020date\u0020=\u0020RcqtUtils.getDay();\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020for\u0020(Coach\u0020coach\u0020:\u0020coaches)\u007B\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020List\u003CCourseDto\u003E\u0020courseDtoList\u0020=\u0020courseInfoService.queryCourseByCoachId(coach.getCoachId(),date);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020boolean\u0020isWorking\u0020=\u0020courseDtoList.stream()\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020.anyMatch(c\u0020-\u003E\u0020LocalTime.now().isAfter(c.getStartReservationTime().toLocalTime())\u0020&&\u0020LocalTime.now().isBefore(c.getEndReservationTime().toLocalTime()));\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020CoachDto\u0020coachDto\u0020=\u0020new\u0020CoachDto();\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020BeanUtils.copyProperties(coach,coachDto);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachDto.setWorkStatus(isWorking);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachDto.setAdminRealName(admin2.getRealName());\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachDto.setAdminPhone(admin2.getAdminPhone());\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachDto.setCarCount(queryAllDeviceEntitiesByCoachIdByCount(coach.getCoachId()));\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachList.add(coachDto);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020}\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020}\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020}\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020Comparator\u003CCoachDto\u003E\u0020comparator\u0020=\u0020Comparator.comparing(CoachDto::getWorkStatus,Comparator.reverseOrder())\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020.thenComparing((c1,c2)\u0020-\u003E\u0020Collator.getInstance(Locale.CHINESE).compare(c1.getRealName(),c2.getRealName()));\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachList.sort(comparator);\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020int\u0020total\u0020=\u0020coachList.size();\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020int\u0020pageNum\u0020=\u0020queryRequest.getPageNum();\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020int\u0020pageSize\u0020=\u0020queryRequest.getPageSize();\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020int\u0020startIndex\u0020=\u0020(pageNum\u0020-\u00201)\u0020*\u0020pageSize;\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020int\u0020endIndex\u0020=\u0020Math.min(startIndex\u0020+\u0020pageSize,total);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020List\u003CCoachDto\u003E\u0020coaches\u0020=\u0020coachList.subList(startIndex,endIndex);\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020map.put("coaches",coaches);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020map.put("total",total);\n\u0020\u0020\u0020\u0020return\u0020map;\n\u0020\u0020\u0020\u0020}\n\n\u0020\u0020\u0020\u0020//1.查询条件\n\u0020\u0020\u0020\u0020QueryWrapper\u003CCoach\u003E\u0020queryWrapper\u0020=\u0020new\u0020QueryWrapper\u003C\u003E();\n\u0020\u0020\u0020\u0020queryWrapper.eq("admin_id",admin.getAdminId());\n\n\u0020\u0020\u0020\u0020List\u003CCoach\u003E\u0020coaches\u0020=\u0020coachMapper.selectList(queryWrapper);\n\u0020\u0020\u0020\u0020List\u003CCoachDto\u003E\u0020coachList\u0020=\u0020new\u0020ArrayList\u003C\u003E();\n\n\u0020\u0020\u0020\u0020if\u0020(!CollectionUtils.isEmpty(coaches))\u007B\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020Date\u0020date\u0020=\u0020RcqtUtils.getDay();\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020long\u0020a\u0020=\u0020System.currentTimeMillis();\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020for\u0020(Coach\u0020coach\u0020:\u0020coaches)\u007B\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020List\u003CCourseDto\u003E\u0020courseDtoList\u0020=\u0020courseInfoService.queryCourseByCoachId(coach.getCoachId(),date);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020boolean\u0020isWorking\u0020=\u0020courseDtoList.stream()\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020.anyMatch(c\u0020-\u003E\u0020LocalTime.now().isAfter(c.getStartReservationTime().toLocalTime())\u0020&&\u0020LocalTime.now().isBefore(c.getEndReservationTime().toLocalTime()));\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020CoachDto\u0020coachDto\u0020=\u0020new\u0020CoachDto();\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020BeanUtils.copyProperties(coach,coachDto);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachDto.setWorkStatus(isWorking);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachDto.setCarCount(queryAllDeviceEntitiesByCoachIdByCount(coach.getCoachId()));\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020coachList.add(coachDto);\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020}\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020long\u0020b\u0020=System.currentTimeMillis();\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020System.out.println(b-a+"ms");\n\u0020\u0020\u0020\u0020}\n\n\u0020\u0020\u0020\u0020Comparator\u003CCoachDto\u003E\u0020comparator\u0020=\u0020Comparator.comparing(CoachDto::getWorkStatus,Comparator.reverseOrder())\n\u0020\u0020\u0020\u0020.thenComparing((c1,c2)\u0020-\u003E\u0020Collator.getInstance(Locale.CHINESE).compare(c1.getRealName(),c2.getRealName()));\n\n\u0020\u0020\u0020\u0020coachList.sort(comparator);\n\u0020\u0020\u0020\u0020int\u0020total\u0020=\u0020coachList.size();\n\u0020\u0020\u0020\u0020int\u0020pageNum\u0020=\u0020queryRequest.getPageNum();\n\u0020\u0020\u0020\u0020int\u0020pageSize\u0020=\u0020queryRequest.getPageSize();\n\u0020\u0020\u0020\u0020int\u0020startIndex\u0020=\u0020(pageNum\u0020-\u00201)\u0020*\u0020pageSize;\n\u0020\u0020\u0020\u0020int\u0020endIndex\u0020=\u0020Math.min(startIndex\u0020+\u0020pageSize,total);\n\u0020\u0020\u0020\u0020List\u003CCoachDto\u003E\u0020coachDtoList\u0020=\u0020coachList.subList(startIndex,endIndex);\n\n\u0020\u0020\u0020\u0020map.put("coaches",coachDtoList);\n\u0020\u0020\u0020\u0020map.put("total",total);\n\u0020\u0020\u0020\u0020return\u0020map;\n\u0020\u0020\u0020\u0020}\n
原文地址: http://www.cveoy.top/t/topic/qgoc 著作权归作者所有。请勿转载和采集!