package cc.mrbird.febs.server.hr.controller;
|
|
import cc.mrbird.febs.common.core.entity.system.Dept;
|
import cc.mrbird.febs.server.hr.entity.Folder;
|
import cc.mrbird.febs.server.hr.service.IFolderService;
|
import cc.mrbird.febs.common.core.entity.FebsResponse;
|
import cc.mrbird.febs.common.core.entity.QueryRequest;
|
import cc.mrbird.febs.common.core.exception.FebsException;
|
import cc.mrbird.febs.common.core.utils.FebsUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.Valid;
|
import java.util.Map;
|
|
/**
|
* 文件夹 Controller
|
*
|
* @author yz
|
* @date 2021-02-05 22:51:02
|
*/
|
@Slf4j
|
@Validated
|
@RestController
|
@RequestMapping("folder")
|
@RequiredArgsConstructor
|
public class FolderController {
|
|
private final IFolderService folderService;
|
|
@GetMapping
|
@PreAuthorize("hasAuthority('folder:list')")
|
public FebsResponse getAllFolders(Folder folder) {
|
return new FebsResponse().data(folderService.findFolders(folder));
|
}
|
@GetMapping("treeList")
|
public FebsResponse folderTreeList(QueryRequest request, Folder folder) {
|
Map<String, Object> depts = this.folderService.folderTreeList(request, folder);
|
return new FebsResponse().data(depts);
|
}
|
@GetMapping("list")
|
@PreAuthorize("hasAuthority('folder:list')")
|
public FebsResponse folderList(QueryRequest request, Folder folder) {
|
Map<String, Object> dataTable = FebsUtil.getDataTable(this.folderService.findFolders(request, folder));
|
return new FebsResponse().data(dataTable);
|
}
|
|
@PostMapping
|
@PreAuthorize("hasAuthority('folder:add')")
|
public void addFolder(@Valid Folder folder) throws FebsException {
|
try {
|
this.folderService.createFolder(folder);
|
} catch (Exception e) {
|
String message = "新增Folder失败";
|
log.error(message, e);
|
throw new FebsException(message);
|
}
|
}
|
|
@DeleteMapping
|
@PreAuthorize("hasAuthority('folder:delete')")
|
public void deleteFolder(Folder folder) throws FebsException {
|
try {
|
this.folderService.deleteFolder(folder);
|
} catch (Exception e) {
|
String message = "删除Folder失败";
|
log.error(message, e);
|
throw new FebsException(message);
|
}
|
}
|
|
@PutMapping
|
@PreAuthorize("hasAuthority('folder:update')")
|
public void updateFolder(Folder folder) throws FebsException {
|
try {
|
this.folderService.updateFolder(folder);
|
} catch (Exception e) {
|
String message = "修改Folder失败";
|
log.error(message, e);
|
throw new FebsException(message);
|
}
|
}
|
}
|