system和auth 初步构建

This commit is contained in:
2025-09-28 17:32:37 +08:00
parent c22d5561cd
commit ef96570896
38 changed files with 4741 additions and 249 deletions

View File

@@ -0,0 +1,79 @@
package org.xyzh.api.system.dept;
import java.util.List;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.dept.TbSysDept;
/**
* @description DepartmentService.java文件描述 部门服务接口
* @filename DepartmentService.java
* @author yslg
* @copyright xyzh
* @ since 2025-09-28
*/
public interface DepartmentService {
/**
* @description 查询所有部门
* @return ResultDomain<TbSysDept> 部门列表
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysDept> getAllDepartments();
/**
* @description 根据ID查询部门
* @param deptId 部门ID
* @return ResultDomain<TbSysDept> 部门信息
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysDept> getDepartmentById(String deptId);
/**
* @description 根据父部门ID查询子部门
* @param parentId 父部门ID
* @return ResultDomain<TbSysDept> 子部门列表
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysDept> getDepartmentsByParentId(String parentId);
/**
* @description 创建部门
* @param department 部门信息
* @return ResultDomain<TbSysDept> 创建结果
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysDept> createDepartment(TbSysDept department);
/**
* @description 更新部门
* @param department 部门信息
* @return ResultDomain<TbSysDept> 更新结果
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysDept> updateDepartment(TbSysDept department);
/**
* @description 删除部门
* @param deptId 部门ID
* @return ResultDomain<TbSysDept> 删除结果
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysDept> deleteDepartment(String deptId);
/**
* @description 检查部门名称是否存在
* @param deptName 部门名称
* @param excludeId 排除的部门ID用于更新时排除自身
* @return ResultDomain<Boolean> 是否存在
* @author yslg
* @since 2025-09-28
*/
ResultDomain<Boolean> checkDepartmentNameExists(String deptName, String excludeId);
}

View File

@@ -2,6 +2,7 @@ package org.xyzh.api.system.menu;
import java.util.List;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.core.page.PageParam;
import org.xyzh.common.dto.menu.TbSysMenu;
@@ -15,97 +16,113 @@ import org.xyzh.common.dto.menu.TbSysMenu;
public interface MenuService {
/**
* @description 添加菜单
* @param menu 菜单对象
* @return void
* @description 获取所有菜单
* @return ResultDomain<TbSysMenu> 菜单列表
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void addMenu(TbSysMenu menu);
ResultDomain<TbSysMenu> getAllMenus();
/**
* @description 根据菜单ID查询菜单
* @param menuId 菜单ID
* @return ResultDomain<TbSysMenu> 菜单信息
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysMenu> getMenuById(String menuId);
/**
* @description 根据用户ID查询菜单列表
* @param userId 用户ID
* @return ResultDomain<TbSysMenu> 菜单列表
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysMenu> getMenusByUserId(String userId);
/**
* @description 根据角色ID查询菜单列表
* @param roleId 角色ID
* @return ResultDomain<TbSysMenu> 菜单列表
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysMenu> getMenusByRoleId(String roleId);
/**
* @description 根据父菜单ID查询子菜单
* @param parentId 父菜单ID
* @return ResultDomain<TbSysMenu> 子菜单列表
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysMenu> getMenusByParentId(String parentId);
/**
* @description 获取菜单树结构
* @return ResultDomain<TbSysMenu> 菜单树
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysMenu> getMenuTree();
/**
* @description 创建菜单
* @param menu 菜单对象
* @return ResultDomain<TbSysMenu> 创建结果
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysMenu> createMenu(TbSysMenu menu);
/**
* @description 更新菜单
* @param menu 菜单对象
* @return void
* @return ResultDomain<TbSysMenu> 更新结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void updateMenu(TbSysMenu menu);
ResultDomain<TbSysMenu> updateMenu(TbSysMenu menu);
/**
* @description 删除菜单
* @param menuID 菜单ID
* @param deep 是否深度删除(删除该菜单及其所有子菜单)
* @return void
* @param menuId 菜单ID
* @return ResultDomain<TbSysMenu> 删除结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void deleteMenu(String menuID, boolean deep);
ResultDomain<TbSysMenu> deleteMenu(String menuId);
/**
* @description 导入菜单
* @param menus 菜单列表
* @return void
* @description 检查菜单名称是否存在
* @param menuName 菜单名称
* @param excludeId 排除的菜单ID用于更新时排除自身
* @return ResultDomain<Boolean> 是否存在
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void importMenus(List<TbSysMenu> menus);
ResultDomain<Boolean> checkMenuNameExists(String menuName, String excludeId);
/**
* @description 导出菜单
* @param filter 菜单对象
* @return 菜单列表
* @description 修改菜单状态
* @param menuId 菜单ID
* @param status 新状态
* @return ResultDomain<TbSysMenu> 修改结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
List<TbSysMenu> exportMenus(TbSysMenu filter);
ResultDomain<TbSysMenu> changeMenuStatus(String menuId, Integer status);
/**
* @description 查找菜单
* @param menu 菜单对象
* @return 菜单对象
* @description 修改菜单可见性
* @param menuId 菜单ID
* @param visible 可见性
* @return ResultDomain<TbSysMenu> 修改结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
TbSysMenu find(TbSysMenu filter);
/**
* @description 分页查找菜单
* @param menu 菜单对象
* @param pageParam 分页参数
* @return 菜单列表
* @author yslg
* @since 2025-09-27
*/
List<TbSysMenu> findPageMenus(TbSysMenu menu, PageParam pageParam);
/**
* @description 根据菜单ID列表查找菜单
* @param menuIDs 菜单ID列表
* @return 菜单列表
* @author yslg
* @since 2025-09-27
*/
List<TbSysMenu> findByIDs(List<String> menuIDs);
/**
* @description 查找子菜单
* @param parentID 父菜单ID
* @return 子菜单列表
* @author yslg
* @since 2025-09-27
*/
List<TbSysMenu> findChildListByParentID(String parentID);
/**
* @description 查找所有菜单
* @return 菜单列表
* @author yslg
* @since 2025-09-27
*/
List<TbSysMenu> findAll();
List<TbSysMenu> permissionMenus(List<String> permissionIDList);
ResultDomain<TbSysMenu> changeMenuVisibility(String menuId, Boolean visible);
}

