diff --git a/dxhy-admin/src/main/java/com/dxhy/admin/sys/dao/SysUserDao.java b/dxhy-admin/src/main/java/com/dxhy/admin/sys/dao/SysUserDao.java index f9852f31..d504a78c 100644 --- a/dxhy-admin/src/main/java/com/dxhy/admin/sys/dao/SysUserDao.java +++ b/dxhy-admin/src/main/java/com/dxhy/admin/sys/dao/SysUserDao.java @@ -89,11 +89,11 @@ public interface SysUserDao extends BaseMapper { /** * 根据公司编码获取税号 * - * @param id - * 公司id + * @param + * * @return 税号 */ - List getUserAuthList(@Param("deptId") String deptId); + List getUserAuthList(@Param("deptId") String deptId,@Param("deptIdList")List deptIdList); /** * 根据邮箱获取用户信息 diff --git a/dxhy-admin/src/main/java/com/dxhy/admin/sys/model/UserModel.java b/dxhy-admin/src/main/java/com/dxhy/admin/sys/model/UserModel.java index 0b5711da..929da353 100644 --- a/dxhy-admin/src/main/java/com/dxhy/admin/sys/model/UserModel.java +++ b/dxhy-admin/src/main/java/com/dxhy/admin/sys/model/UserModel.java @@ -2,6 +2,8 @@ package com.dxhy.admin.sys.model; import lombok.Data; +import java.util.List; + /** * @author jiaohongyang(焦红阳) * @date 2020-11-11 @@ -29,4 +31,6 @@ public class UserModel { private String deptId; private String dId; + + private List deptIdList; } diff --git a/dxhy-admin/src/main/java/com/dxhy/admin/sys/service/impl/SysUserServiceImpl.java b/dxhy-admin/src/main/java/com/dxhy/admin/sys/service/impl/SysUserServiceImpl.java index e10fb10d..2d94d7c2 100644 --- a/dxhy-admin/src/main/java/com/dxhy/admin/sys/service/impl/SysUserServiceImpl.java +++ b/dxhy-admin/src/main/java/com/dxhy/admin/sys/service/impl/SysUserServiceImpl.java @@ -354,55 +354,41 @@ public class SysUserServiceImpl extends ServiceImpl i @NotNull private List setUserModels(SysUserEntity userEntity, long userId) { - // user.setUserModels(this.getUserCompanyList(userEntity.getCompany())); + List deptEntities = sysUserOrgService.queryOrgCodes(userId); - List userModels = new ArrayList<>(); - for (SysDeptEntity entity : deptEntities){ - List models = this.getUserAuthList(String.valueOf(entity.getDeptId())); - for(UserModel model : models) { - if(userModels.stream().noneMatch(e -> model.getUserId().equals(e.getUserId()) && model.getDeptId().equals(e.getDeptId()))) { - userModels.add(model); - -// if(!model.getDeptId().equals(model.getDId())){ -// UserModel userModel = new UserModel(); -// userModel.setUserId(model.getUserId()); -// userModel.setLoginname(model.getLoginname()); -// userModel.setUsername(model.getUsername()); -// userModel.setDeptId(model.getDId()); -// userModels.add(userModel); -// } - } - } - //每个deptId手动增加一个admin - UserModel userModel = new UserModel(); - userModel.setUserId("10086"); - userModel.setLoginname("admin"); - userModel.setUsername("admin"); - userModel.setDeptId(String.valueOf(entity.getDeptId())); - userModels.add(userModel); - } - if(userModels.stream().noneMatch(e -> userEntity.getUserId().equals(e.getUserId()) && userEntity.getDeptId().equals(e.getDeptId()))) { - //当前登录用户手动增加一个admin + List deptIds = deptEntities.stream().map(SysDeptEntity::getDeptId).collect(Collectors.toList()); + + List models = this.getUserAuthList(String.valueOf(userId),deptIds); + + models.forEach(e->e.setDeptIdList(Arrays.asList(e.getDId().split(",")))); + + //手动添加Admin + List depts = new ArrayList<>(); + deptIds.forEach(e->depts.add(String.valueOf(e))); + if (models.stream().noneMatch(e -> "admin".equals(e.getUsername()))) { UserModel userModel = new UserModel(); - userModel.setUserId(String.valueOf(userEntity.getUserId())); - userModel.setLoginname("admin"); userModel.setUsername("admin"); - userModel.setDeptId(String.valueOf(userEntity.getDeptId())); - userModels.add(userModel); + userModel.setDeptIdList(depts); + models.add(userModel); + }else { + for (UserModel model : models) { + if ("admin".equals(model.getUsername())){ + model.setDeptIdList(depts); + } + } } - log.info("userModels={}",userModels); - return userModels; + log.info("models={}",models); + return models; } private List getUserCompanyList(String company) { return baseMapper.getUserCompanyList(company); } - private List getUserAuthList(String deptId) { - DynamicContextHolder.push(DbConstant.BASICS_READ); - return baseMapper.getUserAuthList(deptId); + private List getUserAuthList(String deptId,List deptIds) { + return baseMapper.getUserAuthList(deptId,deptIds); } private MenuModel setMetnuRedis(long userId) { diff --git a/dxhy-admin/src/main/resources/mapper/sys/SysUserDao.xml b/dxhy-admin/src/main/resources/mapper/sys/SysUserDao.xml index 81be0ce3..61e72e01 100644 --- a/dxhy-admin/src/main/resources/mapper/sys/SysUserDao.xml +++ b/dxhy-admin/src/main/resources/mapper/sys/SysUserDao.xml @@ -70,17 +70,18 @@