判空

Objects.nonNull(引用对象)

空集合

Lists.newArrayList();

集合判空

CollectionUtils.isEmpty(某个List)

createOrUpdate

/**
 * 创建或更新XXXX结果
 *
 * @param requestList 创建或更新请求列表
 * @return 操作结果
 */
@Override
public String createOrUpdateXXX(List<RequestDTO> requestList) {
    // 提取所有有效的 ID
    List<String> ids = requestList.stream()
            .map(RequestDTO::getId)
            .filter(StringUtils::isNotBlank)
            .collect(Collectors.toList());

    // 获取数据库中已存在的记录
    List<String> existingIds = fetchExistingRecords(ids).stream()
            .map(RecordDTO::getId)
            .collect(Collectors.toList());

    // 根据是否存在于数据库中分类
    Map<Boolean, List<RequestDTO>> partitionedRequests = requestList.stream()
            .collect(Collectors.partitioningBy(req -> existingIds.contains(req.getId())));

    // 更新已存在的记录
    partitionedRequests.get(true).forEach(req ->
            updateRecord(BeanUtils.transfer(req, UpdateRequestDTO.class))
    );

    // 插入新的记录
    partitionedRequests.get(false).forEach(this::createRecord);

    return "操作完成";
}
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤

免责声明:
本站文章旨在总结学习互联网技术过程中的经验与见解。任何人不得将其用于违法或违规活动!所有违规内容均由个人自行承担,与作者无关。