View File

@@ -4,6 +4,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Set;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.permission.TbSysPermission;
/**
@@ -13,105 +14,107 @@ import org.xyzh.common.dto.permission.TbSysPermission;
* @copyright xyzh
* @since 2025-09-26
*/
public interface PermissionService {
/**
* @description 添加权限
* @param permission 权限对象
* @return void
/**
* @description 获取所有权限
* @return ResultDomain<TbSysPermission> 权限列表
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void addPermission(TbSysPermission permission);
ResultDomain<TbSysPermission> getAllPermissions();
/**
/**
* @description 根据权限ID查询权限
* @param permissionId 权限ID
* @return ResultDomain<TbSysPermission> 权限信息
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysPermission> getPermissionById(String permissionId);
/**
* @description 根据权限编码查询权限
* @param permissionCode 权限编码
* @return ResultDomain<TbSysPermission> 权限信息
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysPermission> getPermissionByCode(String permissionCode);
/**
* @description 根据用户ID查询权限列表
* @param userId 用户ID
* @return ResultDomain<TbSysPermission> 权限列表
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysPermission> getPermissionsByUserId(String userId);
/**
* @description 根据角色ID查询权限列表
* @param roleId 角色ID
* @return ResultDomain<TbSysPermission> 权限列表
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysPermission> getPermissionsByRoleId(String roleId);
/**
* @description 创建权限
* @param permission 权限对象
* @return ResultDomain<TbSysPermission> 创建结果
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysPermission> createPermission(TbSysPermission permission);
/**
* @description 更新权限
* @param permission 权限对象
* @return void
* @return ResultDomain<TbSysPermission> 更新结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void updatePermission(TbSysPermission permission);
ResultDomain<TbSysPermission> updatePermission(TbSysPermission permission);
/**
/**
* @description 删除权限
* @param permissionID 权限ID
* @return void
* @param permissionId 权限ID
* @return ResultDomain<TbSysPermission> 删除结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void deletePermission(String permissionID);
/**
* @description 批量导入权限
* @param permissions 权限列表
* @return void
* @author yslg
* @since 2025-09-27
*/
void importPermissions(List<TbSysPermission> permissions);
/**
* @description 条件导出权限
* @param filter 权限对象
* @return 权限列表
* @author yslg
* @since 2025-09-27
*/
List<TbSysPermission> exportPermissions(TbSysPermission filter);
/**
* @description 权限ID查询
* @param permissionID 权限ID
* @return 权限对象
* @author yslg
* @since 2025-09-27
*/
TbSysPermission findByID(String permissionID);
/**
* @description 批量权限ID查询
* @param permissionIDs 权限ID列表
* @return 权限对象列表
* @author yslg
* @since 2025-09-27
*/
List<TbSysPermission> findByIDs(Collection<String> permissionIDs);
/**
* @description 根据用户ID查询用户权限集合
* @param userID 用户ID
* @return 权限集合
* @author yslg
* @since 2025-09-27
*/
Set<TbSysPermission> findUserPermissions(String userID);
ResultDomain<TbSysPermission> deletePermission(String permissionId);
/**
* @description 根据角色ID查询角色权限集合
* @param roleID 角色ID
* @return 权限集合
* @description 检查权限名称是否存在
* @param permissionName 权限名称
* @param excludeId 排除的权限ID用于更新时排除自身
* @return ResultDomain<Boolean> 是否存在
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
Set<TbSysPermission> findRolePermissions(String roleID);
ResultDomain<Boolean> checkPermissionNameExists(String permissionName, String excludeId);
/**
* @description 根据角色ID列表查询角色权限集合
* @param roleIDList 角色ID列表
* @return 权限集合
* @author yslg
* @since 2025-09-27
*/
Set<TbSysPermission> findRolesPermissions(List<String> roleIDList);
/**
* @description 判断用户是否拥有某个权限
* @param userID 用户ID
* @description 检查权限编码是否存在
* @param permissionCode 权限编码
* @return true-拥有false-不拥有
* @param excludeId 排除的权限ID用于更新时排除自身
* @return ResultDomain<Boolean> 是否存在
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
boolean hasPermission(String userID, String permissionCode);
ResultDomain<Boolean> checkPermissionCodeExists(String permissionCode, String excludeId);
/**
* @description 修改权限状态
* @param permissionId 权限ID
* @param status 新状态
* @return ResultDomain<TbSysPermission> 修改结果
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysPermission> changePermissionStatus(String permissionId, Integer status);
}

View File

@@ -1,7 +1,6 @@
package org.xyzh.api.system.role;
import java.util.Collection;
import java.util.List;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.role.TbSysRole;
@@ -15,74 +14,75 @@ import org.xyzh.common.dto.role.TbSysRole;
public interface RoleService {
/**
* @description 添加角色
* @param role 角色对象
* @return void
* @description 获取所有角色
* @return ResultDomain<TbSysRole> 角色列表
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void addRole(TbSysRole role);
ResultDomain<TbSysRole> getAllRoles();
/**
* @description 根据角色ID查询角色
* @param roleId 角色ID
* @return ResultDomain<TbSysRole> 角色信息
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysRole> getRoleById(String roleId);
/**
* @description 根据用户ID查询角色列表
* @param userId 用户ID
* @return ResultDomain<TbSysRole> 角色列表
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysRole> getRolesByUserId(String userId);
/**
* @description 创建角色
* @param role 角色对象
* @return ResultDomain<TbSysRole> 创建结果
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysRole> createRole(TbSysRole role);
/**
* @description 更新角色
* @param role 角色对象
* @return void
* @return ResultDomain<TbSysRole> 更新结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void updateRole(TbSysRole role);
ResultDomain<TbSysRole> updateRole(TbSysRole role);
/**
* @description 删除角色
* @param roleID 角色ID
* @return void
* @param roleId 角色ID
* @return ResultDomain<TbSysRole> 删除结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void deleteRole(String roleID);
ResultDomain<TbSysRole> deleteRole(String roleId);
/**
* @description 批量导入角色
* @param roles 角色列表
* @return void
* @description 检查角色名称是否存在
* @param roleName 角色名称
* @param excludeId 排除的角色ID用于更新时排除自身
* @return ResultDomain<Boolean> 是否存在
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void importRoles(List<TbSysRole> roles);
ResultDomain<Boolean> checkRoleNameExists(String roleName, String excludeId);
/**
* @description 条件导出角色
* @param filter 角色对象
* @return 角色列表
* @description 修改角色状态
* @param roleId 角色ID
* @param status 新状态
* @return ResultDomain<TbSysRole> 修改结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
List<TbSysRole> exportRoles(TbSysRole filter);
/**
* @description 通过主键查找
* @param roleID 角色ID
* @return 角色对象
* @author yslg
* @since 2025-09-27
*/
TbSysRole findByID(String roleID);
/**
* @description 批量通过主键查找
* @param roleIDs 角色ID集合
* @return 角色列表
* @author yslg
* @since 2025-09-27
*/
List<TbSysRole> findByIDs(Collection<String> roleIDs);
/**
* @description 根据用户ID查询用户角色列表
* @param userID 用户ID
* @return 角色列表
* @author yslg
* @since 2025-09-27
*/
List<TbSysRole> findUserRoleList(String userID);
ResultDomain<TbSysRole> changeRoleStatus(String roleId, Integer status);
}

