From 039dbb9ab16f295e91cfcdea5bf68bf16bc0417e Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 29 七月 2025 09:22:33 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang into 2.0 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 10 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 9d6ea99..68504f4 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -1601,16 +1601,15 @@ appPlaceOrderVo.setSignType(payArr[4]); appPlaceOrderVo.setPaySign(payArr[5]); appPlaceOrderVo.setPrepayId(orderPayment.getPrepayId()); + appPlaceOrderVo.setLotteryDraw(false); // 返回AppPlaceOrderVo对象 List<TLotteryEvent> data = lotteryEventClient.getLotteryEventList(2).getData(); if (data.size() > 0) { List<TLotteryEvent> collect = data.stream().filter(s -> s.getPayMoney().compareTo(order.getPayMoney()) >= 0).collect(Collectors.toList()); - appPlaceOrderVo.setLotteryDraw(collect.size() > 0); if (collect.size() > 0) { + appPlaceOrderVo.setLotteryDraw(true); appPlaceOrderVo.setLotteryEventId(collect.get(0).getId()); } - } else { - appPlaceOrderVo.setLotteryDraw(false); } return appPlaceOrderVo; } @@ -3167,7 +3166,13 @@ consumerGoodsService.sendGoodsGift(giftSendDtoList); //抽奖奖品中的平台商品需要生成订单数据 if (memberGiftRecord.getPrizeFrom() == 2) { - addOrder(memberGiftRecord.getShopId(), memberGiftRecord.getUserId(), goods, memberGiftRecord.getGoodsNumber(), memberGiftRecord.getGiftId()); + Order one = this.getOne(new QueryWrapper<Order>().eq("activity_id", memberGiftRecord.getGiftId()).eq("order_from", 4)); + if(null == one){ + addOrder(memberGiftRecord.getShopId(), memberGiftRecord.getUserId(), goods, memberGiftRecord.getGoodsNumber(), memberGiftRecord.getGiftId(), 3); + }else{ + one.setOrderStatus(3); + this.updateById(one); + } } break; case 3: @@ -3205,23 +3210,23 @@ /** - * 核销抽奖的平台商品生成订单 + * 抽奖的平台商品生成订单--待审核 * * @param shopId * @param userId * @param goods * @param goodsNum */ - public void addOrder(Long shopId, Long userId, Goods goods, Integer goodsNum, String giftId) { + public void addOrder(Long shopId, Long userId, Goods goods, Integer goodsNum, String giftId, Integer status) { Order order = new Order(); order.setOrderId(IdUtils.simpleUUID()); order.setDelFlag(0); - order.setOrderStatus(3); + order.setOrderStatus(status); order.setOrderNo(CodeFactoryUtil.getShopOrderNo()); 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); @@ -3967,6 +3972,8 @@ MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(mgtShopOrderPageDto); MgtOrderTotal mgtOrderTotalSecond = orderMapper.totalOrderSecond(mgtShopOrderPageDto); MgtOrderTotal mgtOrderTotalThird = orderMapper.totalOrderThird(mgtShopOrderPageDto); + MgtOrderTotal mgtOrderTotalFour = orderMapper.totalOrderFour(mgtShopOrderPageDto); + mgtOrderTotal.setOrderTotal(mgtOrderTotalFirst.getOrderTotal()); mgtOrderTotal.setOrderMoneyTotal(mgtOrderTotalFirst.getOrderMoneyTotal()); mgtOrderTotal.setShopOrderTotal(mgtOrderTotalSecond.getShopOrderTotal()); @@ -4363,7 +4370,7 @@ */ private List<MgtMapBigTotalVo> bigListRemoveNull(List<MgtMapBigTotalVo> MgtMapIntTotalVos) { for (int i = 0; i < MgtMapIntTotalVos.size(); i++) { - if (StringUtils.isBlank(MgtMapIntTotalVos.get(i).getMapKey())) { + if(MgtMapIntTotalVos.get(i).getMapKey().isEmpty()){ MgtMapIntTotalVos.remove(i); } } @@ -4952,8 +4959,33 @@ //获取来源销售排名 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天 -- Gitblit v1.7.1