feat: 重构代码。

This commit is contained in:
tianyongbao
2025-10-21 10:00:26 +08:00
parent 7f40a94819
commit f50ee440ef
916 changed files with 4485 additions and 4536 deletions

View File

@@ -0,0 +1,15 @@
package com.intc.system.mapper;
import com.intc.system.domain.SysClient;
import com.intc.system.domain.vo.SysClientVo;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 授权管理Mapper接口
*
* @author Michelle.Chung
* @date 2023-05-15
*/
public interface SysClientMapper extends BaseMapperPlus<SysClient, SysClientVo> {
}

View File

@@ -0,0 +1,14 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysConfig;
import com.intc.system.domain.vo.SysConfigVo;
/**
* 参数配置 数据层
*
* @author Lion Li
*/
public interface SysConfigMapper extends BaseMapperPlus<SysConfig, SysConfigVo> {
}

View File

@@ -0,0 +1,143 @@
package com.intc.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.intc.common.core.utils.StreamUtils;
import com.intc.common.mybatis.annotation.DataColumn;
import com.intc.common.mybatis.annotation.DataPermission;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.common.mybatis.helper.DataBaseHelper;
import com.intc.system.domain.SysDept;
import com.intc.system.domain.vo.SysDeptVo;
import java.util.List;
/**
* 部门管理 数据层
*
* @author Lion Li
*/
public interface SysDeptMapper extends BaseMapperPlus<SysDept, SysDeptVo> {
/**
* 构建角色对应的部门 SQL 查询语句
*
* <p>该 SQL 用于查询某个角色关联的所有部门 ID常用于数据权限控制</p>
*
* @param roleId 角色ID
* @return 查询部门ID的 SQL 语句字符串
*/
default String buildDeptByRoleSql(Long roleId) {
return """
select srd.dept_id from sys_role_dept srd
left join sys_role sr on sr.role_id = srd.role_id
where srd.role_id = %d and sr.status = '0'
""".formatted(roleId);
}
/**
* 构建 SQL 查询用于获取当前角色拥有的部门中所有的父部门ID
*
* <p>
* 该 SQL 用于 deptCheckStrictly 场景下,排除非叶子节点(父节点)用。
* </p>
*
* @param roleId 角色ID
* @return SQL 语句字符串查询角色下部门的所有父部门ID
*/
default String buildParentDeptByRoleSql(Long roleId) {
return """
select parent_id from sys_dept where dept_id in (
select srd.dept_id from sys_role_dept srd
left join sys_role sr on sr.role_id = srd.role_id
where srd.role_id = %d and sr.status = '0'
)
""".formatted(roleId);
}
/**
* 查询部门管理数据
*
* @param queryWrapper 查询条件
* @return 部门信息集合
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id")
})
default List<SysDeptVo> selectDeptList(Wrapper<SysDept> queryWrapper) {
return this.selectVoList(queryWrapper);
}
/**
* 分页查询部门管理数据
*
* @param page 分页信息
* @param queryWrapper 查询条件
* @return 部门信息集合
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
})
default Page<SysDeptVo> selectPageDeptList(Page<SysDept> page, Wrapper<SysDept> queryWrapper) {
return this.selectVoPage(page, queryWrapper);
}
/**
* 统计指定部门ID的部门数量
*
* @param deptId 部门ID
* @return 该部门ID的部门数量
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id")
})
default long countDeptById(Long deptId) {
return this.selectCount(new LambdaQueryWrapper<SysDept>().eq(SysDept::getDeptId, deptId));
}
/**
* 根据父部门ID查询其所有子部门的列表
*
* @param parentId 父部门ID
* @return 包含子部门的列表
*/
default List<SysDept> selectListByParentId(Long parentId) {
return this.selectList(new LambdaQueryWrapper<SysDept>()
.select(SysDept::getDeptId)
.apply(DataBaseHelper.findInSet(parentId, "ancestors")));
}
/**
* 查询某个部门及其所有子部门ID含自身
*
* @param parentId 父部门ID
* @return 部门ID集合
*/
default List<Long> selectDeptAndChildById(Long parentId) {
List<SysDept> deptList = this.selectListByParentId(parentId);
List<Long> deptIds = StreamUtils.toList(deptList, SysDept::getDeptId);
deptIds.add(parentId);
return deptIds;
}
/**
* 根据角色ID查询部门树信息
*
* @param roleId 角色ID
* @param deptCheckStrictly 部门树选择项是否关联显示
* @return 选中部门列表
*/
default List<Long> selectDeptListByRoleId(Long roleId, boolean deptCheckStrictly) {
LambdaQueryWrapper<SysDept> wrapper = new LambdaQueryWrapper<>();
wrapper.select(SysDept::getDeptId)
.inSql(SysDept::getDeptId, this.buildDeptByRoleSql(roleId))
.orderByAsc(SysDept::getParentId)
.orderByAsc(SysDept::getOrderNum);
if (deptCheckStrictly) {
wrapper.notInSql(SysDept::getDeptId, this.buildParentDeptByRoleSql(roleId));
}
return this.selectObjs(wrapper);
}
}

