From c4b2a916399eee796bbf93d24bf41fd18c4d9f44 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 29 七月 2025 09:10:11 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 29 ++++++++++++++++++++--------- 1 files changed, 20 insertions(+), 9 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 e412dd7..d14ddf0 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 @@ -93,6 +93,7 @@ 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.*; @@ -1600,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; } @@ -3166,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: @@ -3204,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); @@ -4041,7 +4047,7 @@ 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(); @@ -7305,6 +7311,11 @@ } 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; } -- Gitblit v1.7.1