From cb77d609fb5c03aa3fb3d693705b9a85c03e25ed Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 17 八月 2024 17:30:06 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java | 4 +- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 16 ++++++- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 31 +++++++++++++-- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java | 55 +++++++++++++++++++++------ 4 files changed, 83 insertions(+), 23 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java index 86d66b2..fcc2c05 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java @@ -187,9 +187,12 @@ @ApiOperation(value = "单位管理删除", tags = {"用户管理-单位管理"}) - @PostMapping(value = "/unit/delete/{id}") - public R add(@PathVariable Integer id) { - otherClient.unitDelete(id); + @DeleteMapping(value = "/unit/delete") + public R add(@RequestParam String ids) { + String[] split = ids.split(","); + for (String s : split) { + otherClient.unitDelete(Integer.valueOf(s)); + } return R.ok(); } @@ -502,5 +505,12 @@ appUserService.updateById(appUser); return R.ok(); } + + +// @ApiOperation(value = "签到", tags = {"小程序-个人中心-签到"}) +// @PostMapping(value = "/user/sign") +// public R sign() { +// +// } } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java index 4f5b66b..f8cfe72 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java @@ -35,7 +35,7 @@ private TokenService tokenService; @Override public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData) { - // 通过手机号查询用户,是否已存在手动导入用户 + // 通过手机号查询用户,是否已存在手动导入用户,包含支付宝用户 TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) .eq(TAppUser::getPhone, appletUserDecodeData.getPhoneNumber()) .isNull(TAppUser::getWxOpenid) @@ -62,7 +62,7 @@ @Override public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserUserinfoShareResponse userInfo) { - // 通过手机号查询用户,是否已存在手动导入用户 + // 通过手机号查询用户,是否已存在手动导入用户,包含微信用户 TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) .eq(TAppUser::getPhone, userInfo.getMobile()) .isNull(TAppUser::getAliOpenid) 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 0dd482f..6efbe5e 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 @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TChargingGun; @@ -20,9 +22,12 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.other.api.domain.TVip; import com.ruoyi.other.api.feignClient.RoleSiteClient; import com.ruoyi.other.api.feignClient.UserSiteClient; +import com.ruoyi.other.api.feignClient.VipClient; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import org.springframework.stereotype.Service; @@ -30,10 +35,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; /** * @author zhibing.pu @@ -59,7 +61,13 @@ @Resource private RoleSiteClient roleSiteClient; - + @Resource + private TokenService tokenService; + @Resource + private AppUserClient appUserClient; + @Resource + private VipClient vipClient; + /** @@ -217,8 +225,21 @@ @Override public PageInfo<SiteVO> pageList(SiteQuery query) { + // 获取当前登录用户id + Long userId = tokenService.getLoginUserApplet().getUserId(); + // 根据id查询用户信息 + TAppUser appUser = appUserClient.getUserById(userId).getData(); PageInfo<SiteVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); List<SiteVO> list = this.baseMapper.pageList(query,pageInfo); + if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){ + // 查询会员信息 + TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); + if(Objects.nonNull(vip) && vip.getType() == 2){ + list.forEach(item -> { + item.setVipElectrovalence(vip.getDiscount().multiply(item.getElectrovalence())); + }); + } + } pageInfo.setRecords(list); return pageInfo; } 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 8011eb8..ea793af 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 @@ -2,6 +2,8 @@ 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.model.TAppUser; import com.ruoyi.chargingPile.api.model.TAccountingStrategy; import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail; import com.ruoyi.chargingPile.api.vo.StrategyPriceVO; @@ -10,11 +12,13 @@ import com.ruoyi.chargingPile.mapper.TAccountingStrategyMapper; import com.ruoyi.chargingPile.service.TAccountingStrategyDetailService; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.security.service.TokenService; import com.ruoyi.other.api.domain.TVip; import com.ruoyi.other.api.feignClient.VipClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalTime; import java.util.ArrayList; @@ -36,7 +40,10 @@ private TAccountingStrategyMapper accountingStrategyMapper; @Autowired private VipClient vipClient; - + @Autowired + private TokenService tokenService; + @Autowired + private AppUserClient appUserClient; @Override public List<TAccountingStrategyDetailVO> queryAccountingStrategyDetailByStrategyId(Integer strategyId) { return this.baseMapper.queryAccountingStrategyDetailByStrategyId(strategyId); @@ -51,18 +58,40 @@ throw new ServiceException("未查询到计费策略"); } List<TAccountingStrategyDetailVO> list = this.queryAccountingStrategyDetailByStrategyId(accountingStrategy.getId()); - // 获取当前时间段的计费策略明细 - TAccountingStrategyDetailVO accountingStrategyDetailVO = list.stream().filter(detail -> detail.getStartTime().compareTo(LocalTime.now().toString()) <= 0 && detail.getEndTime().compareTo(LocalTime.now().toString()) >= 0) - .findFirst().orElseThrow(() -> new ServiceException("当前时间段未查询到计费策略明细")); - accountingStrategyDetailVO.setDiscount(accountingStrategy.getDiscount()); - // 获取后一次的计费策略明细 - TAccountingStrategyDetailVO accountingStrategyDetailNext = list.stream().filter(detail -> detail.getStartTime().compareTo(accountingStrategyDetailVO.getEndTime()) == 0) - .findFirst().orElseThrow(() -> new ServiceException("未查询到下一时间段的计费策略明细")); - accountingStrategyDetailNext.setDiscount(accountingStrategy.getDiscount()); - list = new ArrayList<>(); - list.add(accountingStrategyDetailVO); - list.add(accountingStrategyDetailNext); - return list; + // 获取当前登录用户id + Long userId = tokenService.getLoginUserApplet().getUserId(); + // 根据id查询用户信息 + TAppUser appUser = appUserClient.getUserById(userId).getData(); + if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){ + // 查询会员信息 + TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); + TAccountingStrategyDetailVO accountingStrategyDetailVO; + TAccountingStrategyDetailVO accountingStrategyDetailNext; + if(Objects.nonNull(vip) && vip.getType() == 2){ + // 获取当前时间段的计费策略明细 + accountingStrategyDetailVO = list.stream().filter(detail -> detail.getStartTime().compareTo(LocalTime.now().toString()) <= 0 && detail.getEndTime().compareTo(LocalTime.now().toString()) >= 0) + .findFirst().orElseThrow(() -> new ServiceException("当前时间段未查询到计费策略明细")); + accountingStrategyDetailVO.setDiscount(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge()).multiply(vip.getDiscount())); + // 获取后一次的计费策略明细 + accountingStrategyDetailNext = list.stream().filter(detail -> detail.getStartTime().compareTo(accountingStrategyDetailVO.getEndTime()) == 0) + .findFirst().orElseThrow(() -> new ServiceException("未查询到下一时间段的计费策略明细")); + accountingStrategyDetailNext.setDiscount(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge()).multiply(vip.getDiscount())); + }else { + // 获取当前时间段的计费策略明细 + accountingStrategyDetailVO = list.stream().filter(detail -> detail.getStartTime().compareTo(LocalTime.now().toString()) <= 0 && detail.getEndTime().compareTo(LocalTime.now().toString()) >= 0) + .findFirst().orElseThrow(() -> new ServiceException("当前时间段未查询到计费策略明细")); + accountingStrategyDetailVO.setDiscount(accountingStrategyDetailVO.getElectrovalence().add(accountingStrategyDetailVO.getServiceCharge()).multiply(accountingStrategy.getDiscount())); + // 获取后一次的计费策略明细 + accountingStrategyDetailNext = list.stream().filter(detail -> detail.getStartTime().compareTo(accountingStrategyDetailVO.getEndTime()) == 0) + .findFirst().orElseThrow(() -> new ServiceException("未查询到下一时间段的计费策略明细")); + accountingStrategyDetailNext.setDiscount(accountingStrategyDetailNext.getElectrovalence().add(accountingStrategyDetailNext.getServiceCharge()).multiply(accountingStrategy.getDiscount())); + } + list = new ArrayList<>(); + list.add(accountingStrategyDetailVO); + list.add(accountingStrategyDetailNext); + return list; + } + return new ArrayList<>(); } @Override -- Gitblit v1.7.1