From 1ebf83b7b8ae636f00d49406e4c9bbff2d73c34d Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 20 八月 2024 18:46:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 36 insertions(+), 23 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java index e89e9e0..14003b2 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java @@ -16,6 +16,8 @@ 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.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysRoleClient; @@ -54,6 +56,12 @@ @Resource private TChargingPileService chargingPileService; + + @Resource + private UserSiteClient userSiteClient; + + @Resource + private RoleSiteClient roleSiteClient; @@ -131,10 +139,7 @@ user.setRoleId(partner.getRoleId().longValue()); user.setRoleType(2); user.setObjectId(partner.getId()); - R r = sysUserClient.addSysUser(user); - if(200 != r.getCode()){ - throw new RuntimeException(r.getMsg()); - } + sysUserClient.addSysUser(user); return AjaxResult.success(); } @@ -157,10 +162,10 @@ if(StringUtils.isEmpty(partner.getPhoneOne())){ return AjaxResult.error("合作商电话1不能为空"); } - if(StringUtils.isEmpty(partner.getAccount())){ + if(null == partner.getId() && StringUtils.isEmpty(partner.getAccount())){ return AjaxResult.error("登录账号不能为空"); } - if(StringUtils.isEmpty(partner.getPassword())){ + if(null == partner.getId() && StringUtils.isEmpty(partner.getPassword())){ return AjaxResult.error("登录密码不能为空"); } return AjaxResult.success(); @@ -260,32 +265,32 @@ /** * 删除合作商 - * @param id 合作商id + * @param ids 合作商id */ @Override @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 - public AjaxResult delPartner(Integer id) { + public AjaxResult delPartner(List<Integer> ids) { //查询有无关联数据 //站点 - long count = siteService.count(new LambdaQueryWrapper<Site>().eq(Site::getPartnerId, id).eq(Site::getDelFlag, 0)); + long count = siteService.count(new LambdaQueryWrapper<Site>().in(Site::getPartnerId, Arrays.asList(ids)).eq(Site::getDelFlag, 0)); if(count > 0){ return AjaxResult.error("当前合作商有关联站点,删除失败!"); } //充电桩 - long count1 = chargingPileService.count(new LambdaQueryWrapper<TChargingPile>().eq(TChargingPile::getPartnerId, id).eq(TChargingPile::getDelFlag, 0)); + long count1 = chargingPileService.count(new LambdaQueryWrapper<TChargingPile>().eq(TChargingPile::getPartnerId, Arrays.asList(ids)).eq(TChargingPile::getDelFlag, 0)); if(count1 > 0){ return AjaxResult.error("当前合作商有关联充电桩,删除失败!"); } - - Partner partner = this.getById(id); - if(null == partner){ - return AjaxResult.error("删除失败"); + for (Integer id : ids) { + Partner partner = this.getById(id); + if(null == partner){ + return AjaxResult.error("删除失败"); + } + this.removeById(partner); + SysUser user = sysUserClient.queryUserByUserName(partner.getAccount()).getData(); + user.setDelFlag("2"); + sysUserClient.updateUser(user); } - partner.setDelFlag(true); - this.updateById(partner); - SysUser user = sysUserClient.queryUserByUserName(partner.getAccount()).getData(); - user.setDelFlag("2"); - sysUserClient.updateUser(user); return AjaxResult.success(); } @@ -391,16 +396,24 @@ * @return */ @Override - public List<Integer> authSite(Integer partnerId, SiteMenu siteMenu) { + public Set<Integer> authSite(Integer partnerId, SiteMenu siteMenu) { TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, siteMenu.getValue()).eq(TSiteMenu::getStatus, 0)); List<TPartnerSite> list = partnerSiteService.list(new LambdaQueryWrapper<TPartnerSite>() .eq(TPartnerSite::getPartnerId, partnerId) .eq(TPartnerSite::getSiteMenuId, one.getMenuId())); List<Integer> collect = list.stream().map(TPartnerSite::getSiteId).collect(Collectors.toList()); - if(collect.size() == 0){ - collect.add(-1); + //获取合作商用户关联的站点数据 + Partner partner = this.getById(partnerId); + SysUser sysUser = sysUserClient.queryUserByUserName(partner.getAccount()).getData(); + List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData(); + collect.addAll(data); + collect.addAll(data1); + Set<Integer> siteIds = new HashSet<>(collect); + if(siteIds.size() == 0){ + siteIds.add(-1); } - return collect; + return siteIds; } -- Gitblit v1.7.1