View File

@@ -3,6 +3,7 @@ package org.xyzh.api.system.user;
import java.util.Collection;
import java.util.List;
import org.xyzh.common.core.domain.ResultDomain;
import org.xyzh.common.dto.user.TbSysUser;
/**
@@ -15,74 +16,115 @@ import org.xyzh.common.dto.user.TbSysUser;
public interface UserService {
/**
* @description 添加用户
* @param user 用户对象
* @return void
* @description 获取所有用户
* @return ResultDomain<TbSysUser> 用户列表
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void addUser(TbSysUser user);
ResultDomain<TbSysUser> getAllUsers();
/**
* @description 根据用户ID查询用户
* @param userId 用户ID
* @return ResultDomain<TbSysUser> 用户信息
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysUser> getUserById(String userId);
/**
* @description 根据用户名查询用户
* @param username 用户名
* @return ResultDomain<TbSysUser> 用户信息
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysUser> getUserByUsername(String username);
/**
* @description 根据过滤条件查询用户(支持多种查询条件组合)
* @param filter 过滤条件支持userID、username、email、phone等字段
* @return ResultDomain<TbSysUser> 用户信息
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysUser> getUserByFilter(TbSysUser filter);
/**
* @description 创建用户
* @param user 用户对象
* @return ResultDomain<TbSysUser> 创建结果
* @author yslg
* @since 2025-09-28
*/
ResultDomain<TbSysUser> createUser(TbSysUser user);
/**
* @description 更新用户
* @param user 用户对象
* @return void
* @return ResultDomain<TbSysUser> 更新结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void updateUser(TbSysUser user);
ResultDomain<TbSysUser> updateUser(TbSysUser user);
/**
* @description 删除用户(逻辑或物理取决于实现
* @description 删除用户(逻辑删除
* @param userId 用户ID
* @return void
* @return ResultDomain<TbSysUser> 删除结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void deleteUser(String userID);
ResultDomain<TbSysUser> deleteUser(String userId);
/**
* @description 批量导入用户
* @param users 用户列表
* @return void
* @description 检查用户名是否存在
* @param username 用户
* @param excludeId 排除的用户ID用于更新时排除自身
* @return ResultDomain<Boolean> 是否存在
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
void importUsers(List<TbSysUser> users);
ResultDomain<Boolean> checkUsernameExists(String username, String excludeId);
/**
* @description 条件导出用户
* @param filter 用户对象
* @return 用户列表
* @description 检查邮箱是否存在
* @param email 邮箱
* @param excludeId 排除的用户ID用于更新时排除自身
* @return ResultDomain<Boolean> 是否存在
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
List<TbSysUser> exportUsers(TbSysUser filter);
ResultDomain<Boolean> checkEmailExists(String email, String excludeId);
/**
* @description 查找用户
* @param filter 用户对象
* @return 用户对象
* @description 搜索用户
* @param username 用户名(模糊查询)
* @param email 邮箱(模糊查询)
* @param status 状态
* @return ResultDomain<TbSysUser> 用户列表
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
TbSysUser find(TbSysUser filter);
ResultDomain<TbSysUser> searchUsers(String username, String email, String status);
/**
* @description 通过主键集合查找用户列表
* @param userIds 用户ID集合
* @return 用户列表
* @description 修改用户状态
* @param userId 用户ID
* @param status 新状态
* @return ResultDomain<TbSysUser> 修改结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
List<TbSysUser> findByIDs(Collection<String> userIDs);
ResultDomain<TbSysUser> changeUserStatus(String userId, Integer status);
/**
* @description 根据角色ID查询用户列表
* @param roleId 角色ID
* @return 用户列表
* @description 重置用户密码
* @param userId 用户ID
* @param newPassword 新密码
* @return ResultDomain<TbSysUser> 重置结果
* @author yslg
* @since 2025-09-27
* @since 2025-09-28
*/
List<TbSysUser> listUsersByRoleID(String roleID);
ResultDomain<TbSysUser> resetPassword(String userId, String newPassword);
}