From 50dfdaf4e3220e7c1f93a189879ea92bb8f46b4c Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期三, 25 六月 2025 17:58:48 +0800 Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into dev --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 46 insertions(+), 4 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 57d3f7e..2216d2a 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 @@ -1,9 +1,13 @@ package com.ruoyi.chargingPile.service.impl; +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.feignClient.AppUserVipDetailClient; import com.ruoyi.account.api.model.TAppUser; +import com.ruoyi.account.api.model.TAppUserVipDetail; +import com.ruoyi.account.api.vo.GetAppUserVipDetail; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TAccountingStrategy; import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail; @@ -15,6 +19,7 @@ import com.ruoyi.chargingPile.service.ISiteService; import com.ruoyi.chargingPile.service.TAccountingStrategyDetailService; import com.ruoyi.chargingPile.service.TChargingGunService; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.security.service.TokenService; @@ -52,8 +57,32 @@ private TChargingGunService chargingGunService; @Autowired private AppUserClient appUserClient; + @Resource + private AppUserVipDetailClient vipDetailClient; @Override public List<TAccountingStrategyDetailVO> queryAccountingStrategyDetailByStrategyId(Integer strategyId) { + List<TAccountingStrategyDetailVO> tAccountingStrategyDetailVOS = this.baseMapper.queryAccountingStrategyDetailByStrategyId(strategyId); + Long userId = tokenService.getLoginUserApplet().getUserId(); + TAppUser appUser = appUserClient.getUserById(userId).getData(); + for (TAccountingStrategyDetailVO tAccountingStrategyDetailVO : tAccountingStrategyDetailVOS) { + 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(); + TVip vip = JSON.parseObject(vipJson, TVip.class); + if(Objects.nonNull(vip) && vip.getType() == 2){ + tAccountingStrategyDetailVO.setDiscount(vip.getDiscount().divide(new BigDecimal(10))); + } + } + } + return tAccountingStrategyDetailVOS; + } + + @Override + public List<TAccountingStrategyDetailVO> queryMangementAccountingStrategyDetailByStrategyId(Integer strategyId) { return this.baseMapper.queryAccountingStrategyDetailByStrategyId(strategyId); } @@ -72,7 +101,19 @@ TAppUser appUser = appUserClient.getUserById(userId).getData(); if(Objects.nonNull(appUser)){ // 查询会员信息 - TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); +// 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; // 获取当前时间段的计费策略明细 @@ -86,6 +127,7 @@ 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())){ @@ -134,13 +176,13 @@ } // 查询最高折扣的会员 TVip monthlyCardDiscount = vipClient.getVipInfoByType(3).getData(); - strategyPriceVO.setServiceFeeDiscount(monthlyCardDiscount.getMonthlyCardDiscount()); + strategyPriceVO.setServiceFeeDiscount(null == monthlyCardDiscount ? new BigDecimal(10) : monthlyCardDiscount.getMonthlyCardDiscount()); // 查询最高优惠的会员 TVip maximumDeduction = vipClient.getVipInfoByType(1).getData(); - strategyPriceVO.setMaxDiscountAmount(maximumDeduction.getMaximumDeduction()); + strategyPriceVO.setMaxDiscountAmount(null == maximumDeduction ? new BigDecimal(10) : maximumDeduction.getMaximumDeduction()); // 查询最低起步价会员 TVip monthlyCard = vipClient.getVipInfoByType(2).getData(); - strategyPriceVO.setVipStartPrice(monthlyCard.getMonthlyCard()); + strategyPriceVO.setVipStartPrice(null == monthlyCard ? new BigDecimal(10) : monthlyCard.getMonthlyCard()); // 模板折扣 strategyPriceVO.setDiscount(accountingStrategy.getDiscount()); return strategyPriceVO; -- Gitblit v1.7.1