if (mbIds.size() > 0) { FindListMemberDTO memberDTO = new FindListMemberDTO().setMemberIdList(mbIds); List<QueryBaseInfoVo> members = FeignUtils.processFeignResult(memberClient.batchMemberInfo(memberDTO)); if (members != null && members.size() > 0) { Map<String, QueryBaseInfoVo> membersMap = members.stream().collect(Collectors.toMap((QueryBaseInfoVo::getId), item -> item, (k1, k2) -> k1)); for (QuerySaleOrderListVo order : page.getRecords()) { if(Objects.nonNull(order.getMemberId())){ QueryBaseInfoVo queryBaseInfoVo = membersMap.get(order.getMemberId()); if(queryBaseInfoVo!=null&&StringUtils.isNotEmpty(queryBaseInfoVo.getPhoneNumber())){ order.setOriginPhoneNumber(queryBaseInfoVo.getPhoneNumber()); order.setPhoneNumber(queryBaseInfoVo.getPhoneNumber().replaceAll("(?<=[\\w]{3})\\w(?=[\\w]{4})", "*")); } } } } }
时间: 2024-02-14 09:22:33 浏览: 112
list.size()==0与list==null、emptyList
这段代码和之前的代码非常相似,主要是对一个列表中的销售订单进行处理,并对成员信息中的电话号码进行脱敏处理。不同之处在于,这段代码使用了 Java 8 中的 Stream API,将成员信息列表转换成了一个 Map,然后通过 Map 的 get 方法获取指定成员 ID 对应的成员信息对象,避免了在循环中反复遍历成员信息列表的问题。同时,这段代码还对销售订单对象中的成员 ID 进行了非空判断,避免了出现 NullPointException 的问题。
阅读全文