refactor(system): 重构系统模块中的部门、字典、菜单等服务方法命名和实现
- 统一将修改方法名从 modify* 改为 update* - 统一将删除方法名从 remove* 改为 delete* - 统一将查询方法名从 query* 改为 search* 或 list* - 重构部门服务中的树形结构构建逻辑 - 优化部门上级数据查询方法实现 - 调整数据权限查询方法命名 - 删除未使用的导入和方法 - 修复部门关联验证中的用户查询服务依赖
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
- 搜索(分页)功能:search + 名词
|
||||
- 统计计数:count + By + 条件
|
||||
- 存在检查:exists + By + 条件
|
||||
- 增删改:save/delete/update
|
||||
- 例子: 查询分页、查询列表的方法
|
||||
- 分页:searchUser(args, page)
|
||||
- 列表:listUser + (args)
|
||||
@@ -44,6 +45,47 @@
|
||||
- 单个:getUser + by + (args)
|
||||
- 统计计数:count + By + (args)
|
||||
|
||||
#### 编码规范:举例说明
|
||||
|
||||
1. getUser - 简单查询
|
||||
核心: 获取单个特定实体。
|
||||
|
||||
- 输入: 通常是一个唯一标识符(如ID 123)。
|
||||
- 筛选: 非常精确,只匹配一个。
|
||||
- 返回: 单个对象或文档,包含该用户的完整/详细信息。
|
||||
- 示例: getUser(123) -> 返回 {id: 123, name: “Alice”, email: “...”}
|
||||
|
||||
2. listUsers - 列表查询
|
||||
核心: 获取一个符合简单条件的实体集合,通常是有限的、预定义的。
|
||||
|
||||
- 输入: 可能没有参数,或只有非常简单的过滤条件(如 status=‘active’)。
|
||||
- 筛选: 简单、常规。
|
||||
- 返回: 一个数组/列表,包含多个用户的基本信息(通常是摘要字段,非完整详情)。
|
||||
- 通常不分页,或隐式返回所有符合条件的(数据量预期不大)。
|
||||
- 示例: listUsers() -> 返回 [{id: 1, name: “Alice”}, {id: 2, name: “Bob”}]
|
||||
- 示例: listUsers({role: ‘admin’}) -> 返回所有管理员用户的列表。
|
||||
|
||||
3. queryUsersByCondition - 复杂查询
|
||||
核心: 基于多个、可能较复杂的条件进行筛选。
|
||||
|
||||
- 输入: 一个组合条件对象,可能涉及多个字段的比较(如 age > 18 AND department = ‘Sales’ AND joinDate < ‘2023-01-01’)。
|
||||
- 筛选: 复杂、灵活,类似数据库的WHERE子句。
|
||||
- 返回: 一个匹配条件的数组/列表。
|
||||
- 分页: 可能分页,也可能不分页。关键是它的侧重点在于复杂的“筛选”能力,而非分页机制。(这是标准,但是对于此项目来说,定为不分页的,复杂条件的,列表查询服务)
|
||||
- 示例: queryUsersByCondition({minAge: 18, department: ‘Sales’, hasCertification: true})
|
||||
|
||||
4. searchUsers - 搜索(分页)功能
|
||||
核心: 针对大量数据进行模糊匹配、全文检索,并强制包含分页机制以管理性能。
|
||||
|
||||
- 输入:
|
||||
- 搜索关键词(可能对多个字段进行模糊匹配)。
|
||||
- 分页参数(pageNumber, pageSize 或 limit, offset)。
|
||||
- 可能附加的其他过滤条件。
|
||||
- 筛选: 通常包含文本搜索(如 name LIKE ‘%Al%’),结果可能按相关性排序。
|
||||
- 返回: 一个分页响应对象,而不仅仅是数组。
|
||||
- 包含:data(当前页的数据列表)、total(总匹配数)、page(当前页)、pageSize(每页大小)等元数据。
|
||||
- 示例: searchUsers({keyword: ‘Al’, page: 1, pageSize: 20}) -> 返回 {data: […], total: 45, page: 1, pageSize: 20}
|
||||
|
||||
#### 主要特性
|
||||
|
||||
- 使用最新技术栈,社区资源丰富。
|
||||
|
||||
+4
-24
@@ -24,11 +24,8 @@ import cn.odboy.system.service.SystemDeptService;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -53,7 +50,7 @@ public class SystemDeptController {
|
||||
@GetMapping(value = "/download")
|
||||
@PreAuthorize("@el.check('dept:list')")
|
||||
public void exportDept(HttpServletResponse response, SystemQueryDeptArgs criteria) throws Exception {
|
||||
systemDeptService.exportDeptExcel(systemDeptService.queryAllDept(criteria, false), response);
|
||||
systemDeptService.exportDeptExcel(systemDeptService.queryAllDeptByArgs(criteria, false), response);
|
||||
}
|
||||
|
||||
@ApiOperation("查询部门")
|
||||
@@ -62,7 +59,7 @@ public class SystemDeptController {
|
||||
public ResponseEntity<KitPageResult<SystemDeptTb>> queryDept(
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryDeptArgs> args) throws Exception {
|
||||
SystemQueryDeptArgs criteria = args.getArgs();
|
||||
List<SystemDeptTb> depts = systemDeptService.queryAllDept(criteria, true);
|
||||
List<SystemDeptTb> depts = systemDeptService.queryAllDeptByArgs(criteria, true);
|
||||
return ResponseEntity.ok(KitPageUtil.toPage(depts));
|
||||
}
|
||||
|
||||
@@ -71,24 +68,7 @@ public class SystemDeptController {
|
||||
@PreAuthorize("@el.check('user:list','dept:list')")
|
||||
public ResponseEntity<KitPageResult<SystemDeptTb>> queryDeptSuperiorTree(@RequestBody List<Long> ids,
|
||||
@RequestParam(defaultValue = "false") Boolean exclude) {
|
||||
Set<SystemDeptTb> deptSet = new LinkedHashSet<>();
|
||||
for (Long id : ids) {
|
||||
// 同级数据
|
||||
SystemDeptTb dept = systemDeptService.getDeptById(id);
|
||||
// 上级数据
|
||||
List<SystemDeptTb> depts = systemDeptService.querySuperiorDeptListByPid(dept, new ArrayList<>());
|
||||
if (exclude) {
|
||||
for (SystemDeptTb data : depts) {
|
||||
if (data.getId().equals(dept.getPid())) {
|
||||
data.setSubCount(data.getSubCount() - 1);
|
||||
}
|
||||
}
|
||||
// 编辑部门时不显示自己以及自己下级的数据, 避免出现PID数据环形问题
|
||||
depts = depts.stream().filter(i -> !ids.contains(i.getId())).collect(Collectors.toList());
|
||||
}
|
||||
deptSet.addAll(depts);
|
||||
}
|
||||
return ResponseEntity.ok(systemDeptService.buildDeptTree(new ArrayList<>(deptSet)));
|
||||
return ResponseEntity.ok(systemDeptService.searchDeptTree(ids, exclude));
|
||||
}
|
||||
|
||||
@ApiOperation("新增部门")
|
||||
@@ -115,7 +95,7 @@ public class SystemDeptController {
|
||||
Set<SystemDeptTb> depts = systemDeptService.traverseDeptByIdWithPids(ids);
|
||||
// 验证是否被角色或用户关联
|
||||
systemDeptService.verifyBindRelationByIds(depts);
|
||||
systemDeptService.removeDeptByIds(depts);
|
||||
systemDeptService.deleteDeptByIds(depts);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -72,7 +72,7 @@ public class SystemDictController {
|
||||
} else {
|
||||
page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||
}
|
||||
return ResponseEntity.ok(systemDictService.queryDictByArgs(criteria, page));
|
||||
return ResponseEntity.ok(systemDictService.searchDict(criteria, page));
|
||||
}
|
||||
|
||||
@ApiOperation("新增字典")
|
||||
@@ -87,7 +87,7 @@ public class SystemDictController {
|
||||
@PostMapping(value = "/modifyDictById")
|
||||
@PreAuthorize("@el.check('dict:edit')")
|
||||
public ResponseEntity<Void> modifyDictById(@Validated(SystemDictTb.Update.class) @RequestBody SystemDictTb args) {
|
||||
systemDictService.modifyDictById(args);
|
||||
systemDictService.updateDictById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ public class SystemDictController {
|
||||
@PostMapping(value = "/removeDictByIds")
|
||||
@PreAuthorize("@el.check('dict:del')")
|
||||
public ResponseEntity<Void> removeDictByIds(@RequestBody Set<Long> ids) {
|
||||
systemDictService.removeDictByIds(ids);
|
||||
systemDictService.deleteDictByIds(ids);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -60,7 +60,7 @@ public class SystemDictDetailController {
|
||||
@Validated @RequestBody KitPageArgs<SystemQueryDictDetailArgs> args) {
|
||||
SystemQueryDictDetailArgs criteria = args.getArgs();
|
||||
Page<SystemDictDetailTb> page = new Page<>(args.getPage(), args.getSize());
|
||||
return ResponseEntity.ok(systemDictDetailService.queryDictDetailByArgs(criteria, page));
|
||||
return ResponseEntity.ok(systemDictDetailService.searchDictDetail(criteria, page));
|
||||
}
|
||||
|
||||
@ApiOperation("查询多个字典详情")
|
||||
@@ -69,7 +69,7 @@ public class SystemDictDetailController {
|
||||
String[] names = dictName.split("[,, ]");
|
||||
Map<String, List<SystemDictDetailVo>> dictMap = new HashMap<>(16);
|
||||
for (String name : names) {
|
||||
dictMap.put(name, systemDictDetailService.queryDictDetailByName(name));
|
||||
dictMap.put(name, systemDictDetailService.listDictDetailByName(name));
|
||||
}
|
||||
return ResponseEntity.ok(dictMap);
|
||||
}
|
||||
@@ -87,7 +87,7 @@ public class SystemDictDetailController {
|
||||
@PreAuthorize("@el.check('dict:edit')")
|
||||
public ResponseEntity<Void> modifyDictDetailById(
|
||||
@Validated(SystemDictDetailTb.Update.class) @RequestBody SystemDictDetailTb args) {
|
||||
systemDictDetailService.modifyDictDetailById(args);
|
||||
systemDictDetailService.updateDictDetailById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ public class SystemDictDetailController {
|
||||
@PostMapping(value = "/removeDictDetailById")
|
||||
@PreAuthorize("@el.check('dict:del')")
|
||||
public ResponseEntity<Void> removeDictDetailById(@RequestBody SystemDictDetailTb args) {
|
||||
systemDictDetailService.removeDictDetailById(args.getId());
|
||||
systemDictDetailService.deleteDictDetailById(args.getId());
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ public class SystemEmailController {
|
||||
@PostMapping(value = "/modifyEmailConfig")
|
||||
public ResponseEntity<Void> modifyEmailConfig(@Validated @RequestBody SystemEmailConfigTb emailConfig)
|
||||
throws Exception {
|
||||
systemEmailService.modifyEmailConfig(emailConfig);
|
||||
systemEmailService.updateEmailConfigById(emailConfig);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -82,7 +82,7 @@ public class SystemJobController {
|
||||
@PostMapping(value = "/modifyJobById")
|
||||
@PreAuthorize("@el.check('job:edit')")
|
||||
public ResponseEntity<Void> modifyJobById(@Validated(SystemJobTb.Update.class) @RequestBody SystemJobTb args) {
|
||||
systemJobService.modifyJobById(args);
|
||||
systemJobService.updateJobById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@ public class SystemLocalStorageController {
|
||||
@PostMapping(value = "/modifyLocalStorageById")
|
||||
@PreAuthorize("@el.check('storage:edit')")
|
||||
public ResponseEntity<Void> modifyLocalStorageById(@Validated @RequestBody SystemLocalStorageTb args) {
|
||||
localStorageService.modifyLocalStorageById(args);
|
||||
localStorageService.updateLocalStorageById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -114,7 +114,7 @@ public class SystemMenuController {
|
||||
public ResponseEntity<List<SystemMenuTb>> queryMenuSuperior(@RequestBody List<Long> ids) {
|
||||
Set<SystemMenuTb> menus;
|
||||
if (CollectionUtil.isNotEmpty(ids)) {
|
||||
menus = new LinkedHashSet<>(systemMenuService.queryMenuByIds(ids));
|
||||
menus = new LinkedHashSet<>(systemMenuService.listMenuByIds(ids));
|
||||
for (SystemMenuTb menu : menus) {
|
||||
List<SystemMenuTb> menuList = systemMenuService.querySuperiorMenuList(menu, new ArrayList<>());
|
||||
for (SystemMenuTb data : menuList) {
|
||||
@@ -146,7 +146,7 @@ public class SystemMenuController {
|
||||
@PostMapping(value = "/modifyMenuById")
|
||||
@PreAuthorize("@el.check('menu:edit')")
|
||||
public ResponseEntity<Void> modifyMenuById(@Validated(SystemMenuTb.Update.class) @RequestBody SystemMenuTb args) {
|
||||
systemMenuService.modifyMenuById(args);
|
||||
systemMenuService.updateMenuById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@ public class SystemQuartzJobController {
|
||||
@Validated(SystemQuartzJobTb.Update.class) @RequestBody SystemUpdateQuartzJobArgs args) {
|
||||
// 验证Bean是不是合法的, 合法的定时任务 Bean 需要用 @Service 定义
|
||||
checkBean(args.getBeanName());
|
||||
systemQuartzJobService.modifyQuartzJobResumeCron(args);
|
||||
systemQuartzJobService.updateQuartzJobResumeCron(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -103,7 +103,7 @@ public class SystemRoleController {
|
||||
@PreAuthorize("@el.check('roles:edit')")
|
||||
public ResponseEntity<Void> modifyRoleById(@Validated(SystemRoleTb.Update.class) @RequestBody SystemRoleVo args) {
|
||||
checkRoleLevels(args.getLevel());
|
||||
systemRoleService.modifyRoleById(args);
|
||||
systemRoleService.updateRoleById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ public class SystemRoleController {
|
||||
public ResponseEntity<Void> modifyBindMenuById(@RequestBody SystemRoleVo args) {
|
||||
SystemRoleTb role = systemRoleService.getRoleById(args.getId());
|
||||
checkRoleLevels(role.getLevel());
|
||||
systemRoleService.modifyBindMenuById(args);
|
||||
systemRoleService.updateBindMenuById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
+8
-8
@@ -98,12 +98,12 @@ public class SystemUserController {
|
||||
if (!ObjectUtils.isEmpty(criteria.getDeptId())) {
|
||||
criteria.getDeptIds().add(criteria.getDeptId());
|
||||
// 先查找是否存在子节点
|
||||
List<SystemDeptTb> data = systemDeptService.queryDeptByPid(criteria.getDeptId());
|
||||
List<SystemDeptTb> data = systemDeptService.listDeptByPid(criteria.getDeptId());
|
||||
// 然后把子节点的ID都加入到集合中
|
||||
criteria.getDeptIds().addAll(systemDeptService.queryChildDeptIdListByDeptIds(data));
|
||||
criteria.getDeptIds().addAll(systemDeptService.queryChildDeptIdByDeptIds(data));
|
||||
}
|
||||
// 数据权限
|
||||
List<Long> dataScopes = systemDataService.findDeptIdListByArgs(
|
||||
List<Long> dataScopes = systemDataService.queryDeptIdByArgs(
|
||||
systemUserService.getUserByUsername(KitSecurityHelper.getCurrentUsername()));
|
||||
// criteria.getDeptIds() 不为空并且数据权限不为空则取交集
|
||||
if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) {
|
||||
@@ -136,7 +136,7 @@ public class SystemUserController {
|
||||
@PreAuthorize("@el.check('user:edit')")
|
||||
public ResponseEntity<Object> modifyUserById(@Validated(SystemUserTb.Update.class) @RequestBody SystemUserVo args) {
|
||||
checkLevel(args);
|
||||
systemUserService.modifyUserById(args);
|
||||
systemUserService.updateUserById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ public class SystemUserController {
|
||||
if (!args.getId().equals(KitSecurityHelper.getCurrentUserId())) {
|
||||
throw new BadRequestException("不能修改他人资料");
|
||||
}
|
||||
systemUserService.modifyUserCenterInfoById(args);
|
||||
systemUserService.updateUserCenterInfoById(args);
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ public class SystemUserController {
|
||||
if (passwordEncoder.matches(newPass, user.getPassword())) {
|
||||
throw new BadRequestException("新密码不能与旧密码相同");
|
||||
}
|
||||
systemUserService.modifyUserPasswordByUsername(user.getUsername(), passwordEncoder.encode(newPass));
|
||||
systemUserService.updateUserPasswordByUsername(user.getUsername(), passwordEncoder.encode(newPass));
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ public class SystemUserController {
|
||||
@ApiOperation("修改头像")
|
||||
@PostMapping(value = "/modifyUserAvatar")
|
||||
public ResponseEntity<Object> modifyUserAvatar(@RequestParam MultipartFile avatar) {
|
||||
return ResponseEntity.ok(systemUserService.modifyUserAvatar(avatar));
|
||||
return ResponseEntity.ok(systemUserService.updateUserAvatar(avatar));
|
||||
}
|
||||
|
||||
@ApiOperation("修改邮箱")
|
||||
@@ -215,7 +215,7 @@ public class SystemUserController {
|
||||
throw new BadRequestException("密码错误");
|
||||
}
|
||||
systemEmailService.checkEmailCaptcha(SystemCaptchaBizEnum.EMAIL_RESET_EMAIL_CODE, args.getEmail(), code);
|
||||
systemUserService.modifyUserEmailByUsername(user.getUsername(), args.getEmail());
|
||||
systemUserService.updateUserEmailByUsername(user.getUsername(), args.getEmail());
|
||||
return ResponseEntity.ok(null);
|
||||
}
|
||||
|
||||
|
||||
-64
@@ -15,14 +15,8 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemMenuTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryMenuArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@@ -33,62 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemMenuMapper extends BaseMapper<SystemMenuTb> {
|
||||
|
||||
default void updateMenuSubCntByMenuId(Long count, Long menuId) {
|
||||
if (count != null) {
|
||||
LambdaUpdateWrapper<SystemMenuTb> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getId, menuId);
|
||||
wrapper.set(SystemMenuTb::getSubCount, count);
|
||||
update(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
default SystemMenuTb getMenuByComponentName(String componentName) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getComponentName, componentName);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default SystemMenuTb getMenuByTitle(String title) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getTitle, title);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default Long countMenuByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getPid, pid);
|
||||
return selectCount(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemMenuTb> selectMenuByArgs(SystemQueryMenuArgs criteria) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.isNull(criteria.getPidIsNull() != null, SystemMenuTb::getPid);
|
||||
wrapper.eq(criteria.getPid() != null, SystemMenuTb::getPid, criteria.getPid());
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemMenuTb::getTitle, criteria.getBlurry()).or()
|
||||
.like(SystemMenuTb::getComponentName, criteria.getBlurry()).or()
|
||||
.like(SystemMenuTb::getPermission, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemMenuTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemMenuTb> selectMenuByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getPid, pid);
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
|
||||
default List<SystemMenuTb> selectMenuByPidIsNull() {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.isNull(SystemMenuTb::getPid);
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
-21
@@ -15,11 +15,7 @@
|
||||
*/
|
||||
package cn.odboy.system.dal.mysql;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryRoleArgs;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -31,21 +27,4 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemRoleMapper extends BaseMapper<SystemRoleTb> {
|
||||
|
||||
default Long countRoleByArgs(SystemQueryRoleArgs criteria) {
|
||||
LambdaQueryWrapper<SystemRoleTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemRoleTb::getName, criteria.getBlurry()).or()
|
||||
.like(SystemRoleTb::getDescription, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemRoleTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
return selectCount(wrapper);
|
||||
}
|
||||
|
||||
default SystemRoleTb getRoleById(Long roleId) {
|
||||
return selectById(roleId);
|
||||
}
|
||||
}
|
||||
|
||||
-45
@@ -34,51 +34,6 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface SystemUserMapper extends BaseMapper<SystemUserTb> {
|
||||
|
||||
default SystemUserTb getUserByUsername(String username) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getUsername, username);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default Long countUserByJobIds(Set<Long> jobIds) {
|
||||
if (CollUtil.isEmpty(jobIds)) {
|
||||
return 0L;
|
||||
}
|
||||
// 需要通过用户岗位关联表查询,这里暂时返回0
|
||||
// 实际实现需要在Service层通过关联查询
|
||||
return 0L;
|
||||
}
|
||||
|
||||
default Long countUserByRoleIds(Set<Long> roleIds) {
|
||||
if (CollUtil.isEmpty(roleIds)) {
|
||||
return 0L;
|
||||
}
|
||||
// 需要通过用户角色关联表查询,这里暂时返回0
|
||||
// 实际实现需要在Service层通过关联查询
|
||||
return 0L;
|
||||
}
|
||||
|
||||
default long countUserByDeptIds(Set<Long> deptIds) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemUserTb::getDeptId, deptIds);
|
||||
return selectCount(wrapper);
|
||||
}
|
||||
|
||||
default SystemUserTb getUserByEmail(String email) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getEmail, email);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default SystemUserTb getUserByPhone(String phone) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getPhone, phone);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return selectOne(wrapper);
|
||||
}
|
||||
|
||||
default void updateUserPasswordByUsername(String username, String password) {
|
||||
LambdaUpdateWrapper<SystemUserTb> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getUsername, username);
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ public class UserDetailsHandler implements UserDetailsService {
|
||||
// 获取用户的权限
|
||||
List<SystemRoleCodeVo> authorities = systemRoleService.buildUserRolePermissions(user);
|
||||
// 初始化JwtUserDto
|
||||
userJwtVo = new SystemUserJwtVo(user, systemDataService.findDeptIdListByArgs(user), authorities);
|
||||
userJwtVo = new SystemUserJwtVo(user, systemDataService.queryDeptIdByArgs(user), authorities);
|
||||
// 添加缓存数据
|
||||
systemUserInfoDAO.saveUserLoginInfoByUserName(username, userJwtVo);
|
||||
}
|
||||
|
||||
+5
-5
@@ -49,7 +49,7 @@ public class SystemDataService {
|
||||
* @param user /
|
||||
* @return /
|
||||
*/
|
||||
public List<Long> findDeptIdListByArgs(SystemUserTb user) {
|
||||
public List<Long> queryDeptIdByArgs(SystemUserTb user) {
|
||||
List<Long> deptIds = new ArrayList<>();
|
||||
// 查询用户角色
|
||||
List<SystemRoleVo> roleList = systemRoleService.queryRoleByUsersId(user.getId());
|
||||
@@ -61,7 +61,7 @@ public class SystemDataService {
|
||||
deptIds.add(user.getDept().getId());
|
||||
break;
|
||||
case CUSTOMIZE:
|
||||
deptIds.addAll(this.findCustomDataPermissionList(deptIds, role));
|
||||
deptIds.addAll(this.queryCustomDataPermissionByArgs(deptIds, role));
|
||||
break;
|
||||
default:
|
||||
return new ArrayList<>();
|
||||
@@ -77,13 +77,13 @@ public class SystemDataService {
|
||||
* @param role 角色
|
||||
* @return 数据权限ID
|
||||
*/
|
||||
private List<Long> findCustomDataPermissionList(List<Long> deptIds, SystemRoleTb role) {
|
||||
private List<Long> queryCustomDataPermissionByArgs(List<Long> deptIds, SystemRoleTb role) {
|
||||
List<SystemDeptTb> deptList = systemRoleDeptService.selectDeptByRoleId(role.getId());
|
||||
for (SystemDeptTb dept : deptList) {
|
||||
deptIds.add(dept.getId());
|
||||
List<SystemDeptTb> deptChildren = systemDeptService.queryDeptByPid(dept.getId());
|
||||
List<SystemDeptTb> deptChildren = systemDeptService.listDeptByPid(dept.getId());
|
||||
if (CollUtil.isNotEmpty(deptChildren)) {
|
||||
deptIds.addAll(systemDeptService.queryChildDeptIdListByDeptIds(deptChildren));
|
||||
deptIds.addAll(systemDeptService.queryChildDeptIdByDeptIds(deptChildren));
|
||||
}
|
||||
}
|
||||
return deptIds;
|
||||
|
||||
+43
-43
@@ -29,7 +29,6 @@ import cn.odboy.system.dal.model.SystemProductLineTreeVo;
|
||||
import cn.odboy.system.dal.model.SystemProductLineVo;
|
||||
import cn.odboy.system.dal.model.SystemQueryDeptArgs;
|
||||
import cn.odboy.system.dal.mysql.SystemDeptMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
|
||||
import cn.odboy.util.KitClassUtil;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
@@ -58,7 +57,7 @@ public class SystemDeptService {
|
||||
@Autowired
|
||||
private SystemDeptMapper systemDeptMapper;
|
||||
@Autowired
|
||||
private SystemUserMapper systemUserMapper;
|
||||
private SystemUserService systemUserService;
|
||||
@Autowired
|
||||
private SystemRoleService systemRoleService;
|
||||
|
||||
@@ -99,7 +98,7 @@ public class SystemDeptService {
|
||||
* @param deptSet /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeDeptByIds(Set<SystemDeptTb> deptSet) {
|
||||
public void deleteDeptByIds(Set<SystemDeptTb> deptSet) {
|
||||
for (SystemDeptTb dept : deptSet) {
|
||||
systemDeptMapper.deleteById(dept.getId());
|
||||
this.updateDeptSubCnt(dept.getPid());
|
||||
@@ -138,7 +137,7 @@ public class SystemDeptService {
|
||||
}
|
||||
}
|
||||
|
||||
public long countDeptByPid(Long pid) {
|
||||
private long countDeptByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getPid, pid);
|
||||
return systemDeptMapper.selectCount(wrapper);
|
||||
@@ -160,7 +159,7 @@ public class SystemDeptService {
|
||||
return deptList;
|
||||
}
|
||||
|
||||
public List<SystemDeptTb> queryDeptByArgs(SystemQueryDeptArgs criteria) {
|
||||
private List<SystemDeptTb> queryDeptByArgs(SystemQueryDeptArgs criteria) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.in(CollUtil.isNotEmpty(criteria.getIds()), SystemDeptTb::getId, criteria.getIds());
|
||||
@@ -185,7 +184,7 @@ public class SystemDeptService {
|
||||
* @return /
|
||||
* @throws Exception /
|
||||
*/
|
||||
public List<SystemDeptTb> queryAllDept(SystemQueryDeptArgs criteria, Boolean isQuery) throws Exception {
|
||||
public List<SystemDeptTb> queryAllDeptByArgs(SystemQueryDeptArgs criteria, Boolean isQuery) throws Exception {
|
||||
String dataScopeType = KitSecurityHelper.getDataScopeType();
|
||||
if (isQuery) {
|
||||
if (dataScopeType.equals(SystemDataScopeEnum.ALL.getValue())) {
|
||||
@@ -229,16 +228,6 @@ public class SystemDeptService {
|
||||
return systemDeptMapper.selectById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据PID查询
|
||||
*
|
||||
* @param pid /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDeptTb> queryDeptByPid(long pid) {
|
||||
return this.selectDeptByPid(pid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取部门下所有关联的部门
|
||||
*
|
||||
@@ -246,30 +235,24 @@ public class SystemDeptService {
|
||||
* @param depts /
|
||||
* @return /
|
||||
*/
|
||||
public Set<SystemDeptTb> queryRelationDeptSet(List<SystemDeptTb> deptTbList, Set<SystemDeptTb> depts) {
|
||||
private Set<SystemDeptTb> queryRelationDeptByArgs(List<SystemDeptTb> deptTbList, Set<SystemDeptTb> depts) {
|
||||
for (SystemDeptTb dept : deptTbList) {
|
||||
depts.add(dept);
|
||||
List<SystemDeptTb> deptList = this.selectDeptByPid(dept.getId());
|
||||
List<SystemDeptTb> deptList = this.listDeptByPid(dept.getId());
|
||||
if (CollUtil.isNotEmpty(deptList)) {
|
||||
queryRelationDeptSet(deptList, depts);
|
||||
queryRelationDeptByArgs(deptList, depts);
|
||||
}
|
||||
}
|
||||
return depts;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取
|
||||
*
|
||||
* @param deptList 、
|
||||
* @return 、
|
||||
*/
|
||||
public List<Long> queryChildDeptIdListByDeptIds(List<SystemDeptTb> deptList) {
|
||||
public List<Long> queryChildDeptIdByDeptIds(List<SystemDeptTb> deptList) {
|
||||
List<Long> list = new ArrayList<>();
|
||||
for (SystemDeptTb systemDeptTb : deptList) {
|
||||
if (systemDeptTb != null && systemDeptTb.getEnabled()) {
|
||||
List<SystemDeptTb> deptList1 = this.selectDeptByPid(systemDeptTb.getId());
|
||||
List<SystemDeptTb> deptList1 = this.listDeptByPid(systemDeptTb.getId());
|
||||
if (CollUtil.isNotEmpty(deptList1)) {
|
||||
list.addAll(queryChildDeptIdListByDeptIds(deptList1));
|
||||
list.addAll(queryChildDeptIdByDeptIds(deptList1));
|
||||
}
|
||||
list.add(systemDeptTb.getId());
|
||||
}
|
||||
@@ -284,16 +267,16 @@ public class SystemDeptService {
|
||||
* @param deptList /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDeptTb> querySuperiorDeptListByPid(SystemDeptTb dept, List<SystemDeptTb> deptList) {
|
||||
private List<SystemDeptTb> querySuperiorDeptByPid(SystemDeptTb dept, List<SystemDeptTb> deptList) {
|
||||
if (dept.getPid() == null) {
|
||||
deptList.addAll(this.selectDeptByPidIsNull());
|
||||
deptList.addAll(this.listRootDept());
|
||||
return deptList;
|
||||
}
|
||||
deptList.addAll(this.selectDeptByPid(dept.getPid()));
|
||||
return querySuperiorDeptListByPid(this.getDeptById(dept.getPid()), deptList);
|
||||
deptList.addAll(this.listDeptByPid(dept.getPid()));
|
||||
return querySuperiorDeptByPid(this.getDeptById(dept.getPid()), deptList);
|
||||
}
|
||||
|
||||
public List<SystemDeptTb> selectDeptByPidIsNull() {
|
||||
private List<SystemDeptTb> listRootDept() {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.isNull(SystemDeptTb::getPid);
|
||||
return systemDeptMapper.selectList(wrapper);
|
||||
@@ -302,10 +285,28 @@ public class SystemDeptService {
|
||||
/**
|
||||
* 构建树形数据
|
||||
*
|
||||
* @param deptList /
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemDeptTb> buildDeptTree(List<SystemDeptTb> deptList) {
|
||||
public KitPageResult<SystemDeptTb> searchDeptTree(List<Long> ids, Boolean exclude) {
|
||||
Set<SystemDeptTb> deptSet1 = new LinkedHashSet<>();
|
||||
for (Long id : ids) {
|
||||
// 同级数据
|
||||
SystemDeptTb dept = this.getDeptById(id);
|
||||
// 上级数据
|
||||
List<SystemDeptTb> depts = this.querySuperiorDeptByPid(dept, new ArrayList<>());
|
||||
if (exclude) {
|
||||
for (SystemDeptTb data : depts) {
|
||||
if (data.getId().equals(dept.getPid())) {
|
||||
data.setSubCount(data.getSubCount() - 1);
|
||||
}
|
||||
}
|
||||
// 编辑部门时不显示自己以及自己下级的数据, 避免出现PID数据环形问题
|
||||
depts = depts.stream().filter(i -> !ids.contains(i.getId())).collect(Collectors.toList());
|
||||
}
|
||||
deptSet1.addAll(depts);
|
||||
}
|
||||
ArrayList<SystemDeptTb> deptList = new ArrayList<>(deptSet1);
|
||||
// 构建部门树
|
||||
Set<SystemDeptTb> trees = new LinkedHashSet<>();
|
||||
Set<SystemDeptTb> deptSet = new LinkedHashSet<>();
|
||||
List<String> deptNames = deptList.stream().map(SystemDeptTb::getName).collect(Collectors.toList());
|
||||
@@ -346,7 +347,7 @@ public class SystemDeptService {
|
||||
*/
|
||||
public void verifyBindRelationByIds(Set<SystemDeptTb> deptSet) {
|
||||
Set<Long> deptIds = deptSet.stream().map(SystemDeptTb::getId).collect(Collectors.toSet());
|
||||
if (systemUserMapper.countUserByDeptIds(deptIds) > 0) {
|
||||
if (systemUserService.countUserByDeptIds(deptIds) > 0) {
|
||||
throw new BadRequestException("所选部门存在用户关联,请解除后再试!");
|
||||
}
|
||||
if (systemRoleService.countRoleByDeptIds(deptIds) > 0) {
|
||||
@@ -354,7 +355,7 @@ public class SystemDeptService {
|
||||
}
|
||||
}
|
||||
|
||||
public List<SystemDeptTb> selectEnabledDepts() {
|
||||
private List<SystemDeptTb> listEnabledDepts() {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getEnabled, 1);
|
||||
return systemDeptMapper.selectList(wrapper);
|
||||
@@ -371,16 +372,16 @@ public class SystemDeptService {
|
||||
// 根部门
|
||||
depts.add(this.getDeptById(id));
|
||||
// 子部门
|
||||
List<SystemDeptTb> deptList = queryDeptByPid(id);
|
||||
List<SystemDeptTb> deptList = listDeptByPid(id);
|
||||
if (CollectionUtil.isNotEmpty(deptList)) {
|
||||
depts = queryRelationDeptSet(deptList, depts);
|
||||
depts = queryRelationDeptByArgs(deptList, depts);
|
||||
}
|
||||
}
|
||||
return depts;
|
||||
}
|
||||
|
||||
public List<SystemProductLineVo> queryDeptSelectDataSource() {
|
||||
List<SystemDeptTb> depts = this.selectEnabledDepts();
|
||||
List<SystemDeptTb> depts = this.listEnabledDepts();
|
||||
return buildDeptSelectOptions(depts);
|
||||
}
|
||||
|
||||
@@ -429,7 +430,7 @@ public class SystemDeptService {
|
||||
}
|
||||
|
||||
public List<SystemProductLineTreeVo> queryDeptSelectProDataSource() {
|
||||
List<SystemDeptTb> depts = this.selectEnabledDepts();
|
||||
List<SystemDeptTb> depts = this.listEnabledDepts();
|
||||
// 获取所有部门并按父子关系组织
|
||||
Map<Long, SystemDeptTb> deptMap =
|
||||
depts.stream().collect(Collectors.toMap(SystemDeptTb::getId, Function.identity()));
|
||||
@@ -477,10 +478,9 @@ public class SystemDeptService {
|
||||
return vo;
|
||||
}
|
||||
|
||||
public List<SystemDeptTb> selectDeptByPid(long pid) {
|
||||
public List<SystemDeptTb> listDeptByPid(long pid) {
|
||||
LambdaQueryWrapper<SystemDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDeptTb::getPid, pid);
|
||||
return systemDeptMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+9
-10
@@ -64,7 +64,7 @@ public class SystemDictDetailService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyDictDetailById(SystemDictDetailTb args) {
|
||||
public void updateDictDetailById(SystemDictDetailTb args) {
|
||||
SystemDictDetailTb dictDetail = systemDictDetailMapper.selectById(args.getId());
|
||||
args.setId(dictDetail.getId());
|
||||
systemDictDetailMapper.insertOrUpdate(args);
|
||||
@@ -76,7 +76,7 @@ public class SystemDictDetailService {
|
||||
* @param id /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeDictDetailById(Long id) {
|
||||
public void deleteDictDetailById(Long id) {
|
||||
systemDictDetailMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@@ -89,13 +89,13 @@ public class SystemDictDetailService {
|
||||
}
|
||||
}
|
||||
|
||||
private List<SystemDictDetailTb> selectByDictId(Long dictId) {
|
||||
private List<SystemDictDetailTb> listDictDetailByDictId(Long dictId) {
|
||||
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDictDetailTb::getDictId, dictId);
|
||||
return systemDictDetailMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
private IPage<SystemDictDetailTb> selectDictDetailByArgs(List<Long> dictIds, Page<SystemDictDetailTb> page) {
|
||||
private IPage<SystemDictDetailTb> searchDictDetailByArgs(List<Long> dictIds, Page<SystemDictDetailTb> page) {
|
||||
LambdaQueryWrapper<SystemDictDetailTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(CollUtil.isNotEmpty(dictIds), SystemDictDetailTb::getDictId, dictIds);
|
||||
return systemDictDetailMapper.selectPage(page, wrapper);
|
||||
@@ -108,14 +108,14 @@ public class SystemDictDetailService {
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemDictDetailVo> queryDictDetailByArgs(SystemQueryDictDetailArgs args,
|
||||
public KitPageResult<SystemDictDetailVo> searchDictDetail(SystemQueryDictDetailArgs args,
|
||||
Page<SystemDictDetailTb> page) {
|
||||
IPage<SystemDictDetailVo> iPage = new Page<>();
|
||||
List<Long> dictIds = new ArrayList<>();
|
||||
List<SystemDictTb> dictTbs = new ArrayList<>();
|
||||
|
||||
if (args == null) {
|
||||
dictTbs.addAll(systemDictService.selectList(null));
|
||||
dictTbs.addAll(systemDictService.listAll());
|
||||
dictIds = dictTbs.stream().map(SystemDictTb::getId).collect(Collectors.toList());
|
||||
} else {
|
||||
String dictName = args.getDictName();
|
||||
@@ -132,7 +132,7 @@ public class SystemDictDetailService {
|
||||
}
|
||||
|
||||
Map<Long, SystemDictTb> id2ItemMap = dictTbs.stream().collect(Collectors.toMap(SystemDictTb::getId, i -> i));
|
||||
iPage = this.selectDictDetailByArgs(dictIds, page)
|
||||
iPage = this.searchDictDetailByArgs(dictIds, page)
|
||||
.convert(i -> BeanUtil.copyProperties(i, SystemDictDetailVo.class));
|
||||
for (SystemDictDetailVo record : iPage.getRecords()) {
|
||||
record.setDict(id2ItemMap.get(record.getDictId()));
|
||||
@@ -146,7 +146,7 @@ public class SystemDictDetailService {
|
||||
* @param name 字典名称
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDictDetailVo> queryDictDetailByName(String name) {
|
||||
public List<SystemDictDetailVo> listDictDetailByName(String name) {
|
||||
if (StrUtil.isBlank(name)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
@@ -154,11 +154,10 @@ public class SystemDictDetailService {
|
||||
if (systemDictTb == null) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return this.selectByDictId(systemDictTb.getId()).stream().map(m -> {
|
||||
return this.listDictDetailByDictId(systemDictTb.getId()).stream().map(m -> {
|
||||
SystemDictDetailVo detailVo = BeanUtil.copyProperties(m, SystemDictDetailVo.class);
|
||||
detailVo.setDict(systemDictTb);
|
||||
return detailVo;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+11
-28
@@ -64,7 +64,7 @@ public class SystemDictService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyDictById(SystemDictTb args) {
|
||||
public void updateDictById(SystemDictTb args) {
|
||||
SystemDictTb dict = systemDictMapper.selectById(args.getId());
|
||||
dict.setName(args.getName());
|
||||
dict.setDescription(args.getDescription());
|
||||
@@ -77,7 +77,7 @@ public class SystemDictService {
|
||||
* @param ids /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeDictByIds(Set<Long> ids) {
|
||||
public void deleteDictByIds(Set<Long> ids) {
|
||||
// 删除字典
|
||||
systemDictMapper.deleteByIds(ids);
|
||||
// 删除字典详情
|
||||
@@ -94,7 +94,7 @@ public class SystemDictService {
|
||||
public void exportDictExcel(List<SystemDictTb> dicts, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (SystemDictTb dict : dicts) {
|
||||
List<SystemDictDetailVo> dictDetails = systemDictDetailService.queryDictDetailByName(dict.getName());
|
||||
List<SystemDictDetailVo> dictDetails = systemDictDetailService.listDictDetailByName(dict.getName());
|
||||
if (CollectionUtil.isNotEmpty(dictDetails)) {
|
||||
for (SystemDictDetailTb dictDetail : dictDetails) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
@@ -125,22 +125,11 @@ public class SystemDictService {
|
||||
* @param page 分页参数
|
||||
* @return /
|
||||
*/
|
||||
public KitPageResult<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args, Page<SystemDictTb> page) {
|
||||
return KitPageUtil.toPage(this.selectDictByArgs(args, page));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询全部数据
|
||||
*
|
||||
* @param args /
|
||||
* @return /
|
||||
*/
|
||||
public List<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args) {
|
||||
return this.selectDictByArgs(args);
|
||||
}
|
||||
|
||||
public SystemDictTb getById(int id) {
|
||||
return systemDictMapper.selectById(id);
|
||||
public KitPageResult<SystemDictTb> searchDict(SystemQueryDictArgs args, Page<SystemDictTb> page) {
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(args, wrapper);
|
||||
Page<SystemDictTb> selectPage = systemDictMapper.selectPage(page, wrapper);
|
||||
return KitPageUtil.toPage(selectPage);
|
||||
}
|
||||
|
||||
private void injectQueryParams(SystemQueryDictArgs args, LambdaQueryWrapper<SystemDictTb> wrapper) {
|
||||
@@ -150,25 +139,19 @@ public class SystemDictService {
|
||||
}
|
||||
}
|
||||
|
||||
private List<SystemDictTb> selectDictByArgs(SystemQueryDictArgs args) {
|
||||
public List<SystemDictTb> queryDictByArgs(SystemQueryDictArgs args) {
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(args, wrapper);
|
||||
return systemDictMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
private List<SystemDictTb> selectDictByArgs(SystemQueryDictArgs args, Page<SystemDictTb> page) {
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
injectQueryParams(args, wrapper);
|
||||
return systemDictMapper.selectList(page, wrapper);
|
||||
}
|
||||
|
||||
public SystemDictTb getByName(String name) {
|
||||
LambdaQueryWrapper<SystemDictTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemDictTb::getName, name);
|
||||
return systemDictMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
public List<SystemDictTb> selectList(LambdaQueryWrapper<SystemDictTb> wrapper) {
|
||||
return systemDictMapper.selectList(wrapper);
|
||||
public List<SystemDictTb> listAll() {
|
||||
return systemDictMapper.selectList(null);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ public class SystemEmailService {
|
||||
* @param emailConfig 邮箱配置
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyEmailConfig(SystemEmailConfigTb emailConfig) throws Exception {
|
||||
public void updateEmailConfigById(SystemEmailConfigTb emailConfig) throws Exception {
|
||||
SystemEmailConfigTb systemEmailConfigTb = getLastEmailConfig();
|
||||
if (!emailConfig.getPassword().equals(systemEmailConfigTb.getPassword())) {
|
||||
// 对称加密
|
||||
|
||||
+3
-3
@@ -47,7 +47,7 @@ public class SystemJobService {
|
||||
@Autowired
|
||||
private SystemJobMapper systemJobMapper;
|
||||
@Autowired
|
||||
private SystemUserMapper systemUserMapper;
|
||||
private SystemUserService systemUserService;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -69,7 +69,7 @@ public class SystemJobService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyJobById(SystemJobTb args) {
|
||||
public void updateJobById(SystemJobTb args) {
|
||||
SystemJobTb job = systemJobMapper.selectById(args.getId());
|
||||
SystemJobTb old = this.getJobByName(args.getName());
|
||||
if (old != null && !old.getId().equals(args.getId())) {
|
||||
@@ -135,7 +135,7 @@ public class SystemJobService {
|
||||
* @param ids /
|
||||
*/
|
||||
public void verifyBindRelationByIds(Set<Long> ids) {
|
||||
if (systemUserMapper.countUserByJobIds(ids) > 0) {
|
||||
if (systemUserService.countUserByJobIds(ids) > 0) {
|
||||
throw new BadRequestException("所选的岗位中存在用户关联, 请解除关联再试!");
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ public class SystemLocalStorageService {
|
||||
* @param args 文件信息
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyLocalStorageById(SystemLocalStorageTb args) {
|
||||
public void updateLocalStorageById(SystemLocalStorageTb args) {
|
||||
SystemLocalStorageTb localStorage = systemLocalStorageMapper.selectById(args.getId());
|
||||
localStorage.copy(args);
|
||||
systemLocalStorageMapper.insertOrUpdate(localStorage);
|
||||
|
||||
+68
-14
@@ -34,6 +34,7 @@ import cn.odboy.system.dal.mysql.SystemRoleMenuMapper;
|
||||
import cn.odboy.util.KitClassUtil;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
@@ -71,11 +72,11 @@ public class SystemMenuService {
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveMenu(SystemMenuTb args) {
|
||||
if (systemMenuMapper.getMenuByTitle(args.getTitle()) != null) {
|
||||
if (this.getMenuByTitle(args.getTitle()) != null) {
|
||||
throw new BadRequestException("菜单标题已存在");
|
||||
}
|
||||
if (StrUtil.isNotBlank(args.getComponentName())) {
|
||||
if (systemMenuMapper.getMenuByComponentName(args.getComponentName()) != null) {
|
||||
if (this.getMenuByComponentName(args.getComponentName()) != null) {
|
||||
throw new BadRequestException("菜单组件名称已存在");
|
||||
}
|
||||
}
|
||||
@@ -101,7 +102,7 @@ public class SystemMenuService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyMenuById(SystemMenuTb args) {
|
||||
public void updateMenuById(SystemMenuTb args) {
|
||||
if (args.getId().equals(args.getPid())) {
|
||||
throw new BadRequestException("上级不能为自己");
|
||||
}
|
||||
@@ -112,7 +113,7 @@ public class SystemMenuService {
|
||||
throw new BadRequestException(TransferProtocolConst.PREFIX_HTTPS_BAD_REQUEST);
|
||||
}
|
||||
}
|
||||
SystemMenuTb menu1 = systemMenuMapper.getMenuByTitle(args.getTitle());
|
||||
SystemMenuTb menu1 = this.getMenuByTitle(args.getTitle());
|
||||
if (menu1 != null && !menu1.getId().equals(menu.getId())) {
|
||||
throw new BadRequestException("菜单标题已存在");
|
||||
}
|
||||
@@ -123,7 +124,7 @@ public class SystemMenuService {
|
||||
Long oldPid = menu.getPid();
|
||||
Long newPid = args.getPid();
|
||||
if (StrUtil.isNotBlank(args.getComponentName())) {
|
||||
menu1 = systemMenuMapper.getMenuByComponentName(args.getComponentName());
|
||||
menu1 = this.getMenuByComponentName(args.getComponentName());
|
||||
if (menu1 != null && !menu1.getId().equals(menu.getId())) {
|
||||
throw new BadRequestException("菜单组件名称已存在");
|
||||
}
|
||||
@@ -206,8 +207,11 @@ public class SystemMenuService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateMenuSubCnt(Long menuId) {
|
||||
if (menuId != null) {
|
||||
long count = systemMenuMapper.countMenuByPid(menuId);
|
||||
systemMenuMapper.updateMenuSubCntByMenuId(count, menuId);
|
||||
long count = this.countMenuByPid(menuId);
|
||||
LambdaUpdateWrapper<SystemMenuTb> wrapper = new LambdaUpdateWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getId, menuId);
|
||||
wrapper.set(SystemMenuTb::getSubCount, count);
|
||||
systemMenuMapper.update(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,7 +241,7 @@ public class SystemMenuService {
|
||||
}
|
||||
}
|
||||
}
|
||||
return systemMenuMapper.selectMenuByArgs(criteria);
|
||||
return this.queryMenuByArgs(criteria);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -262,7 +266,7 @@ public class SystemMenuService {
|
||||
public Set<SystemMenuTb> queryChildMenu(List<SystemMenuTb> menuList, Set<SystemMenuTb> menuSet) {
|
||||
for (SystemMenuTb menu : menuList) {
|
||||
menuSet.add(menu);
|
||||
List<SystemMenuTb> menus = systemMenuMapper.selectMenuByPid(menu.getId());
|
||||
List<SystemMenuTb> menus = this.getMenuByPid(menu.getId());
|
||||
if (CollUtil.isNotEmpty(menus)) {
|
||||
queryChildMenu(menus, menuSet);
|
||||
}
|
||||
@@ -279,9 +283,9 @@ public class SystemMenuService {
|
||||
public List<SystemMenuTb> queryMenuByPid(Long pid) {
|
||||
List<SystemMenuTb> menus;
|
||||
if (pid != null && !pid.equals(0L)) {
|
||||
menus = systemMenuMapper.selectMenuByPid(pid);
|
||||
menus = this.getMenuByPid(pid);
|
||||
} else {
|
||||
menus = systemMenuMapper.selectMenuByPidIsNull();
|
||||
menus = this.listRootMenu();
|
||||
}
|
||||
return menus;
|
||||
}
|
||||
@@ -295,10 +299,10 @@ public class SystemMenuService {
|
||||
*/
|
||||
public List<SystemMenuTb> querySuperiorMenuList(SystemMenuTb menu, List<SystemMenuTb> menus) {
|
||||
if (menu.getPid() == null) {
|
||||
menus.addAll(systemMenuMapper.selectMenuByPidIsNull());
|
||||
menus.addAll(this.listRootMenu());
|
||||
return menus;
|
||||
}
|
||||
menus.addAll(systemMenuMapper.selectMenuByPid(menu.getPid()));
|
||||
menus.addAll(this.getMenuByPid(menu.getPid()));
|
||||
return querySuperiorMenuList(systemMenuMapper.selectById(menu.getPid()), menus);
|
||||
}
|
||||
|
||||
@@ -401,7 +405,57 @@ public class SystemMenuService {
|
||||
return menuVo1;
|
||||
}
|
||||
|
||||
public List<SystemMenuTb> queryMenuByIds(List<Long> ids) {
|
||||
public List<SystemMenuTb> listMenuByIds(List<Long> ids) {
|
||||
return systemMenuMapper.selectByIds(ids);
|
||||
}
|
||||
|
||||
private SystemMenuTb getMenuByComponentName(String componentName) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getComponentName, componentName);
|
||||
return systemMenuMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
private SystemMenuTb getMenuByTitle(String title) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getTitle, title);
|
||||
return systemMenuMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
private Long countMenuByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getPid, pid);
|
||||
return systemMenuMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
private List<SystemMenuTb> queryMenuByArgs(SystemQueryMenuArgs criteria) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.isNull(criteria.getPidIsNull() != null, SystemMenuTb::getPid);
|
||||
wrapper.eq(criteria.getPid() != null, SystemMenuTb::getPid, criteria.getPid());
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemMenuTb::getTitle, criteria.getBlurry()).or()
|
||||
.like(SystemMenuTb::getComponentName, criteria.getBlurry()).or()
|
||||
.like(SystemMenuTb::getPermission, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemMenuTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return systemMenuMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
private List<SystemMenuTb> getMenuByPid(Long pid) {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemMenuTb::getPid, pid);
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return systemMenuMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
private List<SystemMenuTb> listRootMenu() {
|
||||
LambdaQueryWrapper<SystemMenuTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.isNull(SystemMenuTb::getPid);
|
||||
wrapper.orderByAsc(SystemMenuTb::getMenuSort);
|
||||
return systemMenuMapper.selectList(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* OSS存储 服务类
|
||||
* OSS存储接口
|
||||
* </p>
|
||||
*
|
||||
* @author codegen
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@ public class SystemQuartzJobService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyQuartzJobResumeCron(SystemUpdateQuartzJobArgs args) {
|
||||
public void updateQuartzJobResumeCron(SystemUpdateQuartzJobArgs args) {
|
||||
if (!CronExpression.isValidExpression(args.getCronExpression())) {
|
||||
throw new BadRequestException("cron表达式格式错误");
|
||||
}
|
||||
|
||||
+43
-30
@@ -21,21 +21,20 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.odboy.base.KitPageResult;
|
||||
import cn.odboy.framework.exception.BadRequestException;
|
||||
import cn.odboy.system.dal.dataobject.SystemMenuTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleMenuTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleDeptTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemDeptTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemMenuTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleDeptTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleMenuTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.model.SystemCreateRoleArgs;
|
||||
import cn.odboy.system.dal.model.SystemQueryRoleArgs;
|
||||
import cn.odboy.system.dal.model.SystemRoleCodeVo;
|
||||
import cn.odboy.system.dal.model.SystemRoleVo;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMenuMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleDeptMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMenuMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
|
||||
import cn.odboy.util.KitFileUtil;
|
||||
import cn.odboy.util.KitPageUtil;
|
||||
@@ -64,8 +63,6 @@ public class SystemRoleService {
|
||||
@Autowired
|
||||
private SystemRoleMenuService systemRoleMenuService;
|
||||
@Autowired
|
||||
private SystemUserMapper systemUserMapper;
|
||||
@Autowired
|
||||
private SystemRoleDeptService systemRoleDeptService;
|
||||
@Autowired
|
||||
private SystemRoleMenuMapper systemRoleMenuMapper;
|
||||
@@ -73,6 +70,8 @@ public class SystemRoleService {
|
||||
private SystemRoleDeptMapper systemRoleDeptMapper;
|
||||
@Autowired
|
||||
private SystemUserRoleMapper systemUserRoleMapper;
|
||||
@Autowired
|
||||
private SystemUserService systemUserService;
|
||||
|
||||
/**
|
||||
* 创建
|
||||
@@ -103,7 +102,7 @@ public class SystemRoleService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyRoleById(SystemRoleVo args) {
|
||||
public void updateRoleById(SystemRoleVo args) {
|
||||
SystemRoleVo role = BeanUtil.copyProperties(systemRoleMapper.selectById(args.getId()), SystemRoleVo.class);
|
||||
SystemRoleTb role1 = this.getRoleByName(args.getName());
|
||||
if (role1 != null && !role1.getId().equals(role.getId())) {
|
||||
@@ -129,7 +128,7 @@ public class SystemRoleService {
|
||||
*
|
||||
* @param role /
|
||||
*/
|
||||
public void modifyBindMenuById(SystemRoleVo role) {
|
||||
public void updateBindMenuById(SystemRoleVo role) {
|
||||
// 更新菜单
|
||||
systemRoleMenuService.deleteRoleMenuByRoleId(role.getId());
|
||||
// 判断是否为空
|
||||
@@ -205,7 +204,7 @@ public class SystemRoleService {
|
||||
}
|
||||
}
|
||||
wrapper.orderByAsc(SystemRoleTb::getLevel);
|
||||
|
||||
|
||||
// 分页处理
|
||||
if (criteria != null && criteria.getOffset() > 0 && criteria.getSize() != null) {
|
||||
Page<SystemRoleTb> rolePage = new Page<>(criteria.getOffset() / criteria.getSize() + 1, criteria.getSize());
|
||||
@@ -228,7 +227,7 @@ public class SystemRoleService {
|
||||
public KitPageResult<SystemRoleVo> queryRoleByArgs(SystemQueryRoleArgs criteria, Page<Object> page) {
|
||||
criteria.setOffset(page.offset());
|
||||
List<SystemRoleVo> roles = this.queryRoleByArgs(criteria);
|
||||
Long total = systemRoleMapper.countRoleByArgs(criteria);
|
||||
Long total = this.countRoleByArgs(criteria);
|
||||
return KitPageUtil.toPage(roles, total);
|
||||
}
|
||||
|
||||
@@ -243,14 +242,14 @@ public class SystemRoleService {
|
||||
LambdaQueryWrapper<SystemUserRoleTb> userRoleWrapper = new LambdaQueryWrapper<>();
|
||||
userRoleWrapper.eq(SystemUserRoleTb::getUserId, userId);
|
||||
List<SystemUserRoleTb> userRoles = systemUserRoleMapper.selectList(userRoleWrapper);
|
||||
|
||||
|
||||
if (CollUtil.isEmpty(userRoles)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
|
||||
Set<Long> roleIds = userRoles.stream().map(SystemUserRoleTb::getRoleId).collect(Collectors.toSet());
|
||||
List<SystemRoleTb> roles = systemRoleMapper.selectByIds(roleIds);
|
||||
|
||||
|
||||
return roles.stream().map(this::convertToRoleVo).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@@ -296,7 +295,7 @@ public class SystemRoleService {
|
||||
* @param ids /
|
||||
*/
|
||||
public void verifyBindRelationByIds(Set<Long> ids) {
|
||||
if (systemUserMapper.countUserByRoleIds(ids) > 0) {
|
||||
if (systemUserService.countUserByRoleIds(ids) > 0) {
|
||||
throw new BadRequestException("所选角色存在用户关联, 请解除关联再试!");
|
||||
}
|
||||
}
|
||||
@@ -336,14 +335,14 @@ public class SystemRoleService {
|
||||
LambdaQueryWrapper<SystemRoleMenuTb> roleMenuWrapper = new LambdaQueryWrapper<>();
|
||||
roleMenuWrapper.eq(SystemRoleMenuTb::getMenuId, menuId);
|
||||
List<SystemRoleMenuTb> roleMenuList = systemRoleMenuMapper.selectList(roleMenuWrapper);
|
||||
|
||||
|
||||
if (CollUtil.isEmpty(roleMenuList)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
|
||||
Set<Long> roleIds = roleMenuList.stream().map(SystemRoleMenuTb::getRoleId).collect(Collectors.toSet());
|
||||
List<SystemRoleTb> roles = systemRoleMapper.selectByIds(roleIds);
|
||||
|
||||
|
||||
return roles.stream().map(this::convertToRoleVo).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@@ -353,14 +352,14 @@ public class SystemRoleService {
|
||||
* @param deptIds 部门ID集合
|
||||
* @return /
|
||||
*/
|
||||
public Integer countRoleByDeptIds(Set<Long> deptIds) {
|
||||
public Long countRoleByDeptIds(Set<Long> deptIds) {
|
||||
if (CollUtil.isEmpty(deptIds)) {
|
||||
return 0;
|
||||
return 0L;
|
||||
}
|
||||
|
||||
|
||||
LambdaQueryWrapper<SystemRoleDeptTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemRoleDeptTb::getDeptId, deptIds);
|
||||
return systemRoleDeptMapper.selectCount(wrapper).intValue();
|
||||
return systemRoleDeptMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -373,18 +372,32 @@ public class SystemRoleService {
|
||||
if (role == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
SystemRoleVo roleVo = BeanUtil.copyProperties(role, SystemRoleVo.class);
|
||||
|
||||
|
||||
// 查询关联的菜单信息
|
||||
Set<SystemMenuTb> menus = systemRoleMenuService.queryMenuByRoleIdsAndType(
|
||||
Collections.singleton(role.getId()), -1);
|
||||
roleVo.setMenus(menus);
|
||||
|
||||
|
||||
// 查询关联的部门信息
|
||||
List<SystemDeptTb> depts = systemRoleDeptService.selectDeptByRoleId(role.getId());
|
||||
roleVo.setDepts(new LinkedHashSet<>(depts));
|
||||
|
||||
|
||||
return roleVo;
|
||||
}
|
||||
|
||||
public Long countRoleByArgs(SystemQueryRoleArgs criteria) {
|
||||
LambdaQueryWrapper<SystemRoleTb> wrapper = new LambdaQueryWrapper<>();
|
||||
if (criteria != null) {
|
||||
wrapper.and(StrUtil.isNotBlank(criteria.getBlurry()),
|
||||
c -> c.like(SystemRoleTb::getName, criteria.getBlurry()).or()
|
||||
.like(SystemRoleTb::getDescription, criteria.getBlurry()));
|
||||
if (CollUtil.isNotEmpty(criteria.getCreateTime()) && criteria.getCreateTime().size() >= 2) {
|
||||
wrapper.between(SystemRoleTb::getCreateTime, criteria.getCreateTime().get(0),
|
||||
criteria.getCreateTime().get(1));
|
||||
}
|
||||
}
|
||||
return systemRoleMapper.selectCount(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+52
-37
@@ -31,12 +31,12 @@ import cn.odboy.system.dal.dataobject.SystemUserRoleTb;
|
||||
import cn.odboy.system.dal.dataobject.SystemUserTb;
|
||||
import cn.odboy.system.dal.model.SystemQueryUserArgs;
|
||||
import cn.odboy.system.dal.model.SystemUserVo;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserJobMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemDeptMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemJobMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemRoleMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemDeptMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserJobMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserMapper;
|
||||
import cn.odboy.system.dal.mysql.SystemUserRoleMapper;
|
||||
import cn.odboy.system.dal.redis.SystemUserInfoDAO;
|
||||
import cn.odboy.system.dal.redis.SystemUserOnlineInfoDAO;
|
||||
import cn.odboy.system.framework.permission.core.KitSecurityHelper;
|
||||
@@ -97,13 +97,13 @@ public class SystemUserService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveUser(SystemUserVo args) {
|
||||
args.setDeptId(args.getDept().getId());
|
||||
if (systemUserMapper.getUserByUsername(args.getUsername()) != null) {
|
||||
if (this.getUserByUsername(args.getUsername()) != null) {
|
||||
throw new BadRequestException("用户名已存在");
|
||||
}
|
||||
if (systemUserMapper.getUserByEmail(args.getEmail()) != null) {
|
||||
if (this.getUserByEmail(args.getEmail()) != null) {
|
||||
throw new BadRequestException("邮箱已存在");
|
||||
}
|
||||
if (systemUserMapper.getUserByPhone(args.getPhone()) != null) {
|
||||
if (this.getUserByPhone(args.getPhone()) != null) {
|
||||
throw new BadRequestException("手机号已存在");
|
||||
}
|
||||
systemUserMapper.insert(args);
|
||||
@@ -120,11 +120,11 @@ public class SystemUserService {
|
||||
* @throws Exception /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyUserById(SystemUserVo args) {
|
||||
public void updateUserById(SystemUserVo args) {
|
||||
SystemUserTb user = systemUserMapper.selectById(args.getId());
|
||||
SystemUserTb user1 = systemUserMapper.getUserByUsername(args.getUsername());
|
||||
SystemUserTb user2 = systemUserMapper.getUserByEmail(args.getEmail());
|
||||
SystemUserTb user3 = systemUserMapper.getUserByPhone(args.getPhone());
|
||||
SystemUserTb user1 = this.getUserByUsername(args.getUsername());
|
||||
SystemUserTb user2 = this.getUserByEmail(args.getEmail());
|
||||
SystemUserTb user3 = this.getUserByPhone(args.getPhone());
|
||||
if (user1 != null && !user.getId().equals(user1.getId())) {
|
||||
throw new BadRequestException("用户名已存在");
|
||||
}
|
||||
@@ -163,9 +163,9 @@ public class SystemUserService {
|
||||
* @param args /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyUserCenterInfoById(SystemUserTb args) {
|
||||
public void updateUserCenterInfoById(SystemUserTb args) {
|
||||
SystemUserTb user = systemUserMapper.selectById(args.getId());
|
||||
SystemUserTb user1 = systemUserMapper.getUserByPhone(args.getPhone());
|
||||
SystemUserTb user1 = this.getUserByPhone(args.getPhone());
|
||||
if (user1 != null && !user.getId().equals(user1.getId())) {
|
||||
throw new BadRequestException("手机号已存在");
|
||||
}
|
||||
@@ -202,7 +202,7 @@ public class SystemUserService {
|
||||
* @param encryptPassword 密码
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyUserPasswordByUsername(String username, String encryptPassword) {
|
||||
public void updateUserPasswordByUsername(String username, String encryptPassword) {
|
||||
systemUserMapper.updateUserPasswordByUsername(username, encryptPassword);
|
||||
systemUserInfoDAO.deleteUserLoginInfoByUserName(username);
|
||||
}
|
||||
@@ -234,8 +234,8 @@ public class SystemUserService {
|
||||
* @return /
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Map<String, String> modifyUserAvatar(MultipartFile multipartFile) {
|
||||
SystemUserTb user = systemUserMapper.getUserByUsername(KitSecurityHelper.getCurrentUsername());
|
||||
public Map<String, String> updateUserAvatar(MultipartFile multipartFile) {
|
||||
SystemUserTb user = this.getUserByUsername(KitSecurityHelper.getCurrentUsername());
|
||||
String username = user.getUsername();
|
||||
if (StrUtil.isBlank(username)) {
|
||||
throw new BadRequestException("异常用户数据, 请联系管理员处理");
|
||||
@@ -269,7 +269,7 @@ public class SystemUserService {
|
||||
* @param email 邮箱
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void modifyUserEmailByUsername(String username, String email) {
|
||||
public void updateUserEmailByUsername(String username, String email) {
|
||||
systemUserMapper.updateUserEmailByUsername(username, email);
|
||||
systemUserInfoDAO.deleteUserLoginInfoByUserName(username);
|
||||
}
|
||||
@@ -312,10 +312,10 @@ public class SystemUserService {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = buildUserQueryWrapper(criteria);
|
||||
IPage<SystemUserTb> userPage = systemUserMapper.selectPage(page, wrapper);
|
||||
List<SystemUserTb> users = userPage.getRecords();
|
||||
|
||||
|
||||
// 转换为SystemUserVo并关联查询
|
||||
List<SystemUserVo> userVos = users.stream().map(this::convertToUserVo).collect(Collectors.toList());
|
||||
|
||||
|
||||
return KitPageUtil.toPage(userVos, userPage.getTotal());
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ public class SystemUserService {
|
||||
// 查询用户基本信息
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = buildUserQueryWrapper(criteria);
|
||||
List<SystemUserTb> users = systemUserMapper.selectList(wrapper);
|
||||
|
||||
|
||||
// 转换为SystemUserVo并关联查询
|
||||
return users.stream().map(this::convertToUserVo).collect(Collectors.toList());
|
||||
}
|
||||
@@ -344,16 +344,6 @@ public class SystemUserService {
|
||||
return systemUserMapper.selectById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户名查询
|
||||
*
|
||||
* @param username /
|
||||
* @return /
|
||||
*/
|
||||
public SystemUserTb getUserByUsername(String username) {
|
||||
return systemUserMapper.getUserByUsername(username);
|
||||
}
|
||||
|
||||
public List<KitSelectOptionVo> queryUserMetadataOptions(KitPageArgs<SystemQueryUserArgs> args) {
|
||||
SystemQueryUserArgs criteria = args.getArgs();
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
@@ -439,7 +429,6 @@ public class SystemUserService {
|
||||
if (CollUtil.isEmpty(jobIds)) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SystemUserJobTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemUserJobTb::getJobId, jobIds);
|
||||
return systemUserJobMapper.selectCount(wrapper);
|
||||
@@ -455,7 +444,6 @@ public class SystemUserService {
|
||||
if (CollUtil.isEmpty(roleIds)) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SystemUserRoleTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemUserRoleTb::getRoleId, roleIds);
|
||||
return systemUserRoleMapper.selectCount(wrapper);
|
||||
@@ -468,7 +456,7 @@ public class SystemUserService {
|
||||
* @return /
|
||||
*/
|
||||
public SystemUserVo getUserVoByUsername(String username) {
|
||||
SystemUserTb user = systemUserMapper.getUserByUsername(username);
|
||||
SystemUserTb user = this.getUserByUsername(username);
|
||||
if (user == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -518,13 +506,13 @@ public class SystemUserService {
|
||||
return null;
|
||||
}
|
||||
SystemUserVo userVo = BeanUtil.copyProperties(user, SystemUserVo.class);
|
||||
|
||||
|
||||
// 查询关联的部门信息
|
||||
if (user.getDeptId() != null) {
|
||||
SystemDeptTb dept = systemDeptMapper.selectById(user.getDeptId());
|
||||
userVo.setDept(dept);
|
||||
}
|
||||
|
||||
|
||||
// 查询关联的岗位信息
|
||||
LambdaQueryWrapper<SystemUserJobTb> jobWrapper = new LambdaQueryWrapper<>();
|
||||
jobWrapper.eq(SystemUserJobTb::getUserId, user.getId());
|
||||
@@ -534,7 +522,7 @@ public class SystemUserService {
|
||||
List<SystemJobTb> jobs = systemJobMapper.selectByIds(jobIds);
|
||||
userVo.setJobs(new LinkedHashSet<>(jobs));
|
||||
}
|
||||
|
||||
|
||||
// 查询关联的角色信息
|
||||
LambdaQueryWrapper<SystemUserRoleTb> roleWrapper = new LambdaQueryWrapper<>();
|
||||
roleWrapper.eq(SystemUserRoleTb::getUserId, user.getId());
|
||||
@@ -544,7 +532,34 @@ public class SystemUserService {
|
||||
List<SystemRoleTb> roles = systemRoleMapper.selectByIds(roleIds);
|
||||
userVo.setRoles(new LinkedHashSet<>(roles));
|
||||
}
|
||||
|
||||
|
||||
return userVo;
|
||||
}
|
||||
|
||||
public SystemUserTb getUserByUsername(String username) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getUsername, username);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return systemUserMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
public long countUserByDeptIds(Set<Long> deptIds) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SystemUserTb::getDeptId, deptIds);
|
||||
return systemUserMapper.selectCount(wrapper);
|
||||
}
|
||||
|
||||
public SystemUserTb getUserByEmail(String email) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getEmail, email);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return systemUserMapper.selectOne(wrapper);
|
||||
}
|
||||
|
||||
public SystemUserTb getUserByPhone(String phone) {
|
||||
LambdaQueryWrapper<SystemUserTb> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SystemUserTb::getPhone, phone);
|
||||
wrapper.eq(SystemUserTb::getEnabled, 1);
|
||||
return systemUserMapper.selectOne(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package cn.odboy;
|
||||
|
||||
import cn.odboy.framework.monitor.service.KitHealthCheckPointService;
|
||||
import cn.odboy.system.service.SystemDictService;
|
||||
import cn.odboy.system.dal.mysql.SystemDictMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -25,7 +25,7 @@ import org.springframework.stereotype.Component;
|
||||
public class HealthCheckPointer implements KitHealthCheckPointService {
|
||||
|
||||
@Autowired
|
||||
private SystemDictService systemDictService;
|
||||
private SystemDictMapper systemDictMapper;
|
||||
|
||||
/**
|
||||
* 系统准备就绪
|
||||
@@ -40,6 +40,6 @@ public class HealthCheckPointer implements KitHealthCheckPointService {
|
||||
*/
|
||||
@Override
|
||||
public ResponseEntity<?> doLiveness() {
|
||||
return ResponseEntity.ok(systemDictService.getById(1));
|
||||
return ResponseEntity.ok(systemDictMapper.selectById(1));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user