package cc.mrbird.febs.server.hr.controller;
|
|
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 cc.mrbird.febs.server.hr.entity.FilesUpload;
|
import cc.mrbird.febs.server.hr.service.IFilesUploadService;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotNull;
|
import java.util.Map;
|
|
/**
|
* 文件上传 Controller
|
*
|
* @author yz
|
* @date 2021-02-05 22:51:00
|
*/
|
@Slf4j
|
@Validated
|
@RestController
|
@RequestMapping("filesUpload")
|
@RequiredArgsConstructor
|
public class FilesUploadController {
|
|
private final IFilesUploadService filesUploadService;
|
|
@GetMapping
|
@PreAuthorize("hasAuthority('filesUpload:list')")
|
public FebsResponse getAllFilesUploads(FilesUpload filesUpload) {
|
return new FebsResponse().data(filesUploadService.findFilesUploads(filesUpload));
|
}
|
|
@GetMapping("list")
|
@PreAuthorize("hasAuthority('filesUpload:list')")
|
public FebsResponse filesUploadList(QueryRequest request, FilesUpload filesUpload) {
|
Map<String, Object> dataTable = FebsUtil.getDataTable(this.filesUploadService.findFilesUploads(request, filesUpload));
|
return new FebsResponse().data(dataTable);
|
}
|
|
@PostMapping
|
public void addFilesUpload(@NotNull(message = "{required}") Long folderid, MultipartFile file) throws FebsException {
|
try {
|
this.filesUploadService.createFilesUpload(folderid, file);
|
} catch (Exception e) {
|
String message = "上传文件失败";
|
log.error(message, e);
|
throw new FebsException(message);
|
}
|
}
|
|
@PostMapping("/download")
|
@PreAuthorize("hasAuthority('filesUpload:download')")
|
public void download(@NotBlank(message = "{required}") String fileids,HttpServletRequest request, HttpServletResponse response) throws FebsException {
|
try {
|
this.filesUploadService.download(fileids,request,response);
|
} catch (Exception e) {
|
String message = "下载文件失败";
|
log.error(message, e);
|
throw new FebsException(message);
|
}
|
}
|
|
|
@DeleteMapping
|
@PreAuthorize("hasAuthority('filesUpload:delete')")
|
public void deleteFilesUpload(@NotBlank(message = "{required}") String fileids) throws FebsException {
|
try {
|
this.filesUploadService.deleteFilesUpload(fileids);
|
} catch (Exception e) {
|
String message = "删除FilesUpload失败";
|
log.error(message, e);
|
throw new FebsException(message);
|
}
|
}
|
|
@PutMapping
|
@PreAuthorize("hasAuthority('filesUpload:update')")
|
public void updateFilesUpload(FilesUpload filesUpload) throws FebsException {
|
try {
|
this.filesUploadService.updateFilesUpload(filesUpload);
|
} catch (Exception e) {
|
String message = "修改FilesUpload失败";
|
log.error(message, e);
|
throw new FebsException(e.getMessage());
|
}
|
}
|
|
@PostMapping("/mvFiles")
|
@PreAuthorize("hasAuthority('filesUpload:mv')")
|
public void mvFiles(@NotBlank(message = "{required}") String fileids,@NotNull(message = "{required}") Long folderid) throws FebsException {
|
try {
|
this.filesUploadService.mvFiles(fileids,folderid);
|
} catch (Exception e) {
|
String message = "移动文件失败";
|
log.error(message, e);
|
throw new FebsException(message);
|
}
|
}
|
|
@GetMapping("image/{filesid}")
|
public void getImage(@PathVariable String filesid, HttpServletResponse response) throws FebsException {
|
try {
|
this.filesUploadService.getImage(filesid,response);
|
} catch (Exception e) {
|
String message = "获取员工图片异常";
|
log.error(message, e);
|
throw new FebsException(message);
|
}
|
}
|
}
|