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/controller/SiteController.java | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) 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 348d4ff..22dc481 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 @@ -85,7 +85,7 @@ @Resource private RoleSiteClient roleSiteClient; @Resource - private ParkingLotClient parkingLotClient; + private SysUserRoleClient sysUserRoleClient; @Resource private TChargingPileService chargingPileService; @Resource @@ -343,15 +343,29 @@ @PostMapping("/map/getPercentByprovinceCode") @ApiOperation(value = "获取该充电站的利用率", tags = {"管理后台-数据分析-电站分析"}) public R getPercentByCityCode(@RequestBody ChargingPercentProvinceDto chargingPercentProvinceDto){ - - Long userid = tokenService.getLoginUser().getUserid(); - List<Integer> siteIds = new ArrayList<>(); - - List<GetSiteListDTO> data1 = siteClient.getSiteListByUserId(userid).getData(); - for (GetSiteListDTO datum : data1) { - siteIds.add(datum.getId()); + Set<Integer> ids = null; + //校验合作商权限 + 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{ + //非管理员需要根据角色和用户配置查询允许的站点数据 + //改用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){ + List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); + data.addAll(data1); + } + ids = new HashSet<>(data); + } } - chargingPercentProvinceDto.setSiteIds(siteIds); + chargingPercentProvinceDto.setSiteIds(ids); GetSiteList siteList = new GetSiteList(); @@ -367,7 +381,7 @@ if (chargingPercentProvinceDto.getDate1().equals(chargingPercentProvinceDto.getDate2())){ chargingPercentProvinceDto.setDate2(chargingPercentProvinceDto.getDate1().plusDays(1)); } - List<ChargingOrderGroup> data = chargingOrderClient.getBySiteIdAndTime(chargingPercentProvinceDto).getData(); + List<ChargingOrderGroup> data = chargingOrderClient.getBySiteIdAndTime(chargingPercentProvinceDto).getData(); // 计算利用率展示 for (ChargingOrderGroup datum : data) { List<TChargingPile> chargingPiles = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, datum.getSiteId()).list(); -- Gitblit v1.7.1