微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

个人代码,自创循环套循环后输出Map数据结构的写法

@Override

public HttpCommandResultWithData getSalesDataByUsersAndTransId(SalesQueryLogDataByUserCommand command) {

HttpCommandResultWithData result = new HttpCommandResultWithData().fillResult(ReturnCode.OK);

// 入参校验

List userIds = command.getUserIds();

if (CollectionUtils.isEmpty(userIds)) {

throw new SellAppCustomFailException(ErrorMsgEnum.SELL_APP_SERVICE_ParaMS_ERROR_USERS_NOT_FIND);

}

List transIds = command.getTransIds();

if (CollectionUtils.isEmpty(transIds)) {

throw new SellAppCustomFailException(ErrorMsgEnum.SELL_APP_SERVICE_ParaMS_ERROR_TRANS_ID_NOT_FIND);

}

// 获取redis数据方法

Function> getDataByRedis = userId -> {

Map beanMap = new HashMap<>();

transIds.forEach(transId -> {

String jsonLogArrays = Optional.ofNullable(

(String) redistemplate.opsForHash().get(RedisStaticConst.QINGQI_LOG_REdis_KEY_PREX + transId,userId))

.orElseGet(String::new);

List list = new ArrayList();

try {

list = JsonUtil.toList(jsonLogArrays,RedisLogSimplePojo.class);

} catch (IOException e) {

logger.warn("=== getSalesDataByUsers 查询云端redis数据 云端redis hkey : {} key: {} 转换json数组异常",RedisStaticConst.QINGQI_LOG_REdis_KEY_PREX + transId,userId);

}

beanMap.put(transId,String.valueOf(list.size()));

});

return beanMap;

};

// 返回结果

AtomicInteger index = new AtomicInteger();

Map> retMap =

userIds.stream().collect(Collectors.toMap(key -> {

String userId = userIds.get(index.get());

index.incrementAndGet();

return userId;

},getDataByRedis));

result.setData(retMap);

return result;

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