新增缺少的方法和参数
This commit is contained in:
parent
e1221dd1f9
commit
099b308c5e
@ -4,7 +4,7 @@ import jakarta.validation.constraints.Min;
|
|||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询请求类
|
* 分页查询请求类
|
||||||
@ -43,6 +43,11 @@ public class PageRequest {
|
|||||||
*/
|
*/
|
||||||
private String keyword;
|
private String keyword;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 条件过滤器
|
||||||
|
*/
|
||||||
|
private List<FilterCondition> filters;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取偏移量
|
* 获取偏移量
|
||||||
*
|
*
|
||||||
@ -69,4 +74,4 @@ public class PageRequest {
|
|||||||
public boolean isDesc() {
|
public boolean isDesc() {
|
||||||
return "desc".equalsIgnoreCase(orderDirection);
|
return "desc".equalsIgnoreCase(orderDirection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.stdproject.controller;
|
package com.stdproject.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@ -87,8 +88,10 @@ public class AppMenuController {
|
|||||||
@Operation(summary = "获取菜单树形结构")
|
@Operation(summary = "获取菜单树形结构")
|
||||||
@GetMapping("/tree")
|
@GetMapping("/tree")
|
||||||
@OperationLog(type = "06", module = "菜单管理", description = "获取菜单树形结构")
|
@OperationLog(type = "06", module = "菜单管理", description = "获取菜单树形结构")
|
||||||
public Result<List<MenuTreeNode>> getMenuTree() {
|
public Result<List<MenuTreeNode>> getMenuTree(@RequestParam String appId,@RequestParam String name) {
|
||||||
QueryWrapper<AppMenu> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppMenu> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(appId),"app_id", appId);
|
||||||
|
queryWrapper.like(StrUtil.isNotBlank(name),"name", name);
|
||||||
queryWrapper.orderByAsc("parentid", "orderno");
|
queryWrapper.orderByAsc("parentid", "orderno");
|
||||||
|
|
||||||
List<AppMenu> allMenus = appMenuService.list(queryWrapper);
|
List<AppMenu> allMenus = appMenuService.list(queryWrapper);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.stdproject.controller;
|
package com.stdproject.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
@ -53,9 +54,11 @@ public class AppOrganizationController {
|
|||||||
@Operation(summary = "查询部门列表")
|
@Operation(summary = "查询部门列表")
|
||||||
@GetMapping("/getDepartmentList")
|
@GetMapping("/getDepartmentList")
|
||||||
@OperationLog(type = "06", module = "组织管理", description = "查询部门列表")
|
@OperationLog(type = "06", module = "组织管理", description = "查询部门列表")
|
||||||
public Result<List<AppOrganization>> getDepartmentList(@RequestParam String parentid, @RequestParam String keystr) {
|
public Result<List<AppOrganization>> getDepartmentList(@RequestParam String appId, @RequestParam String orgtype,
|
||||||
|
@RequestParam String parentid, @RequestParam String keystr) {
|
||||||
QueryWrapper<AppOrganization> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppOrganization> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("orgtype", "02");
|
queryWrapper.eq(StrUtil.isNotBlank(appId), "app_id", appId);
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(orgtype), "orgtype", orgtype);
|
||||||
queryWrapper.eq("parentid", parentid);
|
queryWrapper.eq("parentid", parentid);
|
||||||
queryWrapper.eq("isvaild", "1");
|
queryWrapper.eq("isvaild", "1");
|
||||||
if (StringUtils.hasText(keystr)) {
|
if (StringUtils.hasText(keystr)) {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.stdproject.controller;
|
package com.stdproject.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@ -41,32 +42,33 @@ public class AppRoleController {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAppRoleService appRoleService;
|
private IAppRoleService appRoleService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAppRoleMenuService appRoleMenuService;
|
private IAppRoleMenuService appRoleMenuService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAppRoleUserService appRoleUserService;
|
private IAppRoleUserService appRoleUserService;
|
||||||
|
|
||||||
@Operation(summary = "分页查询角色列表")
|
@Operation(summary = "分页查询角色列表")
|
||||||
@PostMapping("/page")
|
@PostMapping("/page/{appId}")
|
||||||
@OperationLog(type = "06", module = "角色管理", description = "分页查询角色列表")
|
@OperationLog(type = "06", module = "角色管理", description = "分页查询角色列表")
|
||||||
public Result<IPage<AppRole>> page(@RequestBody @Valid PageRequest pageRequest) {
|
public Result<IPage<AppRole>> page(@Parameter(description = "用户ID") @PathVariable String appId,
|
||||||
|
@RequestBody @Valid PageRequest pageRequest) {
|
||||||
Page<AppRole> page = new Page<>(pageRequest.getCurrent(), pageRequest.getSize());
|
Page<AppRole> page = new Page<>(pageRequest.getCurrent(), pageRequest.getSize());
|
||||||
QueryWrapper<AppRole> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppRole> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(appId),"app_id",appId);
|
||||||
// 关键字搜索
|
// 关键字搜索
|
||||||
if (StringUtils.hasText(pageRequest.getKeyword())) {
|
if (StringUtils.hasText(pageRequest.getKeyword())) {
|
||||||
queryWrapper.and(wrapper -> wrapper
|
queryWrapper.and(wrapper -> wrapper
|
||||||
.like("rolename", pageRequest.getKeyword())
|
.like("rolename", pageRequest.getKeyword())
|
||||||
.or().like("rolecode", pageRequest.getKeyword())
|
.or().like("rolecode", pageRequest.getKeyword())
|
||||||
.or().like("description", pageRequest.getKeyword())
|
.or().like("description", pageRequest.getKeyword())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 只查询有效的角色
|
// 只查询有效的角色
|
||||||
queryWrapper.eq("isvaild", "1");
|
queryWrapper.eq("isvaild", "1");
|
||||||
|
|
||||||
// 排序
|
// 排序
|
||||||
if (StringUtils.hasText(pageRequest.getOrderBy())) {
|
if (StringUtils.hasText(pageRequest.getOrderBy())) {
|
||||||
if ("asc".equalsIgnoreCase(pageRequest.getOrderDirection())) {
|
if ("asc".equalsIgnoreCase(pageRequest.getOrderDirection())) {
|
||||||
@ -77,7 +79,7 @@ public class AppRoleController {
|
|||||||
} else {
|
} else {
|
||||||
queryWrapper.orderByAsc("rolecode");
|
queryWrapper.orderByAsc("rolecode");
|
||||||
}
|
}
|
||||||
|
|
||||||
IPage<AppRole> result = appRoleService.page(page, queryWrapper);
|
IPage<AppRole> result = appRoleService.page(page, queryWrapper);
|
||||||
return Result.success(result);
|
return Result.success(result);
|
||||||
}
|
}
|
||||||
@ -89,7 +91,7 @@ public class AppRoleController {
|
|||||||
QueryWrapper<AppRole> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppRole> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("isvaild", "1");
|
queryWrapper.eq("isvaild", "1");
|
||||||
queryWrapper.orderByAsc("rolecode");
|
queryWrapper.orderByAsc("rolecode");
|
||||||
|
|
||||||
List<AppRole> roles = appRoleService.list(queryWrapper);
|
List<AppRole> roles = appRoleService.list(queryWrapper);
|
||||||
return Result.success(roles);
|
return Result.success(roles);
|
||||||
}
|
}
|
||||||
@ -101,6 +103,7 @@ public class AppRoleController {
|
|||||||
AppRole role = appRoleService.getById(id);
|
AppRole role = appRoleService.getById(id);
|
||||||
return Result.success(role);
|
return Result.success(role);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "新增角色")
|
@Operation(summary = "新增角色")
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@OperationLog(type = "01", module = "角色管理", description = "新增角色")
|
@OperationLog(type = "01", module = "角色管理", description = "新增角色")
|
||||||
@ -133,6 +136,7 @@ public class AppRoleController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取最大的角色编号
|
* 获取最大的角色编号
|
||||||
|
*
|
||||||
* @return 最大角色编号
|
* @return 最大角色编号
|
||||||
*/
|
*/
|
||||||
private String getMaxRoleCode() {
|
private String getMaxRoleCode() {
|
||||||
@ -154,7 +158,7 @@ public class AppRoleController {
|
|||||||
if (existRole == null) {
|
if (existRole == null) {
|
||||||
return Result.error("角色不存在");
|
return Result.error("角色不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果修改了角色名称,检查新名称是否已被其他角色使用
|
// 如果修改了角色名称,检查新名称是否已被其他角色使用
|
||||||
if (!existRole.getRolename().equals(appRole.getRolename())) {
|
if (!existRole.getRolename().equals(appRole.getRolename())) {
|
||||||
QueryWrapper<AppRole> nameQuery = new QueryWrapper<>();
|
QueryWrapper<AppRole> nameQuery = new QueryWrapper<>();
|
||||||
@ -183,29 +187,27 @@ public class AppRoleController {
|
|||||||
if (userCount > 0) {
|
if (userCount > 0) {
|
||||||
return Result.error("存在用户关联此角色,无法删除");
|
return Result.error("存在用户关联此角色,无法删除");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 软删除:设置为无效
|
// 软删除:设置为无效
|
||||||
AppRole role = appRoleService.getById(id);
|
AppRole role = appRoleService.getById(id);
|
||||||
if (role != null) {
|
if (role != null) {
|
||||||
role.setIsvaild("0");
|
role.setIsvaild("0");
|
||||||
role.setLastmodifydate(LocalDateTime.now());
|
role.setLastmodifydate(LocalDateTime.now());
|
||||||
boolean success = appRoleService.updateById(role);
|
boolean success = appRoleService.updateById(role);
|
||||||
|
|
||||||
if (success) {
|
if (success) {
|
||||||
// 同时删除角色菜单关联
|
// 同时删除角色菜单关联
|
||||||
QueryWrapper<AppRoleMenu> menuQuery = new QueryWrapper<>();
|
QueryWrapper<AppRoleMenu> menuQuery = new QueryWrapper<>();
|
||||||
menuQuery.eq("roleid", id);
|
menuQuery.eq("roleid", id);
|
||||||
appRoleMenuService.remove(menuQuery);
|
appRoleMenuService.remove(menuQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
return success ? Result.success("删除成功") : Result.error("删除失败");
|
return success ? Result.success("删除成功") : Result.error("删除失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.error("角色不存在");
|
return Result.error("角色不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Operation(summary = "根据角色类型查询角色列表")
|
@Operation(summary = "根据角色类型查询角色列表")
|
||||||
@GetMapping("/type/{type}")
|
@GetMapping("/type/{type}")
|
||||||
@OperationLog(type = "06", module = "角色管理", description = "根据角色类型查询角色列表")
|
@OperationLog(type = "06", module = "角色管理", description = "根据角色类型查询角色列表")
|
||||||
@ -213,7 +215,7 @@ public class AppRoleController {
|
|||||||
QueryWrapper<AppRole> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppRole> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("type", type);
|
queryWrapper.eq("type", type);
|
||||||
queryWrapper.eq("isvaild", "1");
|
queryWrapper.eq("isvaild", "1");
|
||||||
queryWrapper.orderByAsc("rolecode");
|
queryWrapper.orderByAsc("rolecode");
|
||||||
List<AppRole> roles = appRoleService.list(queryWrapper);
|
List<AppRole> roles = appRoleService.list(queryWrapper);
|
||||||
return Result.success(roles);
|
return Result.success(roles);
|
||||||
}
|
}
|
||||||
@ -224,18 +226,18 @@ public class AppRoleController {
|
|||||||
public Result<String> assignMenus(
|
public Result<String> assignMenus(
|
||||||
@Parameter(description = "角色ID") @PathVariable String roleId,
|
@Parameter(description = "角色ID") @PathVariable String roleId,
|
||||||
@RequestBody List<String> menuIds) {
|
@RequestBody List<String> menuIds) {
|
||||||
|
|
||||||
// 检查角色是否存在
|
// 检查角色是否存在
|
||||||
AppRole role = appRoleService.getById(roleId);
|
AppRole role = appRoleService.getById(roleId);
|
||||||
if (role == null || !"1".equals(role.getIsvaild())) {
|
if (role == null || !"1".equals(role.getIsvaild())) {
|
||||||
return Result.error("角色不存在或已禁用");
|
return Result.error("角色不存在或已禁用");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 先删除原有的菜单权限
|
// 先删除原有的菜单权限
|
||||||
QueryWrapper<AppRoleMenu> deleteQuery = new QueryWrapper<>();
|
QueryWrapper<AppRoleMenu> deleteQuery = new QueryWrapper<>();
|
||||||
deleteQuery.eq("roleid", roleId);
|
deleteQuery.eq("roleid", roleId);
|
||||||
appRoleMenuService.remove(deleteQuery);
|
appRoleMenuService.remove(deleteQuery);
|
||||||
|
|
||||||
// 添加新的菜单权限
|
// 添加新的菜单权限
|
||||||
if (menuIds != null && !menuIds.isEmpty()) {
|
if (menuIds != null && !menuIds.isEmpty()) {
|
||||||
List<AppRoleMenu> roleMenus = menuIds.stream().map(menuId -> {
|
List<AppRoleMenu> roleMenus = menuIds.stream().map(menuId -> {
|
||||||
@ -245,11 +247,11 @@ public class AppRoleController {
|
|||||||
roleMenu.setAppId(role.getAppId());
|
roleMenu.setAppId(role.getAppId());
|
||||||
return roleMenu;
|
return roleMenu;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
boolean success = appRoleMenuService.saveBatch(roleMenus);
|
boolean success = appRoleMenuService.saveBatch(roleMenus);
|
||||||
return success ? Result.success("权限分配成功") : Result.error("权限分配失败");
|
return success ? Result.success("权限分配成功") : Result.error("权限分配失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success("权限分配成功");
|
return Result.success("权限分配成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -259,12 +261,12 @@ public class AppRoleController {
|
|||||||
public Result<List<String>> getRoleMenus(@Parameter(description = "角色ID") @PathVariable String roleId) {
|
public Result<List<String>> getRoleMenus(@Parameter(description = "角色ID") @PathVariable String roleId) {
|
||||||
QueryWrapper<AppRoleMenu> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppRoleMenu> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("roleid", roleId);
|
queryWrapper.eq("roleid", roleId);
|
||||||
|
|
||||||
List<AppRoleMenu> roleMenus = appRoleMenuService.list(queryWrapper);
|
List<AppRoleMenu> roleMenus = appRoleMenuService.list(queryWrapper);
|
||||||
List<String> menuIds = roleMenus.stream()
|
List<String> menuIds = roleMenus.stream()
|
||||||
.map(AppRoleMenu::getMenuid)
|
.map(AppRoleMenu::getMenuid)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
return Result.success(menuIds);
|
return Result.success(menuIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -274,18 +276,18 @@ public class AppRoleController {
|
|||||||
public Result<String> assignUsers(
|
public Result<String> assignUsers(
|
||||||
@Parameter(description = "角色ID") @PathVariable String roleId,
|
@Parameter(description = "角色ID") @PathVariable String roleId,
|
||||||
@RequestBody List<String> userIds) {
|
@RequestBody List<String> userIds) {
|
||||||
|
|
||||||
// 检查角色是否存在
|
// 检查角色是否存在
|
||||||
AppRole role = appRoleService.getById(roleId);
|
AppRole role = appRoleService.getById(roleId);
|
||||||
if (role == null || !"1".equals(role.getIsvaild())) {
|
if (role == null || !"1".equals(role.getIsvaild())) {
|
||||||
return Result.error("角色不存在或已禁用");
|
return Result.error("角色不存在或已禁用");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 先删除原有的用户角色关联
|
// 先删除原有的用户角色关联
|
||||||
QueryWrapper<AppRoleUser> deleteQuery = new QueryWrapper<>();
|
QueryWrapper<AppRoleUser> deleteQuery = new QueryWrapper<>();
|
||||||
deleteQuery.eq("roleid", roleId);
|
deleteQuery.eq("roleid", roleId);
|
||||||
appRoleUserService.remove(deleteQuery);
|
appRoleUserService.remove(deleteQuery);
|
||||||
|
|
||||||
// 添加新的用户角色关联
|
// 添加新的用户角色关联
|
||||||
if (userIds != null && !userIds.isEmpty()) {
|
if (userIds != null && !userIds.isEmpty()) {
|
||||||
List<AppRoleUser> roleUsers = userIds.stream().map(userId -> {
|
List<AppRoleUser> roleUsers = userIds.stream().map(userId -> {
|
||||||
@ -295,11 +297,11 @@ public class AppRoleController {
|
|||||||
roleUser.setAppId(role.getAppId());
|
roleUser.setAppId(role.getAppId());
|
||||||
return roleUser;
|
return roleUser;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
boolean success = appRoleUserService.saveBatch(roleUsers);
|
boolean success = appRoleUserService.saveBatch(roleUsers);
|
||||||
return success ? Result.success("用户分配成功") : Result.error("用户分配失败");
|
return success ? Result.success("用户分配成功") : Result.error("用户分配失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success("用户分配成功");
|
return Result.success("用户分配成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -309,12 +311,12 @@ public class AppRoleController {
|
|||||||
public Result<List<String>> getRoleUsers(@Parameter(description = "角色ID") @PathVariable String roleId) {
|
public Result<List<String>> getRoleUsers(@Parameter(description = "角色ID") @PathVariable String roleId) {
|
||||||
QueryWrapper<AppRoleUser> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppRoleUser> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("roleid", roleId);
|
queryWrapper.eq("roleid", roleId);
|
||||||
|
|
||||||
List<AppRoleUser> roleUsers = appRoleUserService.list(queryWrapper);
|
List<AppRoleUser> roleUsers = appRoleUserService.list(queryWrapper);
|
||||||
List<String> userIds = roleUsers.stream()
|
List<String> userIds = roleUsers.stream()
|
||||||
.map(AppRoleUser::getUserid)
|
.map(AppRoleUser::getUserid)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
return Result.success(userIds);
|
return Result.success(userIds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package com.stdproject.controller;
|
package com.stdproject.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.stdproject.common.OperationLog;
|
import com.stdproject.common.OperationLog;
|
||||||
import com.stdproject.common.PageRequest;
|
import com.stdproject.common.PageRequest;
|
||||||
|
import com.stdproject.common.QueryWrapperBuilder;
|
||||||
import com.stdproject.common.Result;
|
import com.stdproject.common.Result;
|
||||||
import com.stdproject.entity.AppUser;
|
import com.stdproject.entity.AppUser;
|
||||||
import com.stdproject.service.IAppUserService;
|
import com.stdproject.service.IAppUserService;
|
||||||
@ -37,22 +39,25 @@ public class AppUserController {
|
|||||||
private IAppUserService appUserService;
|
private IAppUserService appUserService;
|
||||||
|
|
||||||
@Operation(summary = "分页查询用户列表")
|
@Operation(summary = "分页查询用户列表")
|
||||||
@PostMapping("/page")
|
@PostMapping("/page/{orgId}/{appId}")
|
||||||
@OperationLog(type = "06", module = "用户管理", description = "分页查询用户列表")
|
@OperationLog(type = "06", module = "用户管理", description = "分页查询用户列表")
|
||||||
public Result<IPage<AppUser>> page(@RequestBody @Valid PageRequest pageRequest) {
|
public Result<IPage<AppUser>> page(@Parameter(description = "用户ID") @PathVariable String orgId,
|
||||||
|
@Parameter(description = "用户ID") @PathVariable String appId,
|
||||||
|
@RequestBody @Valid PageRequest pageRequest) {
|
||||||
Page<AppUser> page = new Page<>(pageRequest.getCurrent(), pageRequest.getSize());
|
Page<AppUser> page = new Page<>(pageRequest.getCurrent(), pageRequest.getSize());
|
||||||
QueryWrapper<AppUser> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppUser> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(orgId),"orgid",orgId);
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(appId),"app_id",appId);
|
||||||
// 关键字搜索
|
// 关键字搜索
|
||||||
if (StringUtils.hasText(pageRequest.getKeyword())) {
|
if (StringUtils.hasText(pageRequest.getKeyword())) {
|
||||||
queryWrapper.and(wrapper -> wrapper
|
queryWrapper.and(wrapper -> wrapper
|
||||||
.like("username", pageRequest.getKeyword())
|
.like("username", pageRequest.getKeyword())
|
||||||
.or().like("nickname", pageRequest.getKeyword())
|
.or().like("nickname", pageRequest.getKeyword())
|
||||||
.or().like("email", pageRequest.getKeyword())
|
.or().like("email", pageRequest.getKeyword())
|
||||||
.or().like("phone", pageRequest.getKeyword())
|
.or().like("phone", pageRequest.getKeyword())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 排序
|
// 排序
|
||||||
if (StringUtils.hasText(pageRequest.getOrderBy())) {
|
if (StringUtils.hasText(pageRequest.getOrderBy())) {
|
||||||
if ("asc".equalsIgnoreCase(pageRequest.getOrderDirection())) {
|
if ("asc".equalsIgnoreCase(pageRequest.getOrderDirection())) {
|
||||||
@ -63,7 +68,7 @@ public class AppUserController {
|
|||||||
} else {
|
} else {
|
||||||
queryWrapper.orderByDesc("lastmodifydate");
|
queryWrapper.orderByDesc("lastmodifydate");
|
||||||
}
|
}
|
||||||
|
|
||||||
IPage<AppUser> result = appUserService.page(page, queryWrapper);
|
IPage<AppUser> result = appUserService.page(page, queryWrapper);
|
||||||
return Result.success(result);
|
return Result.success(result);
|
||||||
}
|
}
|
||||||
@ -101,7 +106,7 @@ public class AppUserController {
|
|||||||
if (existUser != null) {
|
if (existUser != null) {
|
||||||
return Result.error("用户名已存在");
|
return Result.error("用户名已存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置默认值
|
// 设置默认值
|
||||||
if (!StringUtils.hasText(appUser.getStatus())) {
|
if (!StringUtils.hasText(appUser.getStatus())) {
|
||||||
appUser.setStatus("1"); // 默认有效
|
appUser.setStatus("1"); // 默认有效
|
||||||
@ -112,12 +117,12 @@ public class AppUserController {
|
|||||||
if (appUser.getFailednum() == null) {
|
if (appUser.getFailednum() == null) {
|
||||||
appUser.setFailednum(0);
|
appUser.setFailednum(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 密码加密
|
// 密码加密
|
||||||
if (StringUtils.hasText(appUser.getPassword())) {
|
if (StringUtils.hasText(appUser.getPassword())) {
|
||||||
appUser.setPassword(PasswordUtils.encodePassword(appUser.getPassword()));
|
appUser.setPassword(PasswordUtils.encodePassword(appUser.getPassword()));
|
||||||
}
|
}
|
||||||
|
|
||||||
appUser.setLastmodifydate(LocalDateTime.now());
|
appUser.setLastmodifydate(LocalDateTime.now());
|
||||||
boolean success = appUserService.save(appUser);
|
boolean success = appUserService.save(appUser);
|
||||||
return success ? Result.success("新增成功") : Result.error("新增失败");
|
return success ? Result.success("新增成功") : Result.error("新增失败");
|
||||||
@ -132,7 +137,7 @@ public class AppUserController {
|
|||||||
if (existUser == null) {
|
if (existUser == null) {
|
||||||
return Result.error("用户不存在");
|
return Result.error("用户不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果修改了用户名,检查新用户名是否已被其他用户使用
|
// 如果修改了用户名,检查新用户名是否已被其他用户使用
|
||||||
if (!existUser.getUsername().equals(appUser.getUsername())) {
|
if (!existUser.getUsername().equals(appUser.getUsername())) {
|
||||||
AppUser userWithSameName = appUserService.findByUsername(appUser.getUsername());
|
AppUser userWithSameName = appUserService.findByUsername(appUser.getUsername());
|
||||||
@ -140,7 +145,7 @@ public class AppUserController {
|
|||||||
return Result.error("用户名已被其他用户使用");
|
return Result.error("用户名已被其他用户使用");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果传入了新密码,进行加密
|
// 如果传入了新密码,进行加密
|
||||||
if (StringUtils.hasText(appUser.getPassword())) {
|
if (StringUtils.hasText(appUser.getPassword())) {
|
||||||
appUser.setPassword(PasswordUtils.encodePassword(appUser.getPassword()));
|
appUser.setPassword(PasswordUtils.encodePassword(appUser.getPassword()));
|
||||||
@ -149,7 +154,7 @@ public class AppUserController {
|
|||||||
// 如果没有传入密码,保持原密码不变
|
// 如果没有传入密码,保持原密码不变
|
||||||
appUser.setPassword(existUser.getPassword());
|
appUser.setPassword(existUser.getPassword());
|
||||||
}
|
}
|
||||||
|
|
||||||
appUser.setLastmodifydate(LocalDateTime.now());
|
appUser.setLastmodifydate(LocalDateTime.now());
|
||||||
boolean success = appUserService.updateById(appUser);
|
boolean success = appUserService.updateById(appUser);
|
||||||
return success ? Result.success("修改成功") : Result.error("修改失败");
|
return success ? Result.success("修改成功") : Result.error("修改失败");
|
||||||
@ -181,17 +186,17 @@ public class AppUserController {
|
|||||||
if (user == null) {
|
if (user == null) {
|
||||||
return Result.error("用户不存在");
|
return Result.error("用户不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验证旧密码
|
// 验证旧密码
|
||||||
if (!PasswordUtils.matches(request.getOldPassword(), user.getPassword())) {
|
if (!PasswordUtils.matches(request.getOldPassword(), user.getPassword())) {
|
||||||
return Result.error("原密码错误");
|
return Result.error("原密码错误");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新新密码
|
// 更新新密码
|
||||||
user.setPassword(PasswordUtils.encodePassword(request.getNewPassword()));
|
user.setPassword(PasswordUtils.encodePassword(request.getNewPassword()));
|
||||||
user.setPwdresettime(LocalDateTime.now());
|
user.setPwdresettime(LocalDateTime.now());
|
||||||
user.setLastmodifydate(LocalDateTime.now());
|
user.setLastmodifydate(LocalDateTime.now());
|
||||||
|
|
||||||
boolean success = appUserService.updateById(user);
|
boolean success = appUserService.updateById(user);
|
||||||
return success ? Result.success("密码修改成功") : Result.error("密码修改失败");
|
return success ? Result.success("密码修改成功") : Result.error("密码修改失败");
|
||||||
}
|
}
|
||||||
@ -206,12 +211,12 @@ public class AppUserController {
|
|||||||
if (user == null) {
|
if (user == null) {
|
||||||
return Result.error("用户不存在");
|
return Result.error("用户不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 重置密码
|
// 重置密码
|
||||||
user.setPassword(PasswordUtils.encodePassword(request.getNewPassword()));
|
user.setPassword(PasswordUtils.encodePassword(request.getNewPassword()));
|
||||||
user.setPwdresettime(LocalDateTime.now());
|
user.setPwdresettime(LocalDateTime.now());
|
||||||
user.setLastmodifydate(LocalDateTime.now());
|
user.setLastmodifydate(LocalDateTime.now());
|
||||||
|
|
||||||
boolean success = appUserService.updateById(user);
|
boolean success = appUserService.updateById(user);
|
||||||
return success ? Result.success("密码重置成功") : Result.error("密码重置失败");
|
return success ? Result.success("密码重置成功") : Result.error("密码重置失败");
|
||||||
}
|
}
|
||||||
@ -226,10 +231,10 @@ public class AppUserController {
|
|||||||
if (user == null) {
|
if (user == null) {
|
||||||
return Result.error("用户不存在");
|
return Result.error("用户不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
user.setStatus(status);
|
user.setStatus(status);
|
||||||
user.setLastmodifydate(LocalDateTime.now());
|
user.setLastmodifydate(LocalDateTime.now());
|
||||||
|
|
||||||
boolean success = appUserService.updateById(user);
|
boolean success = appUserService.updateById(user);
|
||||||
String message = "1".equals(status) ? "启用成功" : "禁用成功";
|
String message = "1".equals(status) ? "启用成功" : "禁用成功";
|
||||||
return success ? Result.success(message) : Result.error("操作失败");
|
return success ? Result.success(message) : Result.error("操作失败");
|
||||||
@ -242,11 +247,11 @@ public class AppUserController {
|
|||||||
QueryWrapper<AppUser> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AppUser> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("orgid", orgId);
|
queryWrapper.eq("orgid", orgId);
|
||||||
queryWrapper.orderByDesc("lastmodifydate");
|
queryWrapper.orderByDesc("lastmodifydate");
|
||||||
|
|
||||||
List<AppUser> users = appUserService.list(queryWrapper);
|
List<AppUser> users = appUserService.list(queryWrapper);
|
||||||
// 不返回密码信息
|
// 不返回密码信息
|
||||||
users.forEach(user -> user.setPassword(null));
|
users.forEach(user -> user.setPassword(null));
|
||||||
|
|
||||||
return Result.success(users);
|
return Result.success(users);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -254,24 +259,42 @@ public class AppUserController {
|
|||||||
* 密码修改请求类
|
* 密码修改请求类
|
||||||
*/
|
*/
|
||||||
public static class PasswordUpdateRequest {
|
public static class PasswordUpdateRequest {
|
||||||
|
|
||||||
private String oldPassword;
|
private String oldPassword;
|
||||||
private String newPassword;
|
private String newPassword;
|
||||||
|
|
||||||
// getters and setters
|
// getters and setters
|
||||||
public String getOldPassword() { return oldPassword; }
|
public String getOldPassword() {
|
||||||
public void setOldPassword(String oldPassword) { this.oldPassword = oldPassword; }
|
return oldPassword;
|
||||||
public String getNewPassword() { return newPassword; }
|
}
|
||||||
public void setNewPassword(String newPassword) { this.newPassword = newPassword; }
|
|
||||||
|
public void setOldPassword(String oldPassword) {
|
||||||
|
this.oldPassword = oldPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNewPassword() {
|
||||||
|
return newPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNewPassword(String newPassword) {
|
||||||
|
this.newPassword = newPassword;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 密码重置请求类
|
* 密码重置请求类
|
||||||
*/
|
*/
|
||||||
public static class PasswordResetRequest {
|
public static class PasswordResetRequest {
|
||||||
|
|
||||||
private String newPassword;
|
private String newPassword;
|
||||||
|
|
||||||
// getters and setters
|
// getters and setters
|
||||||
public String getNewPassword() { return newPassword; }
|
public String getNewPassword() {
|
||||||
public void setNewPassword(String newPassword) { this.newPassword = newPassword; }
|
return newPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNewPassword(String newPassword) {
|
||||||
|
this.newPassword = newPassword;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user