From ff859437dd9d18d9d7411bafc4c31038f940b9f2 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期五, 09 八月 2024 18:53:56 +0800 Subject: [PATCH] 添加管理员和非管理员的站点权限功能 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java index b97602d..06d2090 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java @@ -15,12 +15,17 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.other.api.feignClient.RoleSiteClient; +import com.ruoyi.other.api.feignClient.UserSiteClient; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * <p> @@ -38,13 +43,19 @@ @Resource private IPartnerService partnerService; + + @Resource + private UserSiteClient userSiteClient; + + @Resource + private RoleSiteClient roleSiteClient; @Override public PageInfo<TChargingGunVO> pageList(TChargingGunQuery query) { - List<Integer> siteIds = null; + Set<Integer> siteIds = null; //校验合作商权限 SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData(); Integer roleType = sysUser.getRoleType(); @@ -52,6 +63,14 @@ //合作商 if(roleType == 2){ siteIds = partnerService.authSite(objectId, SiteMenu.CHARGING_GUN); + }else{ + //非管理员需要根据角色和用户配置查询允许的站点数据 + if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData(); + data.addAll(data1); + siteIds = new HashSet<>(data); + } } PageInfo<TChargingGunVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); List<TChargingGunVO> list = this.baseMapper.pageList(query,pageInfo, siteIds); @@ -95,6 +114,10 @@ */ @Override public AjaxResult update(TChargingGunDTO dto) { + TChargingGun chargingGun = this.getById(dto.getId()); + if(Arrays.asList(3,4,5,6).contains(chargingGun.getStatus())){ + return AjaxResult.error("接口占用中,无法编辑!"); + } AjaxResult ajaxResult = addVerify(dto); if(ajaxResult.isError()){ return ajaxResult; -- Gitblit v1.7.1