diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/controller/SearchController.java b/blade-service/blade-system/src/main/java/org/springblade/system/controller/SearchController.java new file mode 100644 index 00000000..f4d10e9c --- /dev/null +++ b/blade-service/blade-system/src/main/java/org/springblade/system/controller/SearchController.java @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package org.springblade.system.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; +import org.springblade.system.entity.Post; +import org.springblade.system.service.IDeptService; +import org.springblade.system.service.IPostService; +import org.springblade.system.service.IRoleService; +import org.springblade.system.vo.DeptVO; +import org.springblade.system.vo.PostVO; +import org.springblade.system.vo.RoleVO; +import org.springblade.system.wrapper.PostWrapper; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 查询控制器 + * + * @author Chill + */ +@NonDS +@RestController +@AllArgsConstructor +@RequestMapping("/search") +@Api(value = "查询", tags = "查询") +public class SearchController { + + private final IRoleService roleService; + + private final IDeptService deptService; + + private final IPostService postService; + + /** + * 角色信息查询 + */ + @GetMapping("/role") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "角色信息查询", notes = "传入roleName或者parentId") + public R> roleSearch(String roleName, Long parentId) { + return R.data(roleService.search(roleName, parentId)); + } + + /** + * 部门信息查询 + */ + @GetMapping("/dept") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "部门信息查询", notes = "传入deptName或者parentId") + public R> deptSearch(String deptName, Long parentId) { + return R.data(deptService.search(deptName, parentId)); + } + + /** + * 岗位信息查询 + */ + @GetMapping("/post") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "岗位信息查询", notes = "传入postName") + public R> postSearch(String postName, Query query) { + LambdaQueryWrapper queryWrapper = Wrappers.query().lambda(); + if (Func.isNotBlank(postName)) { + queryWrapper.like(Post::getPostName, postName); + } + IPage pages = postService.page(Condition.getPage(query), queryWrapper); + return R.data(PostWrapper.build().pageVO(pages)); + } + +} diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java index 105aea1c..fde1c9b0 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java @@ -107,4 +107,13 @@ public interface IDeptService extends IService { */ boolean submit(Dept dept); + /** + * 部门信息查询 + * + * @param deptName + * @param parentId + * @return + */ + List search(String deptName, Long parentId); + } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/IRoleService.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/IRoleService.java index 38d9854e..ed6bd7fd 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/IRoleService.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/IRoleService.java @@ -51,10 +51,10 @@ public interface IRoleService extends IService { /** * 权限配置 * - * @param roleIds 角色id集合 - * @param menuIds 菜单id集合 + * @param roleIds 角色id集合 + * @param menuIds 菜单id集合 * @param dataScopeIds 数据权限id集合 - * @param apiScopeIds 接口权限id集合 + * @param apiScopeIds 接口权限id集合 * @return 是否成功 */ boolean grant(@NotEmpty List roleIds, List menuIds, List dataScopeIds, List apiScopeIds); @@ -92,4 +92,13 @@ public interface IRoleService extends IService { */ boolean submit(Role role); + /** + * 角色信息查询 + * + * @param roleName + * @param parentId + * @return + */ + List search(String roleName, Long parentId); + } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java index 68900df3..d4eddbc2 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java @@ -30,6 +30,7 @@ import org.springblade.system.entity.Dept; import org.springblade.system.mapper.DeptMapper; import org.springblade.system.service.IDeptService; import org.springblade.system.vo.DeptVO; +import org.springblade.system.wrapper.DeptWrapper; import org.springframework.stereotype.Service; import java.util.List; @@ -152,4 +153,17 @@ public class DeptServiceImpl extends ServiceImpl implements ID return saveOrUpdate(dept); } + @Override + public List search(String deptName, Long parentId) { + LambdaQueryWrapper queryWrapper = Wrappers.query().lambda(); + if (Func.isNotEmpty(deptName)) { + queryWrapper.like(Dept::getDeptName, deptName); + } + if (Func.isNotEmpty(parentId) && parentId > 0L) { + queryWrapper.eq(Dept::getParentId, parentId); + } + List deptList = baseMapper.selectList(queryWrapper); + return DeptWrapper.build().listNodeVO(deptList); + } + } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java index de57bf72..3b04272c 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java @@ -16,6 +16,7 @@ */ package org.springblade.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -35,6 +36,7 @@ import org.springblade.system.service.IRoleMenuService; import org.springblade.system.service.IRoleScopeService; import org.springblade.system.service.IRoleService; import org.springblade.system.vo.RoleVO; +import org.springblade.system.wrapper.RoleWrapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -199,4 +201,17 @@ public class RoleServiceImpl extends ServiceImpl implements IR return saveOrUpdate(role); } + @Override + public List search(String roleName, Long parentId) { + LambdaQueryWrapper queryWrapper = Wrappers.query().lambda(); + if (Func.isNotEmpty(roleName)) { + queryWrapper.like(Role::getRoleName, roleName); + } + if (Func.isNotEmpty(parentId) && parentId > 0L) { + queryWrapper.eq(Role::getParentId, parentId); + } + List roleList = baseMapper.selectList(queryWrapper); + return RoleWrapper.build().listNodeVO(roleList); + } + } diff --git a/blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java b/blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java index bd4b71fd..3a01a06c 100644 --- a/blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java +++ b/blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java @@ -307,7 +307,7 @@ public class UserController { }) @ApiOperationSupport(order = 18) @ApiOperation(value = "用户列表查询", notes = "用户列表查询") - @GetMapping("/user-search") + @GetMapping("/search/user") public R> userSearch(@ApiIgnore UserVO user, @ApiIgnore Query query) { return R.data(userService.selectUserSearch(user, query)); }