View File

@@ -0,0 +1,29 @@
package com.intc.system.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysDictData;
import com.intc.system.domain.vo.SysDictDataVo;
import java.util.List;
/**
* 字典表 数据层
*
* @author Lion Li
*/
public interface SysDictDataMapper extends BaseMapperPlus<SysDictData, SysDictDataVo> {
/**
* 根据字典类型查询字典数据列表
*
* @param dictType 字典类型
* @return 符合条件的字典数据列表
*/
default List<SysDictDataVo> selectDictDataByType(String dictType) {
return selectVoList(
new LambdaQueryWrapper<SysDictData>()
.eq(SysDictData::getDictType, dictType)
.orderByAsc(SysDictData::getDictSort));
}
}

View File

@@ -0,0 +1,14 @@
package com.intc.system.mapper;
import com.intc.system.domain.SysDictType;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.vo.SysDictTypeVo;
/**
* 字典表 数据层
*
* @author Lion Li
*/
public interface SysDictTypeMapper extends BaseMapperPlus<SysDictType, SysDictTypeVo> {
}

View File

@@ -0,0 +1,14 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysLogininfor;
import com.intc.system.domain.vo.SysLogininforVo;
/**
* 系统访问日志情况信息 数据层
*
* @author Lion Li
*/
public interface SysLogininforMapper extends BaseMapperPlus<SysLogininfor, SysLogininforVo> {
}

View File

