zoukankan      html  css  js  c++  java
  • 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());
                            }
                        });
                    }
                }
            }
        }
  • 相关阅读:
    创建二叉树
    并查集
    opn模块
    【ES6】map、reduce、filter、sort、箭头函数、class继承、yield
    css应用视觉设计
    json解决ajax跨域的原理
    flex盒子布局
    前后台交互ajax请求模块
    react后台项目开发(一)
    高阶函数&&高阶组件(二)
  • 原文地址:https://www.cnblogs.com/daixingqing/p/11764502.html
Copyright © 2011-2022 走看看