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 | 62 ++++++++++++++++++++++++------- 1 files changed, 48 insertions(+), 14 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 2bb8ae2..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.*; @@ -1504,7 +1505,7 @@ 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()); @@ -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; } @@ -2239,11 +2239,15 @@ 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(); @@ -2265,12 +2269,14 @@ 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); //创建服务商品 //获取商品信息(商品简介,调理问题) @@ -2501,11 +2507,15 @@ 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(); @@ -2527,12 +2537,14 @@ 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); //创建服务商品 //获取商品信息(商品简介,调理问题) @@ -3154,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: @@ -3192,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); @@ -3267,6 +3285,17 @@ 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; @@ -4018,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(); @@ -7282,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