From 67d06a785d5fc4524639ace27651c01ff05a4b58 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期四, 29 五月 2025 22:31:33 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 47 ++++++++++++++++++++++++++++------------------- 1 files changed, 28 insertions(+), 19 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index bcd19e9..7602a31 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.order.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -98,13 +99,9 @@ @Override public TActivityVO activityStatistics(TActivityStatisticsQuery dto) { TActivityVO res = new TActivityVO(); - - - PageInfo<TActivityStatisticslVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); - PageInfo<TActivityStatisticslVO> pageInfo1 = new PageInfo<>(1,9999999); List<TActivityStatisticslVO> list = this.baseMapper.activityStatistics(pageInfo,dto); - List<TActivityStatisticslVO> list1 = this.baseMapper.activityStatistics(pageInfo1,dto); + List<TActivityStatisticslVO> list1 = this.baseMapper.activityStatisticsNolimit(dto); // 优惠券金额 BigDecimal coupon = new BigDecimal("0"); @@ -165,9 +162,7 @@ break; case 3: // 会员订单 优惠金额大于0 - if (tActivityStatisticslVO.getVipDiscountAmount()!=null - && - (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + if (tActivityStatisticslVO.getVipDiscountAmount()!=null){ vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount()); } tActivityStatisticslVO.setType("会员活动"); @@ -180,15 +175,23 @@ tActivityStatisticslVO.setType("赠送会员"); tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); }else{ - // 赠送 - grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount()); - tActivityStatisticslVO.setType("赠送会员"); + // 会员活动 + vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount()); + tActivityStatisticslVO.setType("会员活动"); tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); } break; } } + + List<Long> appUserIds = list.stream().map(TActivityStatisticslVO::getAppUserId).collect(Collectors.toList()); + List<TAppUser> appUsers = appUserClient.getUserByIds(appUserIds).getData(); + for (TActivityStatisticslVO tActivityStatisticslVO : list) { + TAppUser appUser = appUsers.stream().filter(user -> user.getId().equals(tActivityStatisticslVO.getAppUserId())).findFirst().orElse(null); + if(Objects.nonNull(appUser)){ + tActivityStatisticslVO.setPhone(appUser.getPhone()); + } // 判断享有了哪些类型 switch (tActivityStatisticslVO.getOrderType()){ case 1: @@ -197,9 +200,9 @@ // 充电订单 优惠券金额大于0 if (tActivityStatisticslVO.getCouponDiscountAmount()!=null && - (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ - stringBuilder.append("优惠券抵扣").append("+"); - } + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + stringBuilder.append("优惠券抵扣").append("+"); + } if (tActivityStatisticslVO.getVipDiscountAmount()!=null &&(tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ stringBuilder.append("会员抵扣").append("+"); } @@ -317,7 +320,7 @@ MyShoppingOrderInfo info = new MyShoppingOrderInfo(); info.setId(id); info.setStatus(shoppingOrder.getStatus()); - TAppUserAddress userAddress = appUserAddressClient.getAppUserAddressById(shoppingOrder.getAppUserAddressId()).getData(); + TAppUserAddress userAddress = JSON.parseObject(shoppingOrder.getAddressJson(), TAppUserAddress.class); info.setConsignee(userAddress.getName()); info.setPhone(userAddress.getPhone()); info.setAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getAddress() + userAddress.getHouseNumber()); @@ -444,10 +447,16 @@ amount.setTotal(shoppingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue()); amount.setCurrency("CNY"); model.setAmount(amount); - R<String> orderR = wxPaymentClient.refundOrderR(model); + R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model); if(200 == orderR.getCode()){ this.updateById(shoppingOrder); shoppingOrderRefundService.save(shoppingOrderRefund); + //手续费 + Map<String, Object> amount1 = (Map<String, Object>) orderR.getData().get("amount"); + Object refund_fee1 = amount1.get("refund_fee"); + BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100)); + shoppingOrderRefund.setRefundFee(refund_fee); + shoppingOrderRefundService.updateById(shoppingOrderRefund); } } if(2 == paymentType){ @@ -637,10 +646,10 @@ public List<SixShopDto> sixBefore(LocalDate sixBefore, Integer status) { return this.baseMapper.sixBefore(sixBefore,status); } - + @Override - public BigDecimal getSumAmount(LocalDate sixBefore) { - return this.baseMapper.getSumAmount(sixBefore); + public BigDecimal getSumAmount() { + return this.baseMapper.getSumAmount(); } @Override -- Gitblit v1.7.1