@@ -0,0 +1,147 @@
package com.intc.system.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.intc.common.core.constant.SystemConstants;
import com.intc.common.core.utils.StreamUtils;
import com.intc.common.core.utils.StringUtils;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysMenu;
import com.intc.system.domain.vo.SysMenuVo;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 菜单表 数据层
*
* @author Lion Li
*/
public interface SysMenuMapper extends BaseMapperPlus<SysMenu, SysMenuVo> {
/**
* 构建用户权限菜单 SQL
*
* <p>
* 查询用户所属角色所拥有的菜单权限,用于权限判断、菜单加载等场景
* </p>
*
* @param userId 用户ID
* @return SQL 字符串,用于 inSql 条件
*/
default String buildMenuByUserSql(Long userId) {
return """
select menu_id from sys_role_menu where role_id in (
select sur.role_id from sys_user_role sur
left join sys_role sr on sr.role_id = sur.role_id
where sur.user_id = %d and sr.status = '0'
)
""".formatted(userId);
}
/**
* 构建角色对应的菜单ID SQL 子查询
*
* <p>
* 用于根据角色ID查询其所拥有的菜单权限用于权限标识、菜单显示等场景
* 通常配合 inSql 使用
* </p>
*
* @param roleId 角色ID
* @return 查询菜单ID的 SQL 子查询字符串
*/
default String buildMenuByRoleSql(Long roleId) {
return """
select srm.menu_id from sys_role_menu srm
left join sys_role sr on sr.role_id = srm.role_id
where srm.role_id = %d and sr.status = '0'
""".formatted(roleId);
}
/**
* 构建角色所关联菜单的父菜单ID查询 SQL
*
* <p>
* 用于配合菜单勾选树结构的 {@code menuCheckStrictly} 模式,过滤掉非叶子节点(父菜单),
* 只返回角色实际勾选的末级菜单
* </p>
*
* @param roleId 角色ID
* @return SQL 语句字符串查询菜单的父菜单ID
*/
default String buildParentMenuByRoleSql(Long roleId) {
return """
select parent_id from sys_menu where menu_id in (
select srm.menu_id from sys_role_menu srm
left join sys_role sr on sr.role_id = srm.role_id
where srm.role_id = %d and sr.status = '0'
)
""".formatted(roleId);
}
/**
* 根据用户ID查询权限
*
* @param userId 用户ID
* @return 权限列表
*/
default Set<String> selectMenuPermsByUserId(Long userId) {
List<String> list = this.selectObjs(
new LambdaQueryWrapper<SysMenu>()
.select(SysMenu::getPerms)
.inSql(SysMenu::getMenuId, this.buildMenuByUserSql(userId))
.isNotNull(SysMenu::getPerms)
);
return new HashSet<>(StreamUtils.filter(list, StringUtils::isNotBlank));
}
/**
* 根据角色ID查询权限
*
* @param roleId 角色ID
* @return 权限列表
*/
default Set<String> selectMenuPermsByRoleId(Long roleId) {
List<String> list = this.selectObjs(
new LambdaQueryWrapper<SysMenu>()
.select(SysMenu::getPerms)
.inSql(SysMenu::getMenuId, this.buildMenuByRoleSql(roleId))
.isNotNull(SysMenu::getPerms)
);
return new HashSet<>(StreamUtils.filter(list, StringUtils::isNotBlank));
}
/**
* 根据用户ID查询菜单
*
* @return 菜单列表
*/
default List<SysMenu> selectMenuTreeAll() {
LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<SysMenu>()
.in(SysMenu::getMenuType, SystemConstants.TYPE_DIR, SystemConstants.TYPE_MENU)
.eq(SysMenu::getStatus, SystemConstants.NORMAL)
.orderByAsc(SysMenu::getParentId)
.orderByAsc(SysMenu::getOrderNum);
return this.selectList(lqw);
}
/**
* 根据角色ID查询菜单树信息
*
* @param roleId 角色ID
* @param menuCheckStrictly 菜单树选择项是否关联显示
* @return 选中菜单列表
*/
default List<Long> selectMenuListByRoleId(Long roleId, boolean menuCheckStrictly) {
LambdaQueryWrapper<SysMenu> wrapper = new LambdaQueryWrapper<>();
wrapper.select(SysMenu::getMenuId)
.inSql(SysMenu::getMenuId, buildMenuByRoleSql(roleId))
.orderByAsc(SysMenu::getParentId)
.orderByAsc(SysMenu::getOrderNum);
if (menuCheckStrictly) {
wrapper.notInSql(SysMenu::getMenuId, this.buildParentMenuByRoleSql(roleId));
}
return this.selectObjs(wrapper);
}
}

View File

@@ -0,0 +1,14 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysNotice;
import com.intc.system.domain.vo.SysNoticeVo;
/**
* 通知公告表 数据层
*
* @author Lion Li
*/
public interface SysNoticeMapper extends BaseMapperPlus<SysNotice, SysNoticeVo> {
}

View File

@@ -0,0 +1,14 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysOperLog;
import com.intc.system.domain.vo.SysOperLogVo;
/**
* 操作日志 数据层
*
* @author Lion Li
*/
public interface SysOperLogMapper extends BaseMapperPlus<SysOperLog, SysOperLogVo> {
}

