| | |
| | | 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.*; |
| | |
| | | appUserOrderGetVo.setCouponDiscount(order.getCouponMoney()); |
| | | appUserOrderGetVo.setReceivableDeposit(order.getReceivableDeposit()); |
| | | appUserOrderGetVo.setReceivableMoney(order.getReceivableMoney()); |
| | | appUserOrderGetVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getOnlinePayMoney())); |
| | | appUserOrderGetVo.setUnpaidMoney(order.getReceivableMoney().subtract(null == order.getOnlinePayMoney() ? BigDecimal.ZERO : order.getOnlinePayMoney())); |
| | | appUserOrderGetVo.setPayType(order.getPayType()); |
| | | appUserOrderGetVo.setPayMoney(order.getPayMoney()); |
| | | appUserOrderGetVo.setOrderRemark(order.getOrderRemark()); |
| | |
| | | BigDecimal payAmount = BigDecimal.ZERO; |
| | | //优惠金额 |
| | | BigDecimal payDiscountAmount = BigDecimal.ZERO; |
| | | Long createOrderTime = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")); |
| | | Long payTime = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")); |
| | | if (null != tradeOrderQueryResponseData) { |
| | | TradeOrderQueryResponseDataOrdersItem ordersItem = tradeOrderQueryResponseData.getOrders().get(0); |
| | | originAmount = BigDecimal.valueOf(ordersItem.getOriginalAmount()).divide(new BigDecimal(100)); |
| | | payAmount = BigDecimal.valueOf(ordersItem.getPayAmount()).divide(new BigDecimal(100)); |
| | | payDiscountAmount = BigDecimal.valueOf(ordersItem.getDiscountAmount()).divide(new BigDecimal(100)); |
| | | createOrderTime = ordersItem.getCreateOrderTime(); |
| | | payTime = ordersItem.getPayTime(); |
| | | } |
| | | |
| | | Date nowTime = new Date(); |
| | |
| | | order.setPayMoney(payAmount); |
| | | order.setOnlinePayMoney(payAmount); |
| | | order.setOrderRemark("抖音订单"); |
| | | order.setCreateTime(nowTime); |
| | | order.setPayTime(nowTime); |
| | | order.setCreateTime(new Date(createOrderTime * 1000)); |
| | | order.setPayTime(new Date(payTime * 1000)); |
| | | order.setTripartiteOrderId(data.getOrderId()); |
| | | order.setUseTime(nowTime); |
| | | order.setUseUserId(merVerifyOrderDto.getUserId()); |
| | | order.setCloseFlag(1); |
| | | order.setGoodsNum(1); |
| | | order.setCouponMoney(BigDecimal.ZERO); |
| | | this.save(order); |
| | | //创建服务商品 |
| | | //获取商品信息(商品简介,调理问题) |
| | |
| | | BigDecimal payAmount = BigDecimal.ZERO; |
| | | //优惠金额 |
| | | BigDecimal payDiscountAmount = BigDecimal.ZERO; |
| | | Long create_order_time = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")); |
| | | Long pay_time = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")); |
| | | if (null != orderDetailInfoV1) { |
| | | OpenApiOrderAmountV1 amountInfo = orderDetailInfoV1.getAmount(); |
| | | originAmount = BigDecimal.valueOf(amountInfo.getTotal_amount()); |
| | | payAmount = BigDecimal.valueOf(amountInfo.getPay_amount()); |
| | | payDiscountAmount = originAmount.subtract(payAmount); |
| | | create_order_time = orderDetailInfoV1.getCreate_order_time(); |
| | | pay_time = orderDetailInfoV1.getPay_time(); |
| | | } |
| | | |
| | | Date nowTime = new Date(); |
| | |
| | | order.setPayMoney(payAmount); |
| | | order.setOnlinePayMoney(payAmount); |
| | | order.setOrderRemark("快手订单"); |
| | | order.setCreateTime(nowTime); |
| | | order.setPayTime(nowTime); |
| | | order.setCreateTime(new Date(create_order_time * 1000)); |
| | | order.setPayTime(new Date(pay_time * 1000)); |
| | | order.setTripartiteOrderId(data.getOrder_id()); |
| | | order.setUseTime(nowTime); |
| | | order.setUseUserId(merVerifyOrderDto.getUserId()); |
| | | order.setCloseFlag(1); |
| | | order.setGoodsNum(1); |
| | | order.setCouponMoney(BigDecimal.ZERO); |
| | | this.save(order); |
| | | //创建服务商品 |
| | | //获取商品信息(商品简介,调理问题) |
| | |
| | | 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); |
| | |
| | | if (merMemberNoClearOrderVo.getUnPaidMoney().compareTo(zeroBig) < 0) { |
| | | merMemberNoClearOrderVo.setUnPaidMoney(zeroBig); |
| | | } |
| | | String orderId = merMemberNoClearOrderVo.getOrderId(); |
| | | List<OrderGoods> list = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderId, orderId)); |
| | | List<AppGoodsInfoVo> goodsInfoVos = new ArrayList<>(); |
| | | for (OrderGoods orderGoods : list) { |
| | | AppGoodsInfoVo info = new AppGoodsInfoVo(); |
| | | info.setGoodsName(orderGoods.getGoodsName()); |
| | | info.setSalesNum(orderGoods.getBuyNum()); |
| | | info.setGoodsType(orderGoods.getGoodsType()); |
| | | goodsInfoVos.add(info); |
| | | } |
| | | merMemberNoClearOrderVo.setGoodsList(goodsInfoVos); |
| | | } |
| | | } |
| | | return merMemberNoClearOrderVoList; |
| | |
| | | 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; |
| | | } |