From cc6ef4d39b154077445fa1e4e84c1b0ca9674b60 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 12 十二月 2024 16:38:30 +0800 Subject: [PATCH] 修改合作商权限功能 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 69 insertions(+), 43 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 9db3def..802bacb 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 @@ -9,21 +9,16 @@ import com.ruoyi.account.api.model.TAppUserVipDetail; import com.ruoyi.account.api.vo.GetAppUserVipDetail; import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; -import com.ruoyi.chargingPile.api.model.Site; -import com.ruoyi.chargingPile.api.model.TChargingGun; -import com.ruoyi.chargingPile.api.model.TChargingPile; -import com.ruoyi.chargingPile.api.model.TParkingLot; +import com.ruoyi.chargingPile.api.model.*; import com.ruoyi.chargingPile.api.query.GetSiteList; import com.ruoyi.chargingPile.api.query.SiteDetailQuery; import com.ruoyi.chargingPile.api.query.SiteQuery; import com.ruoyi.chargingPile.api.vo.SiteDetailVO; import com.ruoyi.chargingPile.api.vo.SiteVO; -import com.ruoyi.chargingPile.api.vo.TAccountingStrategyVO; -import com.ruoyi.chargingPile.domain.SiteMenu; +import com.ruoyi.chargingPile.api.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; @@ -39,7 +34,6 @@ import com.ruoyi.system.api.feignClient.SysUserRoleClient; import com.ruoyi.system.api.model.SysUserRoleVo; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -88,12 +82,19 @@ @Resource private AppUserVipDetailClient vipDetailClient; + @Resource + private TAccountingStrategyDetailService accountingStrategyDetailService; + + @Resource + private TPartnerSiteService partnerSiteService; + /** * 获取站点管理列表数据 * @param siteList * @return */ + @Override public PageInfo<GetSiteListDTO> getSiteList(GetSiteList siteList) { Set<Integer> ids = null; @@ -101,12 +102,14 @@ 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){ List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); if(data2.size() > 0){ @@ -140,12 +143,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(); @@ -205,6 +210,16 @@ if(null != one && !one.getCode().equals(site.getCode())){ return AjaxResult.error("站点编号重复"); } + + Site site1 = this.getById(site.getId()); + if(!site1.getPartnerId().equals(site.getPartnerId())){ + List<TPartnerSite> list = partnerSiteService.list(new LambdaQueryWrapper<TPartnerSite>().eq(TPartnerSite::getPartnerId, site1.getPartnerId()).eq(TPartnerSite::getSiteId, site.getId())); + for (TPartnerSite partnerSite : list) { + partnerSite.setPartnerId(site.getPartnerId()); + partnerSiteService.updateById(partnerSite); + } + } + this.updateById(site); return AjaxResult.success(); } @@ -287,29 +302,32 @@ public PageInfo<SiteVO> pageList(SiteQuery query,Integer isLogin) { TAppUser appUser = null; // 获取当前登录用户id - Long userId = tokenService.getLoginUserApplet().getUserId(); + TAppUserVipDetail data1 = null; if(isLogin == 1){ + Long userId = tokenService.getLoginUserApplet().getUserId(); // 根据id查询用户信息 appUser = appUserClient.getUserById(userId).getData(); + GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail(); + getAppUserVipDetail.setAppUserId(userId); + getAppUserVipDetail.setVipId(appUser.getVipId()); + R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail); + data1 = appUserVipDetail.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(); - GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail(); - getAppUserVipDetail.setAppUserId(userId); - getAppUserVipDetail.setVipId(appUser.getVipId()); - R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail); - TAppUserVipDetail data1 = appUserVipDetail.getData(); - String vipJson = data1.getVipJson(); - TVip vip = JSON.parseObject(vipJson, TVip.class); - if(Objects.nonNull(vip) && vip.getType() == 2){ - list.forEach(item -> { - if(Objects.nonNull(vip.getDiscount())){ - item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); - } - }); + if(Objects.nonNull(data1)){ + String vipJson = data1.getVipJson(); + TVip vip = JSON.parseObject(vipJson, TVip.class); + if(Objects.nonNull(vip) && vip.getType() == 2){ + list.forEach(item -> { + if(Objects.nonNull(vip.getDiscount())){ + item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); + } + }); + } } } pageInfo.setRecords(list); @@ -380,31 +398,36 @@ } @Override - public List<SiteVO> getMapSiteList(SiteQuery query) { + public List<SiteVO> getMapSiteList(SiteQuery query,Integer isLogin) { if(StringUtils.isEmpty(query.getLon()) || StringUtils.isEmpty(query.getLat())){ return new ArrayList<>(); } - + TAppUser appUser = null; // 获取当前登录用户id - Long userId = tokenService.getLoginUserApplet().getUserId(); - // 根据id查询用户信息 - TAppUser appUser = appUserClient.getUserById(userId).getData(); - List<SiteVO> list = this.baseMapper.getMapSiteList(query); - if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){ - // 查询会员信息 -// TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); + TAppUserVipDetail data1 = null; + if(isLogin == 1){ + Long userId = tokenService.getLoginUserApplet().getUserId(); + // 根据id查询用户信息 + appUser = appUserClient.getUserById(userId).getData(); GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail(); getAppUserVipDetail.setAppUserId(userId); getAppUserVipDetail.setVipId(appUser.getVipId()); R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail); - TAppUserVipDetail data1 = appUserVipDetail.getData(); - String vipJson = data1.getVipJson(); - TVip vip = JSON.parseObject(vipJson, TVip.class); - if(Objects.nonNull(vip) && vip.getType() == 2){ - list.forEach(item -> { - item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); - }); + data1 = appUserVipDetail.getData(); + } + List<SiteVO> list = this.baseMapper.getMapSiteList(query); + if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){ + // 查询会员信息 +// TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); + if(Objects.nonNull(data1)){ + String vipJson = data1.getVipJson(); + TVip vip = JSON.parseObject(vipJson, TVip.class); + if(Objects.nonNull(vip) && vip.getType() == 2){ + list.forEach(item -> { + item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); + }); + } } } return list; @@ -424,14 +447,17 @@ this.updateById(site); List<TChargingGun> list = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().in(TChargingGun::getSiteId, id).eq(TChargingGun::getDelFlag, 0)); for (TChargingGun tChargingGun : list) { - tChargingGun.setAccountingStrategyId(accountingStrategyId); + TChargingGun tChargingGun1 = new TChargingGun(); + tChargingGun1.setId(tChargingGun.getId()); + tChargingGun1.setAccountingStrategyId(accountingStrategyId); + chargingGunService.updateById(tChargingGun1); } - chargingGunService.updateBatchById(list); //下发硬件数据 + List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailService.list(new LambdaQueryWrapper<TAccountingStrategyDetail>().eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategyId)); List<TChargingPile> list1 = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, id).eq(TChargingPile::getDelFlag, 0).list(); for (TChargingPile tChargingPile : list1) { - integrationClient.setupBillingModel1(tChargingPile.getCode()); + integrationClient.setupBillingModel1(tChargingPile.getCode(), JSON.toJSONString(accountingStrategyDetails)); } } } -- Gitblit v1.7.1