View File

@@ -0,0 +1,16 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysOssConfig;
import com.intc.system.domain.vo.SysOssConfigVo;
/**
* 对象存储配置Mapper接口
*
* @author Lion Li
* @author 孤舟烟雨
* @date 2021-08-13
*/
public interface SysOssConfigMapper extends BaseMapperPlus<SysOssConfig, SysOssConfigVo> {
}

View File

@@ -0,0 +1,13 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysOss;
import com.intc.system.domain.vo.SysOssVo;
/**
* 文件上传 数据层
*
* @author Lion Li
*/
public interface SysOssMapper extends BaseMapperPlus<SysOss, SysOssVo> {
}

View File

@@ -0,0 +1,75 @@
package com.intc.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.intc.common.mybatis.annotation.DataColumn;
import com.intc.common.mybatis.annotation.DataPermission;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysPost;
import com.intc.system.domain.vo.SysPostVo;
import java.util.List;
/**
* 岗位信息 数据层
*
* @author Lion Li
*/
public interface SysPostMapper extends BaseMapperPlus<SysPost, SysPostVo> {
/**
* 分页查询岗位列表
*
* @param page 分页对象
* @param queryWrapper 查询条件
* @return 包含岗位信息的分页结果
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
@DataColumn(key = "userName", value = "create_by")
})
default Page<SysPostVo> selectPagePostList(Page<SysPost> page, Wrapper<SysPost> queryWrapper) {
return this.selectVoPage(page, queryWrapper);
}
/**
* 查询岗位列表
*
* @param queryWrapper 查询条件
* @return 岗位信息列表
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
@DataColumn(key = "userName", value = "create_by")
})
default List<SysPostVo> selectPostList(Wrapper<SysPost> queryWrapper) {
return this.selectVoList(queryWrapper);
}
/**
* 根据岗位ID集合查询岗位数量
*
* @param postIds 岗位ID列表
* @return 匹配的岗位数量
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
@DataColumn(key = "userName", value = "create_by")
})
default long selectPostCount(List<Long> postIds) {
return this.selectCount(new LambdaQueryWrapper<SysPost>().in(SysPost::getPostId, postIds));
}
/**
* 根据用户ID查询其关联的岗位列表
*
* @param userId 用户ID
* @return 岗位信息列表
*/
default List<SysPostVo> selectPostsByUserId(Long userId) {
return this.selectVoList(new LambdaQueryWrapper<SysPost>()
.inSql(SysPost::getPostId, "select post_id from sys_user_post where user_id = " + userId));
}
}

View File

@@ -0,0 +1,13 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysRoleDept;
/**
* 角色与部门关联表 数据层
*
* @author Lion Li
*/
public interface SysRoleDeptMapper extends BaseMapperPlus<SysRoleDept, SysRoleDept> {
}

View File

