Commit f45b914f by xugaojun

【3.0】11-1迭代:通讯录导出支持大于1000个导出实现

parent 3f0f993c
......@@ -476,7 +476,6 @@ public class StaffController extends WebBaseController {
*/
@RequestMapping("staff-export")
public HaobanResponse staffExport(HttpServletRequest request, HttpServletResponse response, String departmentId, Integer activeFlag, Integer relationFlag, String keyWord, BasePageInfo pageInfo) {
pageInfo.setPageSize(Integer.MAX_VALUE);
List<String> departmentIdSet = new ArrayList<>();
departmentIdSet.add(departmentId);
LoginDTO login = (LoginDTO) AuthRequestUtil.getLoginUser();
......@@ -484,10 +483,21 @@ public class StaffController extends WebBaseController {
List<DepartmentDTO> relationList = departmentApiService.listSonByDepartmentIds(departmentIdSet, wxEnterpriseId);
Map<String, DepartmentDTO> departmentMap = relationList.stream().collect(Collectors.toMap(DepartmentDTO::getDepartmentId, s -> s));
List<String> departmentIds = relationList.stream().map(DepartmentDTO::getDepartmentId).collect(Collectors.toList());
Page<StaffDTO> page = staffApiService.pageStaff(departmentIds, activeFlag, keyWord, pageInfo, relationFlag);
List<StaffDTO> list = page.getResult();
List<StaffDTO> staffAllList = Lists.newArrayListWithCapacity(5000);
pageInfo.setPageSize(Integer.MAX_VALUE);
int pageNum = 1;
while (true) {
pageInfo.setPageNum(pageNum);
Page<StaffDTO> page = staffApiService.pageStaff(departmentIds, activeFlag, keyWord, pageInfo, relationFlag);
List<StaffDTO> list = page.getResult();
if (CollectionUtils.isEmpty(list)) {
break;
}
staffAllList.addAll(list);
pageNum++;
}
List<StaffExportVO> voList = new ArrayList<>();
for (StaffDTO staffDTO : list) {
for (StaffDTO staffDTO : staffAllList) {
StaffExportVO vo = new StaffExportVO();
vo.setStaffId(staffDTO.getStaffId());
vo.setPhoneNumber(staffDTO.getPhoneNumber());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment