List<ExcelOrderResp> list = baseMapper.excelOrderList(req.getOrderId(), req.getType(), orderStatus, tradeStatus, req.getStartTime(), req.getEndTime(), workStartTime, workEndTime, completedTime, cancelType, provinceId, cityId);
if (list.isEmpty()) {
return;
}
List<String> orderIds = list.stream().map(ExcelOrderResp::getOrderId).collect(Collectors.toList());
List<OrderMatchMemberDTO> orderMatches = orderMatchService.findMatchMemberByOrderIds(orderIds);
Map<String, OrderMatchMemberDTO> orderMatchMap = orderMatches.stream().collect(Collectors.toMap(OrderMatchMemberDTO::getOrderId, t -> t));
List<OrderGoodsInfoDTO> orderGoodsByOrderIds = orderGoodsService.findOrderGoodsByOrderIds(orderIds);
Map<String, OrderGoodsInfoDTO> orderGoodsMap = orderGoodsByOrderIds.stream().collect(Collectors.toMap(OrderGoodsInfoDTO::getOrderId, t -> t));
for (ExcelOrderResp excel : list) {
OrderExcelDTO orderExcelDTO = new OrderExcelDTO();
orderExcelDTO.setOrderId(excel.getOrderId());
orderExcelDTO.setUserInfo(excel.getUserInfo());
orderExcelDTO.setUsedAmount(excel.getActualUseAmount());
if (excel.getWorkStartTime() != null && excel.getWorkStartTime() > 0) {
orderExcelDTO.setWorkStartTime(TimeUtil.ofSecond(excel.getWorkStartTime()).format(TimeUtil.DATE_TIME_FORMATTER));
}
OrderMatchMemberDTO orderMatchMemberDTO = orderMatchMap.get(excel.getOrderId());
if (!Objects.isNull(orderMatchMemberDTO)) {
if (!StringUtils.isEmpty(orderMatchMemberDTO.getRealName())) {
orderExcelDTO.setBusinessInfo(orderMatchMemberDTO.getRealName() + StringConst.SHORT_LINE + orderMatchMemberDTO.getPhone());
} else {
orderExcelDTO.setBusinessInfo(orderMatchMemberDTO.getPhone());
}
}
OrderGoodsInfoDTO orderGoodsInfoDTO = orderGoodsMap.get(excel.getOrderId());
if (!Objects.isNull(orderGoodsInfoDTO)) {
String top = CcEnum.TopCategoryId.getNameByCategoryId(orderGoodsInfoDTO.getCategory());
orderExcelDTO.setOrderGoods(top + StringConst.SHORT_LINE + orderGoodsInfoDTO.getCategoryName() + StringConst.SHORT_LINE + orderGoodsInfoDTO.getGoodsModel());
String valuation = CcEnum.ValuationMethod.getNameByType(orderGoodsInfoDTO.getValuationMethod());
orderExcelDTO.setQuantityDesc(excel.getRentHours() / 60 / 60 + valuation);
if (CcEnum.TopCategoryId.FIRST.getCategoryId().equals(orderGoodsInfoDTO.getCategory())) {
if (excel.getOrderTypeValue() == OrderTypeEnum.SPAN) {
orderExcelDTO.setQuantityDesc((excel.getRentHours() / 3600 / 8D) + CcEnum.ValuationMethod.DAY.getName());
} else if (excel.getOrderTypeValue() == OrderTypeEnum.MONTH) {
orderExcelDTO.setQuantityDesc("1月");
} else if (excel.getOrderTypeValue() == OrderTypeEnum.FIXED) {
orderExcelDTO.setQuantityDesc("一口价");
}
}
}
data.add(orderExcelDTO);
关于strem处理数据代码
最新推荐文章于 2024-08-15 14:47:41 发布