From 60688f1573eadd0c76dea6b94e684bf363bd99ab Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 03 九月 2025 12:08:33 +0800 Subject: [PATCH] 修改手动推送订单 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java | 144 +++++++++++++++++++++++++---------------------- 1 files changed, 76 insertions(+), 68 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java index 99f11b7..756d1f3 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java @@ -99,55 +99,53 @@ Long userId = tokenService.getLoginUserApplet().getUserId(); // 根据id查询用户信息 TAppUser appUser = appUserClient.getUserById(userId).getData(); + TVip vip = null; if(Objects.nonNull(appUser)){ // 查询会员信息 -// TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); - GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail(); getAppUserVipDetail.setAppUserId(userId); getAppUserVipDetail.setVipId(appUser.getVipId()); R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail); TAppUserVipDetail data1 = appUserVipDetail.getData(); - TVip vip = null; + if(Objects.nonNull(data1)){ String vipJson = data1.getVipJson(); vip = JSON.parseObject(vipJson, TVip.class); } - - TAccountingStrategyDetailVO accountingStrategyDetailVO; - TAccountingStrategyDetailVO accountingStrategyDetailNext; - // 获取当前时间段的计费策略明细 - accountingStrategyDetailVO = list.stream().filter(detail -> DateUtils.string2LocalTime(detail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0 - && DateUtils.string2LocalTime(detail.getEndTime() + ("23:59:59".equals(detail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0) - .findFirst().orElseThrow(() -> new ServiceException("当前时间段未查询到计费策略明细")); - // 获取后一次的计费策略明细 - accountingStrategyDetailVO.setEndTime("23:59:59".equals(accountingStrategyDetailVO.getEndTime())? "00:00":accountingStrategyDetailVO.getEndTime()); - accountingStrategyDetailNext = list.stream().filter(detail -> detail.getStartTime().compareTo(accountingStrategyDetailVO.getEndTime()) == 0) - .findFirst().orElseThrow(() -> new ServiceException("未查询到下一时间段的计费策略明细")); - if(Objects.nonNull(vip)) { - if (vip.getType() == 2) { - accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(vip.getDiscount()))); - accountingStrategyDetailVO.setDiscount(vip.getDiscount().divide(new BigDecimal(10))); - accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(vip.getDiscount()))); - } else { - if(Objects.isNull(accountingStrategy.getDiscount())){ - accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(new BigDecimal(1)))); - accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(new BigDecimal(1)))); - }else { - accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(accountingStrategy.getDiscount()))); - accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(accountingStrategy.getDiscount()))); - } - } - }else { - accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge())); - accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge())); - } - list = new ArrayList<>(); - list.add(accountingStrategyDetailVO); - list.add(accountingStrategyDetailNext); - return list; } - return new ArrayList<>(); + + TAccountingStrategyDetailVO accountingStrategyDetailVO; + TAccountingStrategyDetailVO accountingStrategyDetailNext; + // 获取当前时间段的计费策略明细 + accountingStrategyDetailVO = list.stream().filter(detail -> DateUtils.string2LocalTime(detail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0 + && DateUtils.string2LocalTime(detail.getEndTime() + ("23:59:59".equals(detail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0) + .findFirst().orElseThrow(() -> new ServiceException("当前时间段未查询到计费策略明细")); + // 获取后一次的计费策略明细 + accountingStrategyDetailVO.setEndTime("23:59:59".equals(accountingStrategyDetailVO.getEndTime())? "00:00":accountingStrategyDetailVO.getEndTime()); + accountingStrategyDetailNext = list.stream().filter(detail -> detail.getStartTime().compareTo(accountingStrategyDetailVO.getEndTime()) == 0) + .findFirst().orElseThrow(() -> new ServiceException("未查询到下一时间段的计费策略明细")); + if(Objects.nonNull(vip)) { + if (vip.getType() == 2) { + accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(vip.getDiscount()))); + accountingStrategyDetailVO.setDiscount(vip.getDiscount().divide(new BigDecimal(10))); + accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(vip.getDiscount()))); + } else { + if(Objects.isNull(accountingStrategy.getDiscount())){ + accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(new BigDecimal(1)))); + accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(new BigDecimal(1)))); + }else { + accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(accountingStrategy.getDiscount()))); + accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(accountingStrategy.getDiscount()))); + } + } + }else { + accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge())); + accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge())); + } + list = new ArrayList<>(); + list.add(accountingStrategyDetailVO); + list.add(accountingStrategyDetailNext); + return list; } @Override @@ -246,40 +244,50 @@ Long userId = tokenService.getLoginUserApplet().getUserId(); // 根据id查询用户信息 TAppUser appUser = appUserClient.getUserById(userId).getData(); + TVip vip = null; if(Objects.nonNull(appUser)){ // 查询会员信息 - TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); - TAccountingStrategyDetailVO accountingStrategyDetailVO; - TAccountingStrategyDetailVO accountingStrategyDetailNext; - // 获取当前时间段的计费策略明细 - accountingStrategyDetailVO = list.stream().filter(detail -> DateUtils.string2LocalTime(detail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0 - && DateUtils.string2LocalTime(detail.getEndTime() + ("23:59:59".equals(detail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0) - .findFirst().orElseThrow(() -> new ServiceException("当前时间段未查询到计费策略明细")); - // 获取后一次的计费策略明细 - accountingStrategyDetailVO.setEndTime("23:59:59".equals(accountingStrategyDetailVO.getEndTime())? "00:00":accountingStrategyDetailVO.getEndTime()); - accountingStrategyDetailNext = list.stream().filter(detail -> detail.getStartTime().compareTo(accountingStrategyDetailVO.getEndTime()) == 0) - .findFirst().orElseThrow(() -> new ServiceException("未查询到下一时间段的计费策略明细")); - if(Objects.nonNull(vip)) { - if (vip.getType() == 2) { - accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(vip.getDiscount()))); - accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(vip.getDiscount()))); - } else { - BigDecimal discount = accountingStrategy.getDiscount(); - if(Objects.isNull(discount)){ - discount = BigDecimal.ONE; - } - accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(discount))); - accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(discount))); - } - }else { - accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge())); - accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge())); + GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail(); + getAppUserVipDetail.setAppUserId(userId); + getAppUserVipDetail.setVipId(appUser.getVipId()); + R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail); + TAppUserVipDetail data1 = appUserVipDetail.getData(); + + if(Objects.nonNull(data1)){ + String vipJson = data1.getVipJson(); + vip = JSON.parseObject(vipJson, TVip.class); } - list = new ArrayList<>(); - list.add(accountingStrategyDetailVO); - list.add(accountingStrategyDetailNext); - return list; } - return new ArrayList<>(); + + TAccountingStrategyDetailVO accountingStrategyDetailVO; + TAccountingStrategyDetailVO accountingStrategyDetailNext; + // 获取当前时间段的计费策略明细 + accountingStrategyDetailVO = list.stream().filter(detail -> DateUtils.string2LocalTime(detail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0 + && DateUtils.string2LocalTime(detail.getEndTime() + ("23:59:59".equals(detail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0) + .findFirst().orElseThrow(() -> new ServiceException("当前时间段未查询到计费策略明细")); + // 获取后一次的计费策略明细 + accountingStrategyDetailVO.setEndTime("23:59:59".equals(accountingStrategyDetailVO.getEndTime())? "00:00":accountingStrategyDetailVO.getEndTime()); + accountingStrategyDetailNext = list.stream().filter(detail -> detail.getStartTime().compareTo(accountingStrategyDetailVO.getEndTime()) == 0) + .findFirst().orElseThrow(() -> new ServiceException("未查询到下一时间段的计费策略明细")); + if(Objects.nonNull(vip)) { + if (vip.getType() == 2) { + accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(vip.getDiscount()))); + accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(vip.getDiscount()))); + } else { + BigDecimal discount = accountingStrategy.getDiscount(); + if(Objects.isNull(discount)){ + discount = BigDecimal.ONE; + } + accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(discount))); + accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(discount))); + } + }else { + accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge())); + accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge())); + } + list = new ArrayList<>(); + list.add(accountingStrategyDetailVO); + list.add(accountingStrategyDetailNext); + return list; } } -- Gitblit v1.7.1