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 11d52ee9..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 @@ -86,6 +86,15 @@ public interface SysUserDao extends BaseMapper { */ List getUserCompanyList(@Param("company") String company); + /** + * 根据公司编码获取税号 + * + * @param + * + * @return 税号 + */ + 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 966c5051..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 @@ -22,4 +24,13 @@ public class UserModel { * 登录名 */ private String loginname; + + /** + * 登录名 + */ + 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 60caf504..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 @@ -8,6 +8,7 @@ import javax.annotation.Resource; import com.dxhy.common.util.StringHelper; import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; +import org.jetbrains.annotations.NotNull; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -339,7 +340,8 @@ public class SysUserServiceImpl extends ServiceImpl i user.setUserOrg(userOrgEntity); user.setUserBusiness(businessList); user.setCompanyCodes(companyEntitys); - user.setUserModels(this.getUserCompanyList(userEntity.getCompany())); + List userModels = setUserModels(userEntity, userId); + user.setUserModels(userModels); // 刷新菜单缓存处理 this.setMetnuRedis(userEntity.getUserId()); user.setEmailCodes(emailCodes); @@ -350,10 +352,45 @@ public class SysUserServiceImpl extends ServiceImpl i return user; } + @NotNull + private List setUserModels(SysUserEntity userEntity, long userId) { + + List deptEntities = sysUserOrgService.queryOrgCodes(userId); + + 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.setUsername("admin"); + userModel.setDeptIdList(depts); + models.add(userModel); + }else { + for (UserModel model : models) { + if ("admin".equals(model.getUsername())){ + model.setDeptIdList(depts); + } + } + } + + log.info("models={}",models); + return models; + } + private List getUserCompanyList(String company) { return baseMapper.getUserCompanyList(company); } + private List getUserAuthList(String deptId,List deptIds) { + return baseMapper.getUserAuthList(deptId,deptIds); + } + private MenuModel setMetnuRedis(long userId) { MenuModel menuModel = new MenuModel(); List userMenuList = sysMenuService.getUserMenuList(userId); diff --git a/dxhy-admin/src/main/resources/mapper/sys/SysUserDao.xml b/dxhy-admin/src/main/resources/mapper/sys/SysUserDao.xml index 77e94ee5..61e72e01 100644 --- a/dxhy-admin/src/main/resources/mapper/sys/SysUserDao.xml +++ b/dxhy-admin/src/main/resources/mapper/sys/SysUserDao.xml @@ -59,9 +59,29 @@ + +