From fd35f223b7f40ee9ee4a9307384b54a96d7956a2 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期四, 31 十月 2024 09:35:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 36 insertions(+), 10 deletions(-) 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 8029ad5..627d205 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 @@ -18,12 +18,14 @@ import com.ruoyi.chargingPile.domain.SiteMenu; import com.ruoyi.chargingPile.mapper.SiteMapper; import com.ruoyi.chargingPile.service.*; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.ServletUtils; 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.integration.api.feignClient.IntegrationClient; import com.ruoyi.other.api.domain.TVip; import com.ruoyi.other.api.feignClient.RoleSiteClient; import com.ruoyi.other.api.feignClient.UserSiteClient; @@ -38,6 +40,7 @@ import org.springframework.util.CollectionUtils; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -75,6 +78,9 @@ private SysUserRoleClient sysUserRoleClient; @Resource private TParkingLotService parkingLotService; + + @Resource + private IntegrationClient integrationClient; @@ -83,6 +89,7 @@ * @param siteList * @return */ + @Override public PageInfo<GetSiteListDTO> getSiteList(GetSiteList siteList) { Set<Integer> ids = null; @@ -90,12 +97,15 @@ SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); Integer roleType = sysUser.getRoleType(); Integer objectId = sysUser.getObjectId(); + R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId()); //合作商 if(roleType == 2){ ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST); }else{ //非管理员需要根据角色和用户配置查询允许的站点数据 - if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + //改用roleId=1来判断 + if(admin.getData()!=1){ +// if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); if(data2.size() > 0){ @@ -129,12 +139,14 @@ SysUser sysUser = sysUserClient.getSysUser(userId).getData(); Integer roleType = sysUser.getRoleType(); Integer objectId = sysUser.getObjectId(); + R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId()); + //合作商 if(roleType == 2){ ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST); }else{ //非管理员需要根据角色和用户配置查询允许的站点数据 - if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + if(admin.getData()!=1){ List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); @@ -233,9 +245,9 @@ if(StringUtils.isEmpty(site.getAddress())){ return AjaxResult.error("详细地址不能为空"); } - if(StringUtils.isEmpty(site.getLon()) || StringUtils.isEmpty(site.getLat())){ - return AjaxResult.error("地图位置不能为空"); - } +// if(StringUtils.isEmpty(site.getLon()) || StringUtils.isEmpty(site.getLat())){ +// return AjaxResult.error("地图位置不能为空"); +// } if(StringUtils.isEmpty(site.getPhone())){ return AjaxResult.error("站点电话不能为空"); } @@ -288,7 +300,9 @@ TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); if(Objects.nonNull(vip) && vip.getType() == 2){ list.forEach(item -> { - item.setVipElectrovalence(vip.getDiscount().multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); + if(Objects.nonNull(vip.getDiscount())){ + item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); + } }); } } @@ -323,9 +337,15 @@ } // 查询所有的停车场的站点id List<TParkingLot> list = parkingLotService.list(); - List<Integer> siteIds = list.stream().map(TParkingLot::getSiteId).collect(Collectors.toList()); + List<Integer> siteIds = list.stream().map(TParkingLot::getSiteId).distinct().collect(Collectors.toList()); if(!CollectionUtils.isEmpty(ids) && !CollectionUtils.isEmpty(siteIds)){ - ids.addAll(siteIds); + Iterator<Integer> iterator = ids.iterator(); + while (iterator.hasNext()){ + Integer next = iterator.next(); + if(siteIds.contains(next)){ + iterator.remove(); + } + } } return this.baseMapper.getSiteListParkLot(ids); } @@ -370,7 +390,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().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); }); } } @@ -389,10 +409,16 @@ Site site = this.getById(id); site.setAccountingStrategyId(accountingStrategyId); this.updateById(site); - List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().in(TChargingGun::getChargingPileId, id).eq(TChargingGun::getDelFlag, 0)); + List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().in(TChargingGun::getSiteId, id).eq(TChargingGun::getDelFlag, 0)); for (TChargingGun tChargingGun : list) { tChargingGun.setAccountingStrategyId(accountingStrategyId); } chargingGunService.updateBatchById(list); + + //下发硬件数据 + List<TChargingPile> list1 = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, id).eq(TChargingPile::getDelFlag, 0).list(); + for (TChargingPile tChargingPile : list1) { + integrationClient.setupBillingModel1(tChargingPile.getCode()); + } } } -- Gitblit v1.7.1