| | |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.LocalTime; |
| | | import java.time.ZoneOffset; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | |
| | | order.setOrderFrom(4); |
| | | order.setShopId(shopId); |
| | | order.setUserId(userId); |
| | | order.setOrderMoney(BigDecimal.ZERO); |
| | | order.setOrderMoney(goods.getSalesPrice()); |
| | | order.setCouponMoney(BigDecimal.ZERO); |
| | | order.setDiscountMoney(BigDecimal.ZERO); |
| | | order.setReceivableMoney(BigDecimal.ZERO); |
| | |
| | | Map<Long, MgtSimpleShopVo> shopMap = null; |
| | | Map<Long, MgtSimpleMemberVo> userMap = null; |
| | | if (shopIdSet != null && !shopIdSet.isEmpty()) { |
| | | String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); |
| | | String shopJoinedString = String.join(",", shopIdSet.stream().filter(Objects::nonNull).map(Object::toString).collect(Collectors.toList())); |
| | | MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); |
| | | mgtBaseBathDto.setIds(shopJoinedString); |
| | | List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData(); |
| | |
| | | //获取来源销售排名 |
| | | List<MgtMapBigTotalVo> orderFromList = orderMapper.listPlTotalOrderTotalOrderFrom(mgtBasePlatformDto); |
| | | if (orderFromList != null && orderFromList.size() > 0) { |
| | | |
| | | MgtMapBigTotalVo duoyin = new MgtMapBigTotalVo(); |
| | | duoyin.setMapKey("抖音"); |
| | | duoyin.setMapValue(totalOrderTotalVo.getDouyinAmount()); |
| | | |
| | | MgtMapBigTotalVo kauishou = new MgtMapBigTotalVo(); |
| | | kauishou.setMapKey("快手"); |
| | | kauishou.setMapValue(totalOrderTotalVo.getKuaishouAmount()); |
| | | |
| | | MgtMapBigTotalVo meituan = new MgtMapBigTotalVo(); |
| | | meituan.setMapKey("美团"); |
| | | meituan.setMapValue(totalOrderTotalVo.getMeituanAmount()); |
| | | orderFromList.add(duoyin); |
| | | orderFromList.add(kauishou); |
| | | orderFromList.add(meituan); |
| | | orderFromList = bigListRemoveNull(orderFromList); |
| | | mgtTotalOrderTotalVo.setOrderFromRankList(orderFromList); |
| | | //排行 |
| | | List<MgtMapBigTotalVo> sortedList = orderFromList.stream() |
| | | // 按 mapValue 降序排序,处理 null 值(若 mapValue 可能为 null) |
| | | .sorted(Comparator.comparing( |
| | | MgtMapBigTotalVo::getMapValue, |
| | | Comparator.nullsLast(BigDecimal::compareTo).reversed() |
| | | )) |
| | | .collect(Collectors.toList()); |
| | | mgtTotalOrderTotalVo.setOrderFromRankList(sortedList); |
| | | } |
| | | //订单分布 |
| | | //日期全部时固定为5天 |
| | |
| | | } |
| | | mgtBasePlatformDto.setShopIdList(shopIdList); |
| | | // 从数据库中获取第三方订单统计 |
| | | DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | mgtBasePlatformDto.setStartTime(LocalDate.parse(mgtBasePlatformDto.getStartDate(), dateFormatter) |
| | | .atStartOfDay()); |
| | | mgtBasePlatformDto.setEndTime(LocalDate.parse(mgtBasePlatformDto.getEndDate(), dateFormatter) |
| | | .atTime(LocalTime.MAX)); |
| | | vo = orderMapper.getPlTotalThirdOrderStatics(mgtBasePlatformDto); |
| | | return vo; |
| | | } |