java根据list数据通过接口姓名并填充
@Resource DockingAccount dockingAccount; public <T> void convertVOName(List<T> list, String getIdFile, String setNameFile) { if (CollectionUtil.isNotEmpty(list)) { String getIdFileStr = "get" + getIdFile; String setNameFileStr = "set" + setNameFile; List<String> ids = list.stream().map(p -> ReflectUtil.invoke(p, getIdFileStr).toString()).distinct().collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(ids)) { DockingResult<List<UserBasicInfo>> userListDockingResult = dockingAccount.getUserBasicInfoByBatch(ids); if (userListDockingResult.isSuccess() && CollectionUtil.isNotEmpty(userListDockingResult.getBody())) { list.forEach((p) -> { Optional<UserBasicInfo> userBasicInfoOptional = userListDockingResult.getBody().stream().filter(x -> x.getId().equals(ReflectUtil.invoke(p, getIdFileStr).toString())).findFirst(); if (userBasicInfoOptional.isPresent()) { ReflectUtil.invoke(p, setNameFileStr, userBasicInfoOptional.get().getName()); } }); } } } }