@@ -0,0 +1,105 @@
package com.intc.system.mapper;
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 com.intc.common.mybatis.annotation.DataColumn;
import com.intc.common.mybatis.annotation.DataPermission;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysRole;
import com.intc.system.domain.vo.SysRoleVo;
import java.util.List;
/**
* 角色表 数据层
*
* @author Lion Li
*/
public interface SysRoleMapper extends BaseMapperPlus<SysRole, SysRoleVo> {
/**
* 构建根据用户ID查询角色ID的SQL子查询
*
* @param userId 用户ID
* @return 查询用户对应角色ID的SQL语句字符串
*/
default String buildRoleByUserSql(Long userId) {
return """
select role_id from sys_user_role where user_id = %d
""".formatted(userId);
}
/**
* 分页查询角色列表
*
* @param page 分页对象
* @param queryWrapper 查询条件
* @return 包含角色信息的分页结果
*/
@DataPermission({
@DataColumn(key = "deptName", value = "create_dept"),
@DataColumn(key = "userName", value = "create_by")
})
default Page<SysRoleVo> selectPageRoleList(@Param("page") Page<SysRole> page, @Param(Constants.WRAPPER) Wrapper<SysRole> queryWrapper) {
return this.selectVoPage(page, queryWrapper);
}
/**
* 根据条件查询角色数据
*
* @param queryWrapper 查询条件
* @return 角色数据集合信息
*/
@DataPermission({
@DataColumn(key = "deptName", value = "create_dept"),
@DataColumn(key = "userName", value = "create_by")
})
default List<SysRoleVo> selectRoleList(@Param(Constants.WRAPPER) Wrapper<SysRole> queryWrapper) {
return this.selectVoList(queryWrapper);
}
/**
* 根据角色ID集合查询角色数量
*
* @param roleIds 角色ID列表
* @return 匹配的角色数量
*/
@DataPermission({
@DataColumn(key = "deptName", value = "create_dept"),
@DataColumn(key = "userName", value = "create_by")
})
default long selectRoleCount(List<Long> roleIds) {
return this.selectCount(new LambdaQueryWrapper<SysRole>().in(SysRole::getRoleId, roleIds));
}
/**
* 根据角色ID查询角色信息
*
* @param roleId 角色ID
* @return 对应的角色信息
*/
@DataPermission({
@DataColumn(key = "deptName", value = "create_dept"),
@DataColumn(key = "userName", value = "create_by")
})
default SysRoleVo selectRoleById(Long roleId) {
return this.selectVoById(roleId);
}
/**
* 根据用户ID查询角色
*
* @param userId 用户ID
* @return 角色列表
*/
default List<SysRoleVo> selectRolesByUserId(Long userId) {
return this.selectVoList(new LambdaQueryWrapper<SysRole>()
.select(SysRole::getRoleId, SysRole::getRoleName, SysRole::getRoleKey,
SysRole::getRoleSort, SysRole::getDataScope, SysRole::getStatus)
.inSql(SysRole::getRoleId, this.buildRoleByUserSql(userId)));
}
}

View File

@@ -0,0 +1,26 @@
package com.intc.system.mapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysRoleMenu;
import java.util.List;
/**
* 角色与菜单关联表 数据层
*
* @author Lion Li
*/
public interface SysRoleMenuMapper extends BaseMapperPlus<SysRoleMenu, SysRoleMenu> {
/**
* 根据菜单ID串删除关联关系
*
* @param menuIds 菜单ID串
* @return 结果
*/
default int deleteByMenuIds(List<Long> menuIds) {
return this.delete(new LambdaUpdateWrapper<SysRoleMenu>().in(SysRoleMenu::getMenuId, menuIds));
}
}

View File

@@ -0,0 +1,14 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysSocial;
import com.intc.system.domain.vo.SysSocialVo;
/**
* 社会化关系Mapper接口
*
* @author thiszhc
*/
public interface SysSocialMapper extends BaseMapperPlus<SysSocial, SysSocialVo> {
}

View File

@@ -0,0 +1,14 @@
package com.intc.system.mapper;
import com.intc.system.domain.SysTenant;
import com.intc.system.domain.vo.SysTenantVo;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 租户Mapper接口
*
* @author Michelle.Chung
*/
public interface SysTenantMapper extends BaseMapperPlus<SysTenant, SysTenantVo> {
}

View File

@@ -0,0 +1,14 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysTenantPackage;
import com.intc.system.domain.vo.SysTenantPackageVo;
/**
* 租户套餐Mapper接口
*
* @author Michelle.Chung
*/
public interface SysTenantPackageMapper extends BaseMapperPlus<SysTenantPackage, SysTenantPackageVo> {
}

View File

