From 71d23d994445025d9eaf18c86bbdcf82f632bf83 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 16 六月 2025 09:49:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 38 insertions(+), 22 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 14003b2..f56c4b4 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 @@ -7,7 +7,7 @@ import com.ruoyi.chargingPile.api.model.*; import com.ruoyi.chargingPile.api.query.GetPartnerList; import com.ruoyi.chargingPile.api.query.SetPermissionConfiguration; -import com.ruoyi.chargingPile.domain.SiteMenu; +import com.ruoyi.chargingPile.api.domain.SiteMenu; import com.ruoyi.chargingPile.dto.ResetPassword; import com.ruoyi.chargingPile.mapper.PartnerMapper; import com.ruoyi.chargingPile.service.*; @@ -15,16 +15,16 @@ 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.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; import com.ruoyi.system.api.feignClient.SysUserClient; +import com.ruoyi.system.api.feignClient.SysUserRoleClient; import com.ruoyi.system.api.model.GetSysRoleByIds; +import com.ruoyi.system.api.model.SysUserRoleVo; import io.seata.spring.annotation.GlobalTransactional; -import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -62,6 +62,9 @@ @Resource private RoleSiteClient roleSiteClient; + + @Resource + private SysUserRoleClient userRoleClient; @@ -85,10 +88,10 @@ List<SysRole> data = r.getData(); for (PartnerListDTO partnerListDTO : list) { Integer roleId = partnerListDTO.getRoleId(); - if(null != roleId){ + if(null == roleId){ continue; } - SysRole sysRole = data.stream().filter(s -> roleId.equals(s.getRoleId())).findFirst().get(); + SysRole sysRole = data.stream().filter(s -> roleId.compareTo(s.getRoleId().intValue()) == 0).findFirst().get(); if(null != sysRole){ partnerListDTO.setRoleName(sysRole.getRoleName()); } @@ -125,8 +128,6 @@ if(null != one){ return AjaxResult.error("登录账号不能重复"); } - //添加新数据 - this.save(partner); //添加登录账户 SysUser user = new SysUser(); user.setPhonenumber(partner.getPhoneOne()); @@ -138,8 +139,15 @@ user.setDelFlag("0"); user.setRoleId(partner.getRoleId().longValue()); user.setRoleType(2); + R<Long> r = sysUserClient.addSysUser(user); + if(200 != r.getCode()){ + throw new RuntimeException(r.getMsg()); + } + //添加新数据 + this.save(partner); + user = sysUserClient.getSysUser(r.getData()).getData(); user.setObjectId(partner.getId()); - sysUserClient.addSysUser(user); + sysUserClient.updateUser(user); return AjaxResult.success(); } @@ -227,9 +235,6 @@ } Partner oldPartner = this.getById(partner.getId()); SysUser user = sysUserClient.queryUserByUserName(oldPartner.getAccount()).getData(); - - //修改数据 - this.updateById(partner); //修改登录账户 if(null == user){ user = new SysUser(); @@ -259,6 +264,9 @@ throw new RuntimeException(r.getMsg()); } } + + //修改数据 + this.updateById(partner); return AjaxResult.success(); } @@ -272,21 +280,21 @@ public AjaxResult delPartner(List<Integer> ids) { //查询有无关联数据 //站点 - long count = siteService.count(new LambdaQueryWrapper<Site>().in(Site::getPartnerId, Arrays.asList(ids)).eq(Site::getDelFlag, 0)); + long count = siteService.count(new LambdaQueryWrapper<Site>().in(Site::getPartnerId, ids).eq(Site::getDelFlag, 0)); if(count > 0){ - return AjaxResult.error("当前合作商有关联站点,删除失败!"); + return AjaxResult.error("该合作商已关联站点不可删除"); } //充电桩 - long count1 = chargingPileService.count(new LambdaQueryWrapper<TChargingPile>().eq(TChargingPile::getPartnerId, Arrays.asList(ids)).eq(TChargingPile::getDelFlag, 0)); + long count1 = chargingPileService.count(new LambdaQueryWrapper<TChargingPile>().in(TChargingPile::getPartnerId, ids).eq(TChargingPile::getDelFlag, 0)); if(count1 > 0){ - return AjaxResult.error("当前合作商有关联充电桩,删除失败!"); + return AjaxResult.error("该合作商已关联充电桩不可删除!"); } for (Integer id : ids) { Partner partner = this.getById(id); if(null == partner){ return AjaxResult.error("删除失败"); } - this.removeById(partner); + this.removeById(id); SysUser user = sysUserClient.queryUserByUserName(partner.getAccount()).getData(); user.setDelFlag("2"); sysUserClient.updateUser(user); @@ -326,9 +334,11 @@ @Override public GetPermissionConfigurationDTO getPermissionConfiguration(Integer siteId, Integer partnerId) { Partner partner = this.getById(partnerId); + if(null == partner){ + throw new RuntimeException("该站点合作商无效"); + } GetPermissionConfigurationDTO dto = new GetPermissionConfigurationDTO(); dto.setPermissionRemarks(partner.getPermissionRemarks()); - Map<String, Object> menu = new HashMap<>(); List<TPartnerSite> list = partnerSiteService.list(new LambdaQueryWrapper<TPartnerSite>() .eq(TPartnerSite::getPartnerId, partnerId) .eq(TPartnerSite::getSiteId, siteId)); @@ -337,7 +347,9 @@ .eq(TSiteMenu::getParentId, 0) .eq(TSiteMenu::getVisible, 0) .eq(TSiteMenu::getStatus, 0).orderByAsc(TSiteMenu::getOrderNum)); + List<Map<String, Object>> list1 = new ArrayList<>(); for (TSiteMenu tSiteMenu : tSiteMenus) { + Map<String, Object> menu = new HashMap<>(); menu.put("id", tSiteMenu.getMenuId()); menu.put("name", tSiteMenu.getMenuName()); menu.put("path", tSiteMenu.getPath()); @@ -347,18 +359,21 @@ .eq(TSiteMenu::getParentId, tSiteMenu.getMenuId()) .eq(TSiteMenu::getVisible, 0) .eq(TSiteMenu::getStatus, 0).orderByAsc(TSiteMenu::getOrderNum)); - Map<String, Object> child = new HashMap<>(); + List<Map<String, Object>> list2 = new ArrayList<>(); for (TSiteMenu siteMenu : tSiteMenus1) { + Map<String, Object> child = new HashMap<>(); child.put("id", siteMenu.getMenuId()); child.put("name", siteMenu.getMenuName()); child.put("path", siteMenu.getPath()); child.put("type", siteMenu.getMenuType()); child.put("selected", collect.contains(siteMenu.getMenuId())); + list2.add(child); } - menu.put("selected", child.keySet().size() > 0 ? true : false); - menu.put("child", child); + menu.put("selected", collect.contains(tSiteMenu.getMenuId())); + menu.put("child", list2); + list1.add(menu); } - dto.setMenu(menu); + dto.setMenu(list1); return dto; } @@ -406,7 +421,8 @@ 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(); + List<SysUserRoleVo> data2 = userRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); collect.addAll(data); collect.addAll(data1); Set<Integer> siteIds = new HashSet<>(collect); -- Gitblit v1.7.1