From 490db2e9cc769bd0aa3571fad345c7a01bc01bdd Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期四, 22 八月 2024 09:36:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 95 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 76 insertions(+), 19 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 5bf158f..247bbe3 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -1,16 +1,28 @@ package com.ruoyi.system.service.impl; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; +import javax.annotation.Resource; import javax.validation.Validator; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.chargingPile.api.feignClient.SiteClient; +import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.other.api.feignClient.RoleSiteClient; +import com.ruoyi.other.api.feignClient.UserSiteClient; +import com.ruoyi.system.api.query.ChangeUserQuery; import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysUserPost; import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.query.GetSysUserList; import com.ruoyi.system.service.ISysConfigService; +import com.ruoyi.system.service.ISysRoleService; +import com.ruoyi.system.service.ISysUserRoleService; import com.ruoyi.system.service.ISysUserService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,26 +55,44 @@ { private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); - @Autowired + @Resource private SysUserMapper userMapper; - @Autowired + @Resource private SysRoleMapper roleMapper; - @Autowired + @Resource private SysPostMapper postMapper; - @Autowired + @Resource private SysUserRoleMapper userRoleMapper; - @Autowired + @Resource private SysUserPostMapper userPostMapper; - @Autowired + @Resource private ISysConfigService configService; - @Autowired + @Resource protected Validator validator; + + @Resource + private ISysUserRoleService sysUserRoleService; + + @Resource + private RoleSiteClient roleSiteClient; + + @Resource + private UserSiteClient userSiteClient; + + @Resource + private SiteClient siteClient; + + @Resource + private ISysRoleService sysRoleService; + + + /** * 根据条件分页查询用户列表 @@ -197,16 +227,6 @@ return UserConstants.UNIQUE; } - - @Override - public boolean checkAccountUnique(SysUser user) { - SysUser info = userMapper.checkAccountUnique(user.getAccount()); - if (StringUtils.isNotNull(info) ) - { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } /** * 校验email是否唯一 @@ -557,8 +577,38 @@ } @Override - public PageInfo<SysUser> getList(PageInfo<SysUser> pageInfo, String phonenumber) { - return this.baseMapper.getList(pageInfo,phonenumber); + public PageInfo<SysUser> getList(PageInfo<SysUser> pageInfo, GetSysUserList getSysUserList) { + List<SysUser> list = this.baseMapper.getList(pageInfo, getSysUserList); + for (SysUser sysUser : list) { + List<SysUserRole> list1 = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, sysUser.getUserId())); + List<Integer> data1 = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); + if(null == data1){ + data1 = new ArrayList<>(); + } + for (SysUserRole sysUserRole : list1) { + List<Integer> data = roleSiteClient.getSiteIds(sysUserRole.getRoleId()).getData(); + if (null == data){ + continue; + } + data1.addAll(data); + } + Set<Integer> siteIds = new HashSet<>(data1); + sysUser.setSiteIds(siteIds.stream().collect(Collectors.toList())); + List<Site> data = siteClient.getSiteByIds(siteIds.stream().collect(Collectors.toList())).getData(); + if(null != data){ + List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList()); + sysUser.setSiteNames(siteNames); + } + List<String> roleNames = new ArrayList<>(); + for (SysUserRole sysUserRole : list1) { + SysRole sysRole = sysRoleService.selectRoleById(sysUserRole.getRoleId()); + roleNames.add(sysRole.getRoleName()); + } + Long[] roleIds = new Long[]{}; + sysUser.setRoleIds(list1.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()).toArray(roleIds)); + sysUser.setRoleNames(roleNames); + } + return pageInfo.setRecords(list); } @Override @@ -576,4 +626,11 @@ this.baseMapper.deleteSysUser(userIds); } + @Override + public PageInfo<SysUser> getChangeUserList(ChangeUserQuery query) { + PageInfo<SysUser> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize()); + List<SysUser> list = this.baseMapper.getChangeUserList(pageInfo, query); + return pageInfo.setRecords(list); + } + } -- Gitblit v1.7.1