@@ -0,0 +1,131 @@
package com.intc.system.mapper;
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 com.intc.common.mybatis.annotation.DataColumn;
import com.intc.common.mybatis.annotation.DataPermission;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysUser;
import com.intc.system.domain.vo.SysUserExportVo;
import com.intc.system.domain.vo.SysUserVo;
import java.util.List;
/**
* 用户表 数据层
*
* @author Lion Li
*/
public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
/**
* 分页查询用户列表,并进行数据权限控制
*
* @param page 分页参数
* @param queryWrapper 查询条件
* @return 分页的用户信息
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
@DataColumn(key = "userName", value = "create_by")
})
default Page<SysUserVo> selectPageUserList(Page<SysUser> page, Wrapper<SysUser> queryWrapper) {
return this.selectVoPage(page, queryWrapper);
}
/**
* 查询用户列表,并进行数据权限控制
*
* @param queryWrapper 查询条件
* @return 用户信息集合
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
@DataColumn(key = "userName", value = "create_by")
})
default List<SysUserVo> selectUserList(Wrapper<SysUser> queryWrapper) {
return this.selectVoList(queryWrapper);
}
/**
* 根据条件分页查询用户列表
*
* @param queryWrapper 查询条件
* @return 用户信息集合信息
*/
@DataPermission({
@DataColumn(key = "deptName", value = "d.dept_id"),
@DataColumn(key = "userName", value = "u.create_by")
})
List<SysUserExportVo> selectUserExportList(@Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
/**
* 根据条件分页查询已配用户角色列表
*
* @param page 分页信息
* @param queryWrapper 查询条件
* @return 用户信息集合信息
*/
@DataPermission({
@DataColumn(key = "deptName", value = "d.dept_id"),
@DataColumn(key = "userName", value = "u.create_by")
})
Page<SysUserVo> selectAllocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
/**
* 根据条件分页查询未分配用户角色列表
*
* @param queryWrapper 查询条件
* @return 用户信息集合信息
*/
@DataPermission({
@DataColumn(key = "deptName", value = "d.dept_id"),
@DataColumn(key = "userName", value = "u.create_by")
})
Page<SysUserVo> selectUnallocatedList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper);
/**
* 根据用户ID统计用户数量
*
* @param userId 用户ID
* @return 用户数量
*/
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
@DataColumn(key = "userName", value = "create_by")
})
default long countUserById(Long userId) {
return this.selectCount(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserId, userId));
}
/**
* 根据条件更新用户数据
*
* @param user 要更新的用户实体
* @param updateWrapper 更新条件封装器
* @return 更新操作影响的行数
*/
@Override
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
@DataColumn(key = "userName", value = "create_by")
})
int update(@Param(Constants.ENTITY) SysUser user, @Param(Constants.WRAPPER) Wrapper<SysUser> updateWrapper);
/**
* 根据用户ID更新用户数据
*
* @param user 要更新的用户实体
* @return 更新操作影响的行数
*/
@Override
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id"),
@DataColumn(key = "userName", value = "create_by")
})
int updateById(@Param(Constants.ENTITY) SysUser user);
}

View File

@@ -0,0 +1,13 @@
package com.intc.system.mapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysUserPost;
/**
* 用户与岗位关联表 数据层
*
* @author Lion Li
*/
public interface SysUserPostMapper extends BaseMapperPlus<SysUserPost, SysUserPost> {
}

View File

@@ -0,0 +1,28 @@
package com.intc.system.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.intc.common.mybatis.core.mapper.BaseMapperPlus;
import com.intc.system.domain.SysUserRole;
import java.util.List;
/**
* 用户与角色关联表 数据层
*
* @author Lion Li
*/
public interface SysUserRoleMapper extends BaseMapperPlus<SysUserRole, SysUserRole> {
/**
* 根据角色ID查询关联的用户ID列表
*
* @param roleId 角色ID
* @return 关联到指定角色的用户ID列表
*/
default List<Long> selectUserIdsByRoleId(Long roleId) {
return this.selectObjs(new LambdaQueryWrapper<SysUserRole>()
.select(SysUserRole::getUserId).eq(SysUserRole::getRoleId, roleId)
);
}
}