package cc.mrbird.febs.server.hr.controller; 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("list") @PreAuthorize("hasAuthority('folder:list')") public FebsResponse folderList(QueryRequest request, Folder folder) { Map 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); } } }