stream流对比两个list某个字段一致否,再将数据处理成List<Object>,进行数据新增

 List<People> details = getData(loginUser, datas);
       
List<Record> records = getDataList();
Map<String, String> collect = details.stream()
                .collect(Collectors.toMap(People::getRuid, People::getInsResult));
List<Record> arrayList =
                records.stream()
                        .filter(x -> x.getStr("INS_RESULT").equals(collect.get(x.getStr("RUID"))))
                        .map(x -> {
                            Record record = new Record();
                            record.set("RUID", UUIDUtils.getUUID32());
                            record.set("UPDATE_DATA_ID", x.getStr("RUID"));  //数据主键ID
                            record.set("OLD_DATA", StringUtils.isNotEmpty(x.getStr("INS_RESULT")) ? x.getStr("INS_RESULT") : "");  //旧数据内容
                            record.set("NEW_DATA", StringUtils.isNotEmpty(collect.get(x.getStr("RUID"))) ? collect.get(x.getStr("RUID")) : "");  //新数据内容
                            record.set("UPDATE_NAME", loginUser.getUserName());  //修改人
                            record.set("UPDATE_NAME_ID", loginUser.getUserId());  //修改人ID
                            record.set("UPDATE_DATE", new Date());  //修改时间
                            return record;
                        })
                        .collect(Collectors.toList());

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