ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/DeptDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package org.dromara.common.core.domain.dto; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serial; import java.io.Serializable; /** * é¨é¨ * * @author AprilWind */ @Data @NoArgsConstructor public class DeptDTO implements Serializable { @Serial private static final long serialVersionUID = 1L; /** * é¨é¨ID */ private Long deptId; /** * ç¶é¨é¨ID */ private Long parentId; /** * é¨é¨åç§° */ private String deptName; } ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/DeptService.java
@@ -1,5 +1,9 @@ package org.dromara.common.core.service; import org.dromara.common.core.domain.dto.DeptDTO; import java.util.List; /** * éç¨ é¨é¨æå¡ * @@ -15,4 +19,19 @@ */ String selectDeptNameByIds(String deptIds); /** * æ ¹æ®é¨é¨IDæ¥è¯¢é¨é¨è´è´£äºº * * @param deptId é¨é¨IDï¼ç¨äºæå®éè¦æ¥è¯¢çé¨é¨ * @return è¿å该é¨é¨çè´è´£äººID */ Long selectDeptLeaderById(Long deptId); /** * æ¥è¯¢é¨é¨ * * @return é¨é¨å表 */ List<DeptDTO> selectDeptsByList(); } ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/RoleService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package org.dromara.common.core.service; /** * éç¨ è§è²æå¡ * * @author AprilWind */ public interface RoleService { } ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/UserService.java
@@ -82,4 +82,13 @@ * @return ç¨æ· */ List<UserDTO> selectUsersByDeptIds(List<Long> deptIds); /** * éè¿å²ä½IDæ¥è¯¢ç¨æ· * * @param postIds å²ä½ids * @return ç¨æ· */ List<UserDTO> selectUsersByPostIds(List<Long> postIds); } ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/PageQuery.java
@@ -119,4 +119,9 @@ return (pageNum - 1) * pageSize; } public PageQuery(Integer pageSize, Integer pageNum) { this.pageSize = pageSize; this.pageNum = pageNum; } } ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java
@@ -89,6 +89,13 @@ } /** * è·åç¨æ·id */ public static String getUserIdStr() { return Convert.toStr(getExtra(USER_KEY)); } /** * è·åç¨æ·è´¦æ· */ public static String getUsername() { ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.dromara.common.mybatis.annotation.DataColumn; import org.dromara.common.mybatis.annotation.DataPermission; @@ -32,6 +33,17 @@ List<SysDeptVo> selectDeptList(@Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper); /** * å页æ¥è¯¢é¨é¨ç®¡çæ°æ® * * @param queryWrapper æ¥è¯¢æ¡ä»¶ * @return é¨é¨ä¿¡æ¯éå */ @DataPermission({ @DataColumn(key = "deptName", value = "dept_id"), }) Page<SysDeptVo> selectPageDeptList(@Param("page") Page<SysDeptVo> page, @Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper); /** * ç»è®¡æå®é¨é¨IDçé¨é¨æ°é * * @param deptId é¨é¨ID ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
@@ -1,5 +1,6 @@ package org.dromara.system.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.tree.Tree; @@ -10,6 +11,7 @@ import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.core.domain.dto.DeptDTO; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.service.DeptService; import org.dromara.common.core.utils.*; @@ -354,4 +356,29 @@ return baseMapper.deleteById(deptId); } /** * æ ¹æ®é¨é¨IDæ¥è¯¢é¨é¨è´è´£äºº * * @param deptId é¨é¨IDï¼ç¨äºæå®éè¦æ¥è¯¢çé¨é¨ * @return è¿å该é¨é¨çè´è´£äººID */ @Override public Long selectDeptLeaderById(Long deptId) { SysDeptVo vo = SpringUtils.getAopProxy(this).selectDeptById(deptId); return vo.getLeader(); } /** * æ¥è¯¢é¨é¨ * * @return é¨é¨å表 */ @Override public List<DeptDTO> selectDeptsByList() { List<SysDeptVo> list = baseMapper.selectDeptList(new LambdaQueryWrapper<SysDept>() .select(SysDept::getDeptId, SysDept::getDeptName, SysDept::getParentId) .eq(SysDept::getStatus, SystemConstants.NORMAL)); return BeanUtil.copyToList(list, DeptDTO.class); } } ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java
@@ -17,6 +17,7 @@ import org.dromara.common.core.constant.TenantConstants; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.service.RoleService; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; @@ -47,7 +48,7 @@ */ @RequiredArgsConstructor @Service public class SysRoleServiceImpl implements ISysRoleService { public class SysRoleServiceImpl implements ISysRoleService, RoleService { private final SysRoleMapper baseMapper; private final SysRoleMenuMapper roleMenuMapper; @@ -351,7 +352,7 @@ private int insertRoleMenu(SysRoleBo role) { int rows = 1; // æ°å¢ç¨æ·ä¸è§è²ç®¡ç List<SysRoleMenu> list = new ArrayList<SysRoleMenu>(); List<SysRoleMenu> list = new ArrayList<>(); for (Long menuId : role.getMenuIds()) { SysRoleMenu rm = new SysRoleMenu(); rm.setRoleId(role.getRoleId()); @@ -372,7 +373,7 @@ private int insertRoleDept(SysRoleBo role) { int rows = 1; // æ°å¢è§è²ä¸é¨é¨ï¼æ°æ®æéï¼ç®¡ç List<SysRoleDept> list = new ArrayList<SysRoleDept>(); List<SysRoleDept> list = new ArrayList<>(); for (Long deptId : role.getDeptIds()) { SysRoleDept rd = new SysRoleDept(); rd.setRoleId(role.getRoleId()); ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
@@ -696,4 +696,27 @@ .in(SysUser::getDeptId, deptIds)); return BeanUtil.copyToList(list, UserDTO.class); } /** * éè¿å²ä½IDæ¥è¯¢ç¨æ· * * @param postIds å²ä½ids * @return ç¨æ· */ @Override public List<UserDTO> selectUsersByPostIds(List<Long> postIds) { if (CollUtil.isEmpty(postIds)) { return List.of(); } // éè¿å²ä½IDè·åç¨æ·å²ä½ä¿¡æ¯ List<SysUserPost> userPosts = userPostMapper.selectList( new LambdaQueryWrapper<SysUserPost>().in(SysUserPost::getPostId, postIds)); // è·åç¨æ·IDå表 Set<Long> userIds = StreamUtils.toSet(userPosts, SysUserPost::getUserId); return selectListByIds(new ArrayList<>(userIds)); } } ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -18,6 +18,17 @@ from sys_dept ${ew.getCustomSqlSegment} </select> <select id="selectPageDeptList" resultMap="SysDeptResult"> select <if test="ew.getSqlSelect != null"> ${ew.getSqlSelect} </if> <if test="ew.getSqlSelect == null"> * </if> from sys_dept ${ew.getCustomSqlSegment} </select> <select id="countDeptById" resultType="Long"> select count(*) from sys_dept where del_flag = '0' and dept_id = #{deptId} </select>