This commit is contained in:
@@ -20,7 +20,7 @@ import com.yunhai.userbase.model.appmodule.AppModuleVo;
|
||||
import com.yunhai.userbase.service.IAppCategoryService;
|
||||
import com.yunhai.userbase.service.IApplicationInfoService;
|
||||
import com.yunhai.userbase.service.IAppModuleService;
|
||||
import com.yunhai.userbase.service.SignKeyCacheService;
|
||||
import com.yunhai.userbase.service.impl.SignKeyCacheService;
|
||||
import com.yunhai.userbase.utils.PageUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
||||
@@ -1,20 +1,31 @@
|
||||
package com.yunhai.userbase.controller.api;
|
||||
|
||||
import com.yunhai.platform.utils.exception.DException;
|
||||
import com.yunhai.platform.utils.exception.ErrorCode;
|
||||
import com.yunhai.userbase.common.annotation.OperationLog;
|
||||
import com.yunhai.userbase.common.validation.ValidationGroups;
|
||||
import com.yunhai.userbase.config.Config;
|
||||
import com.yunhai.userbase.model.BasePageQuery;
|
||||
import com.yunhai.userbase.model.BasePageResult;
|
||||
import com.yunhai.userbase.model.sysuser.BatchChangeStatusRequest;
|
||||
import com.yunhai.userbase.model.sysuser.BatchDeleteRequest;
|
||||
import com.yunhai.userbase.model.sysuser.BatchImportResult;
|
||||
import com.yunhai.userbase.model.sysuser.ChangeGroupsRequest;
|
||||
import com.yunhai.userbase.model.sysuser.ChangeSortNoRequest;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserQuery;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserRequest;
|
||||
import com.yunhai.userbase.model.sysuser.SysUserVo;
|
||||
import com.yunhai.userbase.service.ISysUserService;
|
||||
import com.yunhai.userbase.utils.PageUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.web.SortDefault;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author chenx
|
||||
@@ -31,6 +42,7 @@ public class SysUserController {
|
||||
@OperationLog("新增用户")
|
||||
@PostMapping("Add")
|
||||
public void add(@RequestBody @Validated(ValidationGroups.Create.class) SysUserRequest request) {
|
||||
List<String> data=new ArrayList<>();
|
||||
sysUserService.add(request);
|
||||
}
|
||||
|
||||
@@ -46,6 +58,24 @@ public class SysUserController {
|
||||
sysUserService.delete(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将用户从指定组中移除;若该用户无其它组关联则级联删除用户。
|
||||
*/
|
||||
@OperationLog("从组中删除用户")
|
||||
@PostMapping("DeleteFromGroup/{userId}/{groupId}")
|
||||
public void deleteFromGroup(@PathVariable Integer userId, @PathVariable Integer groupId) {
|
||||
sysUserService.deleteFromGroup(userId, groupId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量从指定组中移除用户;无其它组关联者级联删除用户。
|
||||
*/
|
||||
@OperationLog("批量从组中删除用户")
|
||||
@PostMapping("BatchDelete")
|
||||
public void batchDelete(@RequestBody @Validated BatchDeleteRequest request) {
|
||||
sysUserService.batchDeleteFromGroup(request.getUserIds(), request.getGroupId());
|
||||
}
|
||||
|
||||
/** 禁用用户(disabled=true) */
|
||||
@OperationLog("禁用用户")
|
||||
@PostMapping("Disable/{id}")
|
||||
@@ -60,9 +90,63 @@ public class SysUserController {
|
||||
sysUserService.changeStatus(id, false);
|
||||
}
|
||||
|
||||
/** 批量设置用户状态 */
|
||||
@OperationLog("批量设置用户状态")
|
||||
@PostMapping("BatchChangeStatus")
|
||||
public void batchChangeStatus(@RequestBody @Validated BatchChangeStatusRequest request) {
|
||||
sysUserService.batchChangeStatus(request.getUserIds(), request.getDisabled());
|
||||
}
|
||||
|
||||
@GetMapping("/List")
|
||||
public BasePageResult<SysUserVo> list(SysUserQuery query, BasePageQuery pageQuery,
|
||||
@SortDefault(sort = "id", direction = Sort.Direction.DESC) Sort sort) {
|
||||
return PageUtils.toResult(sysUserService.list(query, PageUtils.toPageable(pageQuery, sort)));
|
||||
public BasePageResult<SysUserVo> list(SysUserQuery query, BasePageQuery pageQuery) {
|
||||
// 排序字段在关联表,无法走 Pageable.sort,统一由 Service.Specification 控制
|
||||
// (根节点按 id 升序,具体组按组内 sort_no 升序)。此处不传 Sort,避免覆盖 Spec 的 orderBy。
|
||||
return PageUtils.toResult(sysUserService.list(query, PageUtils.toPageable(pageQuery, null)));
|
||||
}
|
||||
|
||||
/** 调整用户在某组内的排序号(sort_no):1~999,可空表示清除 */
|
||||
@OperationLog("设置用户组内排序号")
|
||||
@PostMapping("ChangeSortNo/{userId}")
|
||||
public void changeSortNo(@PathVariable Integer userId,
|
||||
@RequestBody @Validated ChangeSortNoRequest request) {
|
||||
sysUserService.changeSortNo(userId, request.getGroupId(), request.getSortNo());
|
||||
}
|
||||
|
||||
@OperationLog("调整组")
|
||||
@PostMapping("ChangeGroups")
|
||||
public void changeGroups(@RequestBody @Validated ChangeGroupsRequest request) {
|
||||
sysUserService.changeGroups(request.getUserIds(), request.getGroupIds());
|
||||
}
|
||||
|
||||
@GetMapping("Groups/{userId}")
|
||||
public List<Integer> getUserGroups(@PathVariable Integer userId) {
|
||||
return sysUserService.findGroupIdsByUserId(userId);
|
||||
}
|
||||
|
||||
@OperationLog("批量导入用户")
|
||||
@PostMapping("BatchImport")
|
||||
public BatchImportResult batchImport(@RequestParam("file") MultipartFile file) {
|
||||
return sysUserService.batchImport(file);
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载用户批量导入模板(真实 .xlsx):平铺当前组及子孙组,仅填充组名(路径)与组id;其余列留空供填写。
|
||||
*/
|
||||
@GetMapping("DownloadTemplate")
|
||||
public void downloadTemplate(@RequestParam(value = "groupId", required = false) Integer groupId,
|
||||
HttpServletResponse response) throws IOException {
|
||||
sysUserService.downloadImportTemplate(groupId, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出组下所有用户(含子组)为 Excel;与导入模板同构,末尾追加用户id列。
|
||||
* 前端直接跳转此地址触发浏览器下载。
|
||||
*/
|
||||
@GetMapping("Export")
|
||||
public void export(@RequestParam(value = "groupId", required = false) Integer groupId,
|
||||
@RequestParam(value = "withSub", defaultValue = "1") Integer withSub,
|
||||
@RequestParam(value = "name", required = false) String name,
|
||||
HttpServletResponse response) throws IOException {
|
||||
sysUserService.exportUsers(groupId, withSub, name, response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.yunhai.userbase.model.groupauthz.UserPermissionAppVo;
|
||||
import com.yunhai.userbase.model.groupauthz.UserPermissionCategoryVo;
|
||||
import com.yunhai.userbase.model.groupauthz.UserPermissionModuleVo;
|
||||
import com.yunhai.userbase.service.IGroupAuthzService;
|
||||
import com.yunhai.userbase.service.UserCenterService;
|
||||
import com.yunhai.userbase.service.impl.UserCenterService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
||||
Reference in New Issue
Block a user