From 6dd8a66b8ec854fb6726dd9ac9686560e4e4cc1d Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 30 九月 2024 08:59:55 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java | 6 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 3 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java | 6 + ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java | 8 + ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java | 4 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TEvaluationTagMapper.xml | 4 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingGun.java | 4 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java | 47 +++++---- ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java | 3 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java | 3 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java | 7 + ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java | 70 ++++++++++++- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java | 5 + ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java | 12 ++ ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml | 38 +++++++ ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 4 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 13 +- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 2 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java | 7 + ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java | 9 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java | 6 + 23 files changed, 218 insertions(+), 47 deletions(-) diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingGun.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingGun.java index 2bef523..65a9109 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingGun.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingGun.java @@ -111,4 +111,8 @@ @TableField("remark") private String remark; + @ApiModelProperty(value = "已充电百分比") + @TableField(exist = false) + private Integer soc; + } diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java index 7eb33df..57a9cbb 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/query/SiteQuery.java @@ -26,4 +26,7 @@ @NotNull(message = "地址纬度不能为空") private String lat; + @ApiModelProperty(value = "城市code") + private String cityCode; + } diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java index e0807ae..4f0963f 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/SiteVO.java @@ -23,6 +23,10 @@ private Integer fastFreeCount; @ApiModelProperty(value = "慢充空闲数量") private Integer slowFreeCount; + @ApiModelProperty(value = "原始电价") + private BigDecimal electrovalenceOriginal; + @ApiModelProperty(value = "服务费") + private BigDecimal serviceCharge; @ApiModelProperty(value = "普通电价") private BigDecimal electrovalence; @ApiModelProperty(value = "会员电价") diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java index 2c026bc..dcddb54 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/vo/StrategyPriceVO.java @@ -23,4 +23,7 @@ @ApiModelProperty(value = "服务费折扣") private BigDecimal serviceFeeDiscount; + @ApiModelProperty(value = "折扣") + private BigDecimal discount; + } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java index 7bc1399..0e50de9 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/TEvaluationTagFallbackFactory.java @@ -30,7 +30,12 @@ public R<List<TEvaluationTagVO>> getTagList(Integer type) { return R.fail("获取标签列表:" + throwable.getMessage()); } - + + @Override + public R<List<TEvaluationTagVO>> getList() { + return R.fail("获取标签列表失败:" + throwable.getMessage()); + } + @Override public R<List<TEvaluationTag>> getListByIds(List<Integer> tagIds) { return R.fail("根据id集合获取数据失败:" + throwable.getMessage()); diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java index 8fe1f2c..7b18ebf 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TEvaluationTagClient.java @@ -27,7 +27,13 @@ */ @PostMapping("/t-evaluation-tag/getTagList") R<List<TEvaluationTagVO>> getTagList(Integer type); - + /** + * 获取标签列表 + * @return + */ + @PostMapping("/t-evaluation-tag/getList") + R<List<TEvaluationTagVO>> getList(); + /** * 根据id集合获取数据 diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 7dbd9ba..c440e24 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -160,6 +160,7 @@ select user_id AS userId, nick_name AS nickName, + user_name AS userName, create_time AS createTime, remark AS remark from sys_user @@ -168,6 +169,7 @@ AND nick_name LIKE concat('%',#{query.nickName},'%') </if> AND del_flag = '0' + AND roleType = 1 </where> ORDER BY create_time DESC </select> diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java index 56842b3..7ff943a 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java @@ -39,10 +39,7 @@ import java.math.BigDecimal; import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -209,8 +206,12 @@ @ApiOperation(value = "优惠卷可用数量", tags = {"小程序-站点管理-站点详情"}) @GetMapping(value = "/couponCount") public R<Long> couponCount() { - LocalDateTime now = LocalDateTime.now(); - return R.ok(tAppCouponService.lambdaQuery().le(TAppCoupon::getStartTime, now).ge(TAppCoupon::getEndTime, now).eq(TAppCoupon::getStatus, 1).count()); + Long userId = tokenService.getLoginUserApplet().getUserId(); + Long count = tAppCouponService.lambdaQuery().eq(TAppCoupon::getAppUserId, userId).ge(TAppCoupon::getEndTime, LocalDateTime.now()).eq(TAppCoupon::getStatus, 1).count(); + if(Objects.isNull(count)){ + count = 0L; + } + return R.ok(count); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java index bc7e0de..48c8673 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java @@ -279,8 +279,8 @@ siteDetailVO.setPartnerName(partner.getName()); } // 计算距离 - Map<String, Double> distance = GeodesyUtil.getDistance(query.getLat() + "," + query.getLon(), siteDetailVO.getLat() + "," + siteDetailVO.getLon()); - siteDetailVO.setDistance(distance.get("WGS84")); +// Map<String, Double> distance = GeodesyUtil.getDistance(query.getLat() + "," + query.getLon(), siteDetailVO.getLat() + "," + siteDetailVO.getLon()); +// siteDetailVO.setDistance(distance.get("WGS84")); // 查询绑定车牌提示文案 TParkingLot parkingLot = parkingLotService.getOne(Wrappers.lambdaQuery(TParkingLot.class) .eq(TParkingLot::getSiteId, query.getSiteId())); diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java index b87e9de..d7272a4 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java @@ -75,6 +75,15 @@ } /** + * 通过站点id查询当前时间段计费策略展示 + */ + @ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "通过枪id查询当前时间段计费策略展示") + @GetMapping(value = "/queryStrategyByGunIdAndTime") + public AjaxResult<List<TAccountingStrategyDetailVO>> queryStrategyByGunIdAndTime(@RequestParam("gunId") Integer gunId) { + return AjaxResult.ok(accountingStrategyDetailService.queryStrategyByGunIdAndTime(gunId)); + } + + /** * 价格说明金额返回,会员开通金额说明 */ @ApiOperation(tags = {"小程序-站点管理-站点详情"},value = "价格说明金额返回,会员开通金额说明") diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java index 835a46c..e644acd 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TAccountingStrategyDetailService.java @@ -52,4 +52,10 @@ */ Boolean isStrategyPriceConsistent(List<TAccountingStrategyDetail> accountingStrategyDetails); + /** + * 通过枪id查询当前时间段计费策略展示 + * @param gunId + * @return + */ + List<TAccountingStrategyDetailVO> queryStrategyByGunIdAndTime(Integer gunId); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java index c748aee..1da4d02 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java @@ -286,7 +286,7 @@ TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); if(Objects.nonNull(vip) && vip.getType() == 2){ list.forEach(item -> { - item.setVipElectrovalence(vip.getDiscount().multiply(item.getElectrovalence())); + item.setVipElectrovalence(vip.getDiscount().multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); }); } } 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 7d4fd08..8616e00 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 @@ -7,12 +7,14 @@ import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TAccountingStrategy; import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail; +import com.ruoyi.chargingPile.api.model.TChargingGun; import com.ruoyi.chargingPile.api.vo.StrategyPriceVO; import com.ruoyi.chargingPile.api.vo.TAccountingStrategyDetailVO; import com.ruoyi.chargingPile.mapper.TAccountingStrategyDetailMapper; import com.ruoyi.chargingPile.mapper.TAccountingStrategyMapper; import com.ruoyi.chargingPile.service.ISiteService; import com.ruoyi.chargingPile.service.TAccountingStrategyDetailService; +import com.ruoyi.chargingPile.service.TChargingGunService; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.security.service.TokenService; @@ -46,6 +48,8 @@ private TokenService tokenService; @Autowired private ISiteService siteService; + @Autowired + private TChargingGunService chargingGunService; @Autowired private AppUserClient appUserClient; @Override @@ -81,11 +85,11 @@ .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())); + accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge().multiply(vip.getDiscount()))); + accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge().multiply(vip.getDiscount()))); } else { - accountingStrategyDetailVO.setTotalPrice(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge()).multiply(accountingStrategy.getDiscount())); - accountingStrategyDetailNext.setTotalPrice(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge()).multiply(accountingStrategy.getDiscount())); + 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())); @@ -115,17 +119,21 @@ TAccountingStrategyDetailVO 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("当前时间段未查询到计费策略明细")); - strategyPriceVO.setDiscountAmount(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge()) +// strategyPriceVO.setDiscountAmount(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge()) +// .subtract(accountingStrategyDetailVO.getServiceCharge().multiply(accountingStrategy.getDiscount())).setScale(2, BigDecimal.ROUND_HALF_UP)); + strategyPriceVO.setDiscountAmount(accountingStrategyDetailVO.getServiceCharge() .subtract(accountingStrategyDetailVO.getServiceCharge().multiply(accountingStrategy.getDiscount())).setScale(2, BigDecimal.ROUND_HALF_UP)); + // 查询最高折扣的会员 + TVip monthlyCardDiscount = vipClient.getVipInfoByType(3).getData(); + strategyPriceVO.setServiceFeeDiscount(monthlyCardDiscount.getMonthlyCardDiscount()); // 查询最高抵扣的会员 TVip maximumDeduction = vipClient.getVipInfoByType(1).getData(); strategyPriceVO.setMaxDiscountAmount(maximumDeduction.getMaximumDeduction()); // 查询最低起步价会员 TVip monthlyCard = vipClient.getVipInfoByType(2).getData(); strategyPriceVO.setVipStartPrice(monthlyCard.getMonthlyCard()); - // 查询最高折扣的会员 - TVip monthlyCardDiscount = vipClient.getVipInfoByType(3).getData(); - strategyPriceVO.setServiceFeeDiscount(monthlyCardDiscount.getMonthlyCardDiscount()); + // 模板折扣 + strategyPriceVO.setDiscount(accountingStrategy.getDiscount()); return strategyPriceVO; } @@ -169,4 +177,50 @@ } return true; // 所有相同阶段的服务费一致 } + + @Override + public List<TAccountingStrategyDetailVO> queryStrategyByGunIdAndTime(Integer gunId) { + TChargingGun chargingGun = chargingGunService.getById(gunId); + TAccountingStrategy accountingStrategy = accountingStrategyMapper.selectById(chargingGun.getAccountingStrategyId()); + if(Objects.isNull(accountingStrategy)){ + throw new ServiceException("未查询到计费策略"); + } + List<TAccountingStrategyDetailVO> list = this.queryAccountingStrategyDetailByStrategyId(accountingStrategy.getId()); + list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59")); + // 获取当前登录用户id + Long userId = tokenService.getLoginUserApplet().getUserId(); + // 根据id查询用户信息 + TAppUser appUser = appUserClient.getUserById(userId).getData(); + 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 { + 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<>(); + } } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java index 9536258..7219215 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java @@ -264,7 +264,17 @@ List<TChargingGun> chargingGuns = chargingGunService.list(wrapper); // 查询充电枪信息 chargingPileVOS.forEach(item -> { - item.setChargingGunList(chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(item.getId())).collect(Collectors.toList())); + List<TChargingGun> chargingGunList = chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(item.getId())).collect(Collectors.toList()); + for (TChargingGun chargingGun : chargingGunList) { + if(chargingGun.getStatus().equals(4)){ + // TODO 查询正在充电的单子的实时记录 + chargingGun.setSoc(100); + } + if(chargingGun.getStatus().equals(5)){ + chargingGun.setSoc(100); + } + } + item.setChargingGunList(chargingGunList); }); return chargingPileVOS; } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml index 237ea5f..2ff7b6e 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml @@ -109,7 +109,7 @@ ts.id, ts.partner_id, ts.code, ts.`name`, ts.site_type, ts.business_category, ts.status, ts.construction_site, ts.img_url, ts.lon, ts.lat, ts.address, ts.country_code, ts.phone,ts.guide, ts.service_description, ts.vehicle_description, ts.parking_space, ts.rate_description, ts.space_charge_explain, ts.accounting_strategy_id,ts.del_flag,tcg.fastCount, - tcg.slowCount,tcg.superCount,tasd.electrovalence,tasd.vipElectrovalence,tcg.superFreeCount,tcg.fastFreeCount,tcg.slowFreeCount, + tcg.slowCount,tcg.superCount,tasd.electrovalence,tasd.vipElectrovalence,tasd.serviceCharge,tasd.electrovalenceOriginal,tcg.superFreeCount,tcg.fastFreeCount,tcg.slowFreeCount, ROUND( 6378.138 * 2 * ASIN( SQRT( @@ -149,8 +149,10 @@ left join ( select a.accounting_strategy_id, + a.service_charge AS serviceCharge, + a.electrovalence AS electrovalenceOriginal, (a.electrovalence+a.service_charge) AS electrovalence, - ((a.electrovalence+a.service_charge)*b.discount) AS vipElectrovalence + (a.electrovalence + (a.service_charge*b.discount)) AS vipElectrovalence from t_accounting_strategy_detail a left join @@ -160,6 +162,9 @@ <where> <if test="null != query.name and '' != query.name"> and ts.`name` like CONCAT('%', #{query.name}, '%') + </if> + <if test="null != query.cityCode and '' != query.cityCode"> + and ts.cityCode = #{query.cityCode} </if> AND ts.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} AND ts.status = ${@com.ruoyi.common.core.enums.status.SiteStatusEnum@NORMAL_USE.getCode()} @@ -180,7 +185,31 @@ </if> </select> <select id="getDetailById" resultType="com.ruoyi.chargingPile.api.vo.SiteDetailVO"> - SELECT <include refid="Base_Column_List"></include> + SELECT id, partner_id, code, `name`, site_type, business_category, status, construction_site, img_url, province, province_code, + city, city_code, districts, districts_code, lon, lat, address, country_code, phone, service_phone, guide, start_service_time, + end_service_time, service_description, vehicle_description, parking_space, rate_description, space_charge_explain, + accounting_strategy_id, establishment_time, sort, remark, create_time, del_flag, mark, + ROUND( + 6378.138 * 2 * ASIN( + SQRT( + POW( + SIN( + ( + #{query.lat} * PI() / 180 - ts.lat * PI() / 180 + ) / 2 + ), + 2 + ) + COS(#{query.lat} * PI() / 180) * COS(ts.lat * PI() / 180) * POW( + SIN( + ( + #{query.lon} * PI() / 180 - ts.lon * PI() / 180 + ) / 2 + ), + 2 + ) + ) + ) * 1000 + ) AS distance FROM t_site WHERE id = #{siteId} AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </select> <select id="getSiteListParkLot" resultType="com.ruoyi.chargingPile.api.model.Site"> @@ -266,6 +295,9 @@ <if test="null != query.name and '' != query.name"> and ts.`name` like CONCAT('%', #{query.name}, '%') </if> + <if test="null != query.cityCode and '' != query.cityCode"> + and ts.cityCode = #{query.cityCode} + </if> AND ts.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} AND ts.status = ${@com.ruoyi.common.core.enums.status.SiteStatusEnum@NORMAL_USE.getCode()} </where> diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index 7fabc18..e496463 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -813,6 +813,9 @@ throw new RuntimeException(failure_cause); } + // 将枪状态重置为空闲 + chargingGun.setStatus(2); + chargingGunClient.updateChargingGunById(chargingGun); //计算费用,处理退款 endCharge(chargingOrder); break; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java index b48a88e..cd42e4f 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderAppealServiceImpl.java @@ -18,6 +18,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; @@ -48,29 +49,31 @@ PageInfo<TOrderAppealVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); List<TOrderAppealVO> list = this.baseMapper.pageList(query,pageInfo); List<Long> orderIds = list.stream().map(TOrderAppealVO::getOrderId).collect(Collectors.toList()); - // 查询当前页的订单 - List<TChargingOrder> chargingOrders = chargingOrderMapper.selectList(Wrappers.lambdaQuery(TChargingOrder.class) - .in(TChargingOrder::getId, orderIds)); - List<TShoppingOrder> shoppingOrders = shoppingOrderMapper.selectList(Wrappers.lambdaQuery(TShoppingOrder.class) - .in(TShoppingOrder::getId, orderIds)); - list.forEach(item -> { - if (item.getOrderType() == 1) { - TChargingOrder tChargingOrder = chargingOrders.stream().filter(chargingOrder -> chargingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null); - if(Objects.nonNull(tChargingOrder)){ - item.setChargingOrder(tChargingOrder); - SiteNameVO siteNameVO = chargingGunClient.getAllInfoById(tChargingOrder.getChargingGunId()).getData(); - item.setGunName(siteNameVO.getGunName()); - item.setGunNumber(siteNameVO.getGunNumber()); - item.setPileName(siteNameVO.getPileName()); - item.setPileNumber(siteNameVO.getPileNumber()); - item.setSiteName(siteNameVO.getSiteName()); - item.setEndMode(tChargingOrder.getEndMode()); + if(!CollectionUtils.isEmpty(orderIds)){ + // 查询当前页的订单 + List<TChargingOrder> chargingOrders = chargingOrderMapper.selectList(Wrappers.lambdaQuery(TChargingOrder.class) + .in(TChargingOrder::getId, orderIds)); + List<TShoppingOrder> shoppingOrders = shoppingOrderMapper.selectList(Wrappers.lambdaQuery(TShoppingOrder.class) + .in(TShoppingOrder::getId, orderIds)); + list.forEach(item -> { + if (item.getOrderType() == 1) { + TChargingOrder tChargingOrder = chargingOrders.stream().filter(chargingOrder -> chargingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null); + if(Objects.nonNull(tChargingOrder)){ + item.setChargingOrder(tChargingOrder); + SiteNameVO siteNameVO = chargingGunClient.getAllInfoById(tChargingOrder.getChargingGunId()).getData(); + item.setGunName(siteNameVO.getGunName()); + item.setGunNumber(siteNameVO.getGunNumber()); + item.setPileName(siteNameVO.getPileName()); + item.setPileNumber(siteNameVO.getPileNumber()); + item.setSiteName(siteNameVO.getSiteName()); + item.setEndMode(tChargingOrder.getEndMode()); + } + }else if (item.getOrderType() == 2) { + TShoppingOrder tShoppingOrder = shoppingOrders.stream().filter(shoppingOrder -> shoppingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null); + setGoodsInfo(item,tShoppingOrder); } - }else if (item.getOrderType() == 2) { - TShoppingOrder tShoppingOrder = shoppingOrders.stream().filter(shoppingOrder -> shoppingOrder.getId().equals(item.getOrderId())).findFirst().orElse(null); - setGoodsInfo(item,tShoppingOrder); - } - }); + }); + } list.forEach(e->e.setUid(e.getId().toString())); pageInfo.setRecords(list); return pageInfo; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java index 7c04428..221c46f 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java @@ -115,7 +115,7 @@ @Override public List<TEvaluationTagVO> getTagCount() { // 查询标签列表 - R<List<TEvaluationTagVO>> r = evaluationTagClient.getTagList(null); + R<List<TEvaluationTagVO>> r = evaluationTagClient.getList(); List<TEvaluationTagVO> tagList = r.getData(); List<Integer> tagIds = tagList.stream().map(TEvaluationTagVO::getId).collect(Collectors.toList()); // 统计标签使用数量 diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java index 7082fe9..2d7e91c 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEvaluationTagController.java @@ -43,7 +43,11 @@ public R<List<TEvaluationTagVO>> getTagList(@RequestParam("type") Integer type) { return R.ok(evaluationTagService.getTagList(type)); } - + @GetMapping("/getList") + public R<List<TEvaluationTagVO>> getList() { + return R.ok(evaluationTagService.getList()); + } + @ResponseBody diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java index 5a71975..a18d471 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TEvaluationTagMapper.java @@ -32,4 +32,11 @@ * @return */ List<TEvaluationTag> pageList(PageInfo<TEvaluationTag> pageInfo, @Param("name") String name); + + /** + * 获取列表数据 + * @return + */ + List<TEvaluationTagVO> getList(); + } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java index 0a1555d..52dbb63 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TEvaluationTagService.java @@ -32,4 +32,10 @@ * @return */ PageInfo<TEvaluationTag> pageList(String name, BasePage basePage); + /** + * 查询标签列表 + * @return + */ + List<TEvaluationTagVO> getList(); + } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java index 38bccd5..06cd8a2 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TEvaluationTagServiceImpl.java @@ -40,4 +40,9 @@ List<TEvaluationTag> list = this.baseMapper.pageList(pageInfo, name); return pageInfo.setRecords(list); } + + @Override + public List<TEvaluationTagVO> getList() { + return this.baseMapper.getList(); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TEvaluationTagMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TEvaluationTagMapper.xml index db0ab29..67410dd 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TEvaluationTagMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TEvaluationTagMapper.xml @@ -33,4 +33,8 @@ </if> order by create_time desc </select> + <select id="getList" resultType="com.ruoyi.other.api.vo.TEvaluationTagVO"> + select <include refid="Base_Column_List"></include> + from t_evaluation_tag where del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + </select> </mapper> -- Gitblit v